Book Review: Agile Software Development
This was a chewy one. I just finished
I’ve been involved in companies that develop software for 20 years and have seen numerous different approaches with a wide range of success (and failure). Last year, I invested in a company called Rally Software Development Corp.. Rally recently released their first product – Agile Solution for Software Development Management – which is the first on-demand software development management solution designed to speed delivery of customer value using iterative development processes. Rally’s products are aimed at organizations using Agile development methodologies. As a result, I decided to read a few books about Agile software development to get a deeper theoretical grounding in this area.
Cockburn’s book is a good first book for an experienced software developer or software executive who wants to learn more about Agile software development. It’s written for a more experienced audience and is a broad treatment of Agile as an approach to software development. It is not a cookbook with specific features to follow – rather it is aimed at having the reader gain an understanding of Agile concepts and the develop ideas about how to apply the concepts to real world situations.
If you aren’t familiar with the Agile software development approach, it emerged from a meeting of 17 advocates of lightweight development processes that got together in Utah in early 2001 and formed the Agile Alliance. The participants represented a number of different software development methodologies (all now classified as “Agile development approaches”) including Adaptive Software Development, XP, Scrum, Crystal, Feature-Driven development, Dynamic System Development Method, and Pragmatic Programming. This group of highly experienced, extremely opinioned, and outspoken folks agreed on and issued The Agile Software Development Manifesto, which follows:
“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.”
While this book isn’t an easy read, it’s a valuable one for anyone that is involved in the creation of software.