| Are you interested in using an Agile method for developing software? Or are others lobbying you to approve the use of one? Or is your interest more casual; perhaps you are merely wondering if an Agile method is worth considering? Whichever is the case, this book is for you.
I come from the “disciplined process” world. After 13 years at the Software Engineering Institute (SEI) and a few years running ASK Process, Inc., I received a query from a prospect who asked about Extreme Programming (XP). To answer that query, I began researching XP, and that turned into research into the Agile methods in general. So began my foray into the Agile world.
The more research I did, the more I became intrigued with the Agile methods. Far from being a license to hack (as I, like many of my “disciplined process” colleagues believed), these methods have some interesting practices that make a whole lot of sense to me. There are ways in which they are not so very different from the disciplined methods I have come to respect so much, like the Capability Maturity Model (CMM)® and the Team Software ProcessSM (TSP)SM. But there are other ways in which they are dramatically different — different in ways that solve problems that are so common in software organizations. I told myself, “There is a lot that we can learn from the Agile methods!”
The Agile and the disciplined process communities have not gotten along well. You are likely to hear process-philes disparaging the Agile methods. At the same time, you are likely to hear the Agilists crying about the terrors of disciplined process. The truth, of course, is somewhere between those two extremes. Disciplined processes are good and necessary, as long as they do what processes should do: support the work of professionals and make them more effective. And agility — the ability to move quickly and adapt to changing realities while maintaining one’s balance — is also critical, as long as it remains focused on meeting the customer’s needs in a way that also meets the needs of the development organization. |