Software development rhythms: harmonizing agile practices for synergy - Lui, Kim Man; Chan, Keith C. C (Wiley, 2008)
An accessible, innovative perspective on using the flexibility of agile practices to increase software quality and profitability When agile approaches in your organization don't work as expected or you feel caught in the choice between agility and discipline, it is time to stop and think about software development rhythms! Agile software development is a popular development process that continues to reshape philosophies on the connections between disciplined processes and agile practices. In Software Development Rhythms, authors Lui and Chan explain how adopting one practice and combining it with another builds upon the flexibility of agile practices to create a type of "synergy" defined as software development rhythms. The authors demonstrate how these rhythms can be harmonized to achieve synergies, making them stronger together than they would be apart. Software Development Rhythms provides programmers with a powerful metaphor for resolving some classic software management controversies and dealing with some common difficulties in agile software management. Software Development Rhythms is divided into two parts and covers: Essentials — provides an introduction to software development rhythms; explores the programmer's unconscious mind at work on software methodology; discusses the characteristics of the iterative cycle and open source software development; and introduces the topic of agile values and agile practices Rhythms — compares plagiarism programming with cut-paste programming; provides an in-depth discussion of different ways to approach collaborative programming; demonstrates how to combine and harmonize these practices so they can be applied to common software management problems such as motivating programmers, discovering solution patterns, managing software teams, and rescuing troubled IT projects; and takes a comprehensive look at Scrum, CMMI, Just-In-Time, Lean Software Development, and Test-Driven Development from a software development rhythm perspective Abundantly illustrated with informative graphics and amusing cartoons, Software Development Rhythms is a comprehensive and thought-provoking introduction to some of the most advanced concepts in current software management. Written in a refreshingly easy-to-read style and filled with interesting anecdotes, simulation exercises, and case studies, Software Development Rhythms is suitable for the practitioner and graduate student alike. It offers readers practical guidance on how to take the themes and concepts presented in this book back to their own projects to harmonize their software practices and release the synergies of their own teams.