Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Reading List: Agility and Discipline Made Easy

Reading List: Agility and Discipline Made Easy

It's always interesting to check out what's at the top of your colleagues' reading pile... This week, we check out the recent reading of InfoQ's architect and co-founder, Alexander Popescu.  Alex thought enough of this book to let his fellow readers know about it. -- Deborah.

Agility and Discipline Made Easy: Practices from OpenUP and RUP
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.
According to the authors:
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.
I found this approach very effective and it also reminded me of the way the Gang Of Four formulated the well known book Design Patterns. Each of the presented practices can be used independently from the others and, even better, there is not an imposed way to adopt and use it. In each chapter's Adoption section, the authors present three different levels: basic, intermediate and advanced. By looking at the following diagram, provided in the book, you can decide where your development process should be in terms of low/high ceremony process and waterfall/iterative approach, and so you can decide what adoption level you are interested in.
Process Map
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:
  1. Manage Risk
  2. Execute Your Project in Iterations
  3. Embrance and Manage Change
  4. Measure Progress Objectively
  5. Test Your Own Code
  6. Leverage Test Automation Appropriatevely
  7. Everyone Owns the Product!
  8. Understand the Domain
  9. Describe Requirements from the User Perspective
  10. Prioritize Requirements for Implementation
  11. Leverage Legacy Systems
  12. Build High-Performance Teams
  13. Organize Around the Architecture
  14. Manage Versions
  15. Leverage Patterns
  16. Architect with Components and Services
  17. Actively Promote Reuse
  18. Model Key Perspective
  19. Rightsize Your Process
  20. Continuously Reevaluate What You Do
I strongly recommending that everyone read this, it's a must-have book.

Rate this Article