0%

Book Description

Agile has become today’s dominant software development paradigm, but Agile methods remain difficult to measure and improve. Essential Skills for the Agile Developer fills this gap from the bottom up, teaching proven techniques for assessing and optimizing both individual and team Agile practices.

Written by four principals of Net Objectives–one of the world’s leading Agile training and consulting firms–this book reflects unsurpassed experience helping organizations transition to Agile. It focuses on the specific actions and insights that can deliver the greatest design and programming improvements with the least investment.

The authors reveal key factors associated with successful Agile projects and offer practical ways to measure them. Through actual examples, they address principles, attitudes, habits, technical practices, and design considerations–and above all, show how to bring all these together to deliver higher-value software. Using the authors’ techniques, managers and teams can optimize the whole: the whole organization and the whole product across its entire lifecycle.

Essential Skills for the Agile Developer shows how to

  • Program by intention

  • Separate use from construction

  • Consider testability before writing code

  • Avoid over- and under-design

  • Succeed with Acceptance Test Driven Development (ATDD)

  • Minimize complexity and rework

  • Use encapsulation more effectively and systematically

  • Know when and how to use inheritance

  • Prepare for change more successfully

  • Perform continuous integration more successfully

  • Master powerful best practices for design and refactoring

Table of Contents

  1. Title Page
  2. Copyright Page
  3. Contents
  4. Praise for Essential Skills for the Agile Developer
  5. Series Foreword The Net Objectives Lean-Agile Series
  6. Preface
  7. Acknowledgments
  8. About the Authors
  9. Part I. The Core Trim Tabs
    1. Chapter 1. Programming by Intention
    2. Chapter 2. Separate Use from Construction
    3. Chapter 3. Define Tests Up Front
    4. Chapter 4. Shalloway’s Law and Shalloway’s Principle
    5. Chapter 5. Encapsulate That!
    6. Chapter 6. Interface-Oriented Design
    7. Chapter 7. Acceptance Test–Driven Development (ATDD)
  10. Part II. General Attitudes
    1. Chapter 8. Avoid Over- and Under-Design
    2. Chapter 9. Continuous Integration
  11. Part III. Design Issues
    1. Chapter 10. Commonality and Variability Analysis
    2. Chapter 11. Refactor to the Open-Closed
    3. Chapter 12. Needs versus Capabilities Interfaces
    4. Chapter 13. When and How to Use Inheritance
  12. Part IV. Appendixes
    1. Appendix A. Overview of the Unified Modeling Language (UML)
    2. Appendix B. Code Qualities
    3. Appendix C. Encapsulating Primitives
  13. Index
  14. Footnotes
    1. Chapter 1
    2. Chapter 2
    3. Chapter 3
    4. Chapter 4
    5. Chapter 5
    6. Chapter 6
    7. Chapter 7
    8. Chapter 8
    9. Chapter 10
    10. Chapter 11
    11. Chapter 12
    12. Chapter 13
    13. Appendix A
    14. Appendix C
3.22.242.141