Get Free Tech Books!
Join the DZone Review Team to share your opinion and expertise through published book reviews and Refcardz review discussions. You'll get free tech books and early access to Refcardz.
|This book provides solutions for activities that are needed to deliver software and satisfy the needs of all involved stakeholders, in a disciplined and agile way.|
This book describes a process framework called Disciplined Agile Delivery (DAD), which can be used to define the processes that are needed in your enterprise. It recognizes that agile methods, like Scrum and XP, do not cover all activities that are needed in an enterprise to deliver solution; their focus is mainly on the development activities. Additional activities are needed for agile to have a full and effective delivery lifecycle.
Disciplined Agile Delivery is a hybrid approach, which includes practices from several agile methods. If you are familiar with RUP or the Unified Process, then you will also recognize a lot of the practices provided in the book. The phases Inception, Construction and Transition are described including agile practices that can be used in these phases.
The terminology is mostly from existing agile methodologies like Scrum, XP, OpenUP, Agile Modeling (AM) and Lean Software Development, but some terms are specifically defined for DAD. In such cases the book clearly states the terms, and why a specific term is needed. The framework described in the book is extensive, and can be overwhelming to some readers; nevertheless the practices described are valuable and indeed necessary in many organizations.
Alternative practices are described, including criteria that help you to decide which alternative to apply in a given situation. I would have liked to see more information in the book about the “why” of the practices that are provided. Understanding why a practice works, which gives a deeper insight into the practices and the principles that it is based upon, helps to motivate professionals to try a practice and to self-organize their processes and adopt them to their needs. The authors have provided links to additional information on practices at the end of each chapter. If you need a deeper understanding of a practice, my suggestion is to use these links!
Much emphasis is given to people aspects of agile development. For instance, by looking at what discipline is, and what means to be disciplined by discussing the rights and responsibilities of professionals doing software development. There’s information in the book on how to build effective teams, which digs into collaboration skills and the conditions needed for professionals to work together like the work environment, tools and organizational arrangements.
Common problems with Agile teams are described, with solutions to address them. And finally, different kinds of teams are explored next to development teams, like teams of testers, technical writers, architects and Project Management Offices. These different kinds of teams need different techniques to be effective, and to work closely together with development teams and other teams in an organization.
The authors claim that “Agile teams are significantly easier to govern than traditional teams” and “Traditional approaches to governance are guaranteed to harm agile teams”, and from what I’ve seen in organizations I fully agree with that. Agile teams can be governed by motivating and enabling them to do their work professionally, and measure and steer the results that they deliver. Many mechanisms that are needed for governance, like roles, responsibilities, risk management, decision taking, process management, continuous improvement and status reporting are part of Agile methods. So there are actually very few additional governance mechanisms needed. Agile methods have shown to be compatible with models like the CMMI, and can assure compliancy to quality standards like ISO 9001:2008 and IEC 62304.
This book provides practices to deliver software solutions, thereby extending Agile methods with supporting activities that are needed in large software development organizations. It goes into the full development chain from inception to transition, providing alternative process solutions that focus upon people and organizational needs.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)