More New and Used
from Private Sellers
The Thoughtworks Anthology: Essays on Software Technology and Innovation
by Singham, RoyISBN13:
9781934356142
ISBN10:
193435614X
Format:
Paperback
Pub. Date:
3/1/2008
Publisher(s):
Oreilly & Associates Inc
List Price: $38.95
Rent Book
We're Sorry
Sold Out
Used Book
We're Sorry
Sold Out
eBook
We're Sorry
Not Available
New Book
We're Sorry
Sold Out
Summary
ThoughtWorks is a well-known global consulting firm; ThoughtWorkers are leaders in areas of design, architecture, SOA, testing, and agile methodologies. This collection of essays brings together contributions from well-known ThoughtWorkers such as Martin Fowler, along with other authors you may not know yet. While ThoughtWorks is perhaps best known for their work in the Agile community, this anthology confronts issues throughout the software development life cycle. From technology issues that transcend methodology, to issues of realizing business value from applications, you'll find it here.
Table of Contents
| Introduction | p. 1 |
| Solving the Business Software "Last Mile" | p. 5 |
| The Source of the "Last Mile" Problem | p. 5 |
| Understanding the Problem | p. 6 |
| Solving the "Last Mile" Problem | p. 8 |
| People | p. 8 |
| Automation | p. 9 |
| Design for Automated Testing of Nonfunctional Requirements | p. 10 |
| Decouple Design from Production Environment | p. 12 |
| Versionless Software | p. 13 |
| One Lair and Twenty Ruby DSLs | p. 15 |
| My Lair Example | p. 15 |
| Using Global Functions | p. 18 |
| Using Objects | p. 21 |
| Using Closures | p. 27 |
| Evaluation Context | p. 28 |
| Literal Collections | p. 31 |
| Dynamic Reception | p. 36 |
| Final Thoughts | p. 38 |
| The Lush Landscape of Languages | p. 39 |
| Introduction | p. 39 |
| The Specimens | p. 39 |
| The Variety of Varieties | p. 43 |
| The Tree of Life for Languages | p. 47 |
| That's All Very Interesting, But Why Should You Care? | p. 49 |
| Polyglot Programming | p. 51 |
| Polyglot Programming | p. 52 |
| Reading Files the Groovy Way | p. 52 |
| JRuby and isBlank | p. 54 |
| Jaskell and Functional Programming | p. 55 |
| Testing Java | p. 58 |
| Polyglot Programming the Future | p. 60 |
| Object Calisthenics | p. 61 |
| Nine Steps to Better Software Design Today | p. 61 |
| The Exercise | p. 62 |
| Conclusion | p. 70 |
| What Is an Iteration Manager Anyway? | p. 73 |
| What Is an Iteration Manager? | p. 73 |
| What Makes a Good Iteration Manager? | p. 74 |
| What an Iteration Manager Is Not | p. 75 |
| The Iteration Manager and the Team | p. 76 |
| The Iteration Manager and the Customer | p. 77 |
| The Iteration Manager and the Iteration | p. 78 |
| The Iteration Manager and the Project | p. 79 |
| Conclusion | p. 80 |
| Project Vital Signs | p. 81 |
| Project Vital Signs | p. 81 |
| Project Vital Signs vs. Project Health | p. 82 |
| Project Vital Signs vs. Information Radiator | p. 82 |
| Project Vital Sign: Scope Burn-Up | p. 83 |
| Project Vital Sign: Delivery Quality | p. 86 |
| Project Vital Sign: Budget Burn-Down | p. 87 |
| Project Vital Sign: Current State of Implementation | p. 89 |
| Project Vital Sign: Team Perceptions | p. 92 |
| Consumer-Driven Contracts: A Service Evolution Pattern | p. 93 |
| Evolving a Service: An Example | p. 95 |
| Schema Versioning | p. 96 |
| Breaking Changes | p. 101 |
| Consumer-Driven Contracts | p. 103 |
| Domain Annotations | p. 113 |
| Domain-Driven Design Meets Annotations | p. 113 |
| Case Study: Leroy's Lorries | p. 118 |
| Summary | p. 132 |
| Refactoring Ant Build Files | p. 135 |
| Introduction | p. 135 |
| Ant Refactoring Catalog | p. 137 |
| Summary | p. 164 |
| References | p. 164 |
| Resources | p. 164 |
| Single-Click Software Release | p. 165 |
| Continuous Build | p. 165 |
| Beyond Continuous Build | p. 166 |
| Full Lifecycle Continuous Integration | p. 167 |
| The Check-in Gate | p. 168 |
| The Acceptance Test Gate | p. 170 |
| Preparing to Deploy | p. 170 |
| Subsequent Test Stages | p. 173 |
| Automating the Process | p. 174 |
| Conclusion | p. 174 |
| Agile vs. Waterfall Testing for Enterprise Web Apps | p. 177 |
| Introduction | p. 177 |
| Testing Life Cycle | p. 178 |
| Types of Testing | p. 181 |
| Environments | p. 187 |
| Issue Management | p. 190 |
| Tools | p. 191 |
| Reports and Metrics | p. 192 |
| Testing Roles | p. 193 |
| References | p. 195 |
| Pragmatic Performance Testing | p. 197 |
| What Is Performance Testing? | p. 197 |
| Requirements Gathering | p. 198 |
| Running the Tests | p. 203 |
| Communication | p. 209 |
| Process | p. 211 |
| Summary | p. 213 |
| Bibliography | p. 215 |
| Index | p. 217 |
| Table of Contents provided by Ingram. All Rights Reserved. |
CART






