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 their 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 economical 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 organization and the whole product across its entire lifecycle.
Essential Skills for the Agile Developer shows how to
Perform programming 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