This is not a philosophical, theoretical or motivational book, but a practical one. Its purpose
is to enable readers — software developers, managers involved in IT, and educators
— to benefit from the good ideas in agile methods and stay away from the bad ones.
Agile methods are undeniably one of the important recent developments in software
engineering. They are also an amazing mix of the best and the worst. This is an extraordinary
situation: usually, when a new set of concepts bursts forth, one can quickly assess
its overall contribution as beneficial, neutral or detrimental. Agile texts, however, defy
such a simple judgment: you may find in one paragraph a brilliant insight, in the next
paragraph a harmless platitude, and in the one after some freakish advice guaranteed to
damage your software process and products.
No wonder then that practitioners have massively disregarded injunctions to use this
or that agile method — such as Scrum, Extreme Programming, Lean Software and Crystal,
the most prominent ones today — in its entirety. Industry knows better, and every
agile team in the field makes up its own cocktail of agile practices, rejecting the ones that
do not fit. Until now, however, each organization and project has had to repeat for itself
the process of sorting out the gems from the gravel. What a waste of effort. This book
spares you the trouble by presenting a comprehensive description and assessment of the
key agile ideas.
Preface
This is not a philosophical, theoretical or motivational book, but a practical one. Its purpose is to enable readers — software developers, managers involved in IT, and educators — to benefit from the good ideas in agile methods and stay away from the bad ones. Agile methods are undeniably one of the important recent developments in software engineering. They are also an amazing mix of the best and the worst. This is an extraordinary situation: usually, when a new set of concepts bursts forth, one can quickly assess its overall contribution as beneficial, neutral or detrimental. Agile texts, however, defy such a simple judgment: you may find in one paragraph a brilliant insight, in the next paragraph a harmless platitude, and in the one after some freakish advice guaranteed to damage your software process and products. No wonder then that practitioners have massively disregarded injunctions to use this or that agile method — such as Scrum, Extreme Programming, Lean Software and Crystal, the most prominent ones today — in its entirety. Industry knows better, and every agile team in the field makes up its own cocktail of agile practices, rejecting the ones that do not fit. Until now, however, each organization and project has had to repeat for itself the process of sorting out the gems from the gravel. What a waste of effort. This book spares you the trouble by presenting a comprehensive description and assessment of the key agile ideas.