Reading List: Agility and Discipline Made Easy
The Addison-Wesley Object Technology Series
by Per Kroll and Bruce MacIsaac (May 2006)
Agility and Discipline Made Easy is mainly a book about OpenUP/Basic (and RUP). OpenUP/Basic, a subset of OpenUP, is an agile and iterative process focusing on the needs of small collocated teams. OpenUP is supported and delivered by the open source Eclipse Process Framework (EPF).
The book is influenced by many of the well known agile methodologies like XP, Scrum, Agile Modeling, Crystal, etc., which doesn't differentiate it much from other books in the methodology field. However, and I would like to make you aware from the beginning, there are a couple of things that make this book one of the most impressive agile development process books I have ever read. Now, that I have your attention, let's go a bit into detail.
The book introduces 20 practices from the OpenRUP/RUP methodology meant to improve the way software development is done by your team or in your company. These are grouped in 6 main sections, according to the software development driving principles:
- Adapt the process
- Balance stakeholder priorities
- Collaborate across team
- Demostrate value iteratively
- Elevate the level of abstraction
- Focus continuously on quality.
These six principles characterize the software development industry's best practices in the creation, deployment, and evolution of software-intensive systems.The first thing that caught my attention was the format in which the practices are introduced. Each chapter has the following sections:
- Problem: the problem the practice tries to solve
- Background: background information about the problem
- Application: the how to
- Comparison with other practices: how the same problem is addressed by other agile development processes
- Adoption: how to adopt the practice
- Related best practices: additional supporting practices.
Another very appealing argument for reading Agility and Discipline Made Easy is that for each role in your IT shop there is a different reading path. Each person involved in the software development, being it a project manager, architect, analyst, developer or tester, will be able to find useful and effective information.
I will end by presenting the titles of the 20 practices covered in this book by Per Kroll and Bruce MacIsaac:
- Manage Risk
- Execute Your Project in Iterations
- Embrance and Manage Change
- Measure Progress Objectively
- Test Your Own Code
- Leverage Test Automation Appropriatevely
- Everyone Owns the Product!
- Understand the Domain
- Describe Requirements from the User Perspective
- Prioritize Requirements for Implementation
- Leverage Legacy Systems
- Build High-Performance Teams
- Organize Around the Architecture
- Manage Versions
- Leverage Patterns
- Architect with Components and Services
- Actively Promote Reuse
- Model Key Perspective
- Rightsize Your Process
- Continuously Reevaluate What You Do