|  |  | Copyright | 
|  |  | Praise for Kevin Tate's Sustainable Software Development | 
|  |  | The Agile Software Development Series | 
|  |  | Acknowledgments | 
|  |  | About the Author | 
|  |  | Foreword | 
|  |  | Introduction | 
|  |  |  | Where This Book Fits | 
|  |  | Chapter 1.             Sustainable Software Development | 
|  |  |  | Sustainable Development | 
|  |  |  | Chemical Manufacturing and Sustainable Development | 
|  |  |  | Continual Improvement: The Accelerator Button | 
|  |  |  | Summary | 
|  |  | Chapter 2.             Unsustainable Software Development and its Causes | 
|  |  |  | Technical Debt and the Flywheel | 
|  |  |  | The Perils of Jumping in Place | 
|  |  |  | The Causes of Unsustainable Development | 
|  |  |  | Summary | 
|  |  | Chapter 3.             The Principles of Sustainable Software Development | 
|  |  |  | Why Principles Are More Important Than Practices | 
|  |  |  | Applying the Principles of Sustainable Development | 
|  |  |  | Culture, by Descriptive Words and Phrases | 
|  |  |  | Summary | 
|  |  | Chapter 4.             Working Product | 
|  |  |  | Practice 1.          No "Broken Windows" | 
|  |  |  | Practice 2.          Be Uncompromising about Defects | 
|  |  |  | Practice 3.          "Barely Sufficient" Documentation | 
|  |  |  | Practice 4.          Continuous Integration | 
|  |  |  | Practice 5.          Nightly Builds | 
|  |  |  | Practice 6.          Prototyping | 
|  |  |  | Practice 7.          Don't Neglect Performance | 
|  |  |  | Practice 8.          Zero Tolerance for Memory and Resource Leaks | 
|  |  |  | Practice 9.          Coding Standards and Guidelines | 
|  |  |  | Practice 10.          Adopt Standards (Concentrate on Your Value-Add) | 
|  |  |  | Practice 11.          Internationalize from Day One | 
|  |  |  | Practice 12.          Isolate Platform Dependencies | 
|  |  |  | Summary | 
|  |  | Chapter 5.             Defect Prevention | 
|  |  |  | The Role of Quality Assurance | 
|  |  |  | Practice 1.          Ruthless Testing | 
|  |  |  | Practice 2.          Use Available Tools | 
|  |  |  | Practice 3.          Pair Programming and Code Reviews | 
|  |  |  | Practice 4.          Lightweight Root-Cause Analysis | 
|  |  |  | Summary | 
|  |  | Chapter 6.             Emphasis on Design | 
|  |  |  | Practice 1.          Design Vision | 
|  |  |  | Practice 2.          Guiding Principles | 
|  |  |  | Practice 3.          Simple Design | 
|  |  |  | Practice 4.          Refactoring | 
|  |  |  | Practice 5.          Design Patterns | 
|  |  |  | Practice 6.          Frequent Rapid Design Meetings | 
|  |  |  | Practice 7.          Commitment to Rearchitecture | 
|  |  |  | Practice 8.          Design for Reuse | 
|  |  |  | Summary | 
|  |  | Chapter 7.             Continual Refinement | 
|  |  |  | Practice 1.          Iterative Development | 
|  |  |  | Practice 2.          Release Planning | 
|  |  |  | Practice 3.          Daily Standup Meetings | 
|  |  |  | Practice 4.          Retrospectives | 
|  |  |  | Practice 5.          Coaching and Team Development | 
|  |  |  | Practice 6.          Make Key Metrics Visible | 
|  |  |  | Summary | 
|  |  | Chapter 8.             Culture Change and Sustainable Development | 
|  |  |  | Making Change Happen | 
|  |  |  | Change Factors and Enablers | 
|  |  |  | Start with What You Can Control and Influence | 
|  |  |  | Avoid Transition Plans | 
|  |  |  | Turning Unsustainable into Sustainable Development | 
|  |  |  | Sustainable Development for New Projects | 
|  |  |  | Some Other Ideas | 
|  |  |  | Change Examples | 
|  |  |  | Summary | 
|  |  | Appendix 1.             Practice Summary | 
|  |  | Appendix 2.             Extreme Programming and Sustainable Software Development | 
|  |  |  | The Four Values of XP | 
|  |  |  | XP's Twelve Practices | 
|  |  |  | The Strengths of XP | 
|  |  |  | The Weaknesses of XP | 
|  |  |  | Simple Design | 
|  |  |  | Common Misconceptions of Extreme Programming | 
|  |  |  | Other Agile Development Methods | 
|  |  |  | Summary | 
|  |  | Appendix 3.             Sustainable Software Development and the CMM | 
|  |  |  | The Capability Maturity Model (CMM) | 
|  |  |  | Agile Development and the CMM | 
|  |  |  | Summary | 
|  |  | Appendix 4.             Recommended Reading | 
|  |  |  | Chapters 1 and 2: Sustainable Software Development, Unsustainable Software Development | 
|  |  |  | Chapter 3: The Principles of Sustainable Development | 
|  |  |  | Chapter 4: Working Product | 
|  |  |  | Chapter 5: Defect Prevention | 
|  |  |  | Chapter 6: Emphasis on Design | 
|  |  |  | Chapter 7: Continual Refinement | 
|  |  |  | Chapter 8: Making Culture Change Happen | 
|  |  | Conclusion | 
|  |  | References | 
|  |  | Index |