| Introduction | | 1 | |
| Solving the Business Software ``Last Mile'' |
| | 5 | |
|
|
| The Source of the ``Last Mile'' Problem |
| | 5 | |
| Understanding the Problem |
| | 6 | |
| Solving the ``Last Mile'' Problem |
| | 8 | |
| | 8 | |
| | 9 | |
| Design for Automated Testing of Nonfunctional Requirements |
| | 10 | |
| Decouple Design from Production Environment |
| | 12 | |
| | 13 | |
| One Lair and Twenty Ruby DSLs |
| | 15 | |
|
| | 15 | |
| | 18 | |
| | 21 | |
| | 27 | |
| | 28 | |
| | 31 | |
| | 36 | |
| | 38 | |
| The Lush Landscape of Languages |
| | 39 | |
|
| | 39 | |
| | 39 | |
| | 43 | |
| The Tree of Life for Languages |
| | 47 | |
| That's All Very Interesting, But Why Should You Care? |
| | 49 | |
| | 51 | |
|
| | 52 | |
| Reading Files the Groovy Way |
| | 52 | |
| | 54 | |
| Jaskell and Functional Programming |
| | 55 | |
| | 58 | |
| Polyglot Programming the Future |
| | 60 | |
| | 61 | |
|
| Nine Steps to Better Software Design Today |
| | 61 | |
| | 62 | |
| | 70 | |
| What Is an Iteration Manager Anyway? |
| | 73 | |
|
| What Is an Iteration Manager? |
| | 73 | |
| What Makes a Good Iteration Manager? |
| | 74 | |
| What an Iteration Manager Is Not |
| | 75 | |
| The Iteration Manager and the Team |
| | 76 | |
| The Iteration Manager and the Customer |
| | 77 | |
| The Iteration Manager and the Iteration |
| | 78 | |
| The Iteration Manager and the Project |
| | 79 | |
| | 80 | |
| | 81 | |
|
| | 81 | |
| Project Vital Signs vs. Project Health |
| | 82 | |
| Project Vital Signs vs. Information Radiator |
| | 82 | |
| Project Vital Sign: Scope Burn-Up |
| | 83 | |
| Project Vital Sign: Delivery Quality |
| | 86 | |
| Project Vital Sign: Budget Burn-Down |
| | 87 | |
| Project Vital Sign: Current State of Implementation |
| | 89 | |
| Project Vital Sign: Team Perceptions |
| | 92 | |
| Consumer-Driven Contracts: A Service Evolution Pattern |
| | 93 | |
|
| Evolving a Service: An Example |
| | 95 | |
| | 96 | |
| | 101 | |
| Consumer-Driven Contracts |
| | 103 | |
| | 113 | |
|
| Domain-Driven Design Meets Annotations |
| | 113 | |
| Case Study: Leroy's Lorries |
| | 118 | |
| | 132 | |
| Refactoring Ant Build Files |
| | 135 | |
|
| | 135 | |
| | 137 | |
| | 164 | |
| | 164 | |
| | 164 | |
| Single-Click Software Release |
| | 165 | |
|
| | 165 | |
| | 166 | |
| Full Lifecycle Continuous Integration |
| | 167 | |
| | 168 | |
| | 170 | |
| | 170 | |
| | 173 | |
| | 174 | |
| | 174 | |
| Agile vs. Waterfall Testing for Enterprise Web Apps |
| | 177 | |
|
| | 177 | |
| | 178 | |
| | 181 | |
| | 187 | |
| | 190 | |
| | 191 | |
| | 192 | |
| | 193 | |
| | 195 | |
| Pragmatic Performance Testing |
| | 197 | |
|
| What Is Performance Testing? |
| | 197 | |
| | 198 | |
| | 203 | |
| | 209 | |
| | 211 | |
| | 213 | |
| Bibliography | | 215 | |
| Index | | 217 | |