In Agility and Discipline Made Easy, Rational Unified Process (RUP) and Open Unified Process (OpenUP) experts Per Kroll and Bruce MacIsaac share twenty well-defined best practices that you and your team can start adopting today to improve the agility, predictability, speed, and cost of software development.
Kroll and MacIsaac outline proven principles for software development, and supply a number of supporting practices for each. You'll learn what problems each practice addresses and how you can best leverage RUP and OpenUP (an open-source version of the Unified Process) to make the practice work for you. You'll find proactive, prescriptive guidance on how to adopt the practices with minimal risk and implement as much or as little of RUP or OpenUP as you want.
Learn how to apply sample practices from the Unified Process so you can
Execute your project in iterations
Embrace and manage change
Test your own code
Describe requirements from the user perspective
Architect with components and services
Model key perspectives
Whether you are interested in agile or disciplined development using RUP, OpenUP, or other agile processes, this book will help you reduce the anxiety and cost associated with software improvement by providing an easy, non-intrusive path toward improved results--without overwhelming you and your team.
Review By: D. André Dhondt 04/16/2007Agility and Discipline Made Easy is an authoritative and comprehensive review of the key principles and practices that must be part of any software development project. While this may, at first glance, look like more red tape than would be found in some agile projects, it isn't. The authors wisely map out the reasons why a project may need more or less ceremony and point out that even though waterfall is often the wrong choice for a lifecycle, there is a time and a season for all things (e.g., when we know all the project requirements and they aren't going to change). The authors help reconcile the different world views of Capability Maturity Model and lightweight agile methodologies by explaining what kinds of problems more ceremony can address, and when it’s appropriate to shed the extra steps and documentation.
The book is organized into several chapters that could be categorized as “why we need this book,” “key values, constraints, and problems in software development,” and “how to apply this knowledge.” The authors don't expect readers to read it cover to cover, which is realistic since it is such dense material. Yet, taken in small chunks, their suggestions are even-handed, well-considered, and useful. Each practice includes a section called “Levels of Adoption” that details how to incorporate the practice in low, medium, or strong doses.
Agile projects tend to rely on close customer interaction and high-bandwidth communication (i.e., face-to-face, the whole team sitting together), and their iterative nature allows the team to incorporate feedback from the customer to refine the product every iteration. However, when a project team has a lot of experience with the customer, the product, and a stable project vision, agile methods can be overkill. For projects that cannot easily be abstracted into a few teams of 4-8 developers, agile methods can be insufficient. For this reason (among others), the authors have provided this useful roadmap of how to apply varying degrees of ceremony and iterative development. It is for any plan-driven team considering less red tape or for any agile team suffering from growing pains or inadequate feedback from the customer.
When a project environment is not fertile ground for agile methods (etc., limited customer feedback, fixed requirements, etc.), Agility and Discipline Made Easy provides a useful roadmap of how to apply varying degrees of ceremony and iterative development. It is for any plan-driven team considering less red tape or for any agile team suffering from growing pains or inadequate feedback from the customer.