InfoQ Presentation: DSDM and Lean Explained
DSDM: Dynamic Systems Development MethodWe sometimes forget that Agile is neither brand new nor sketchily conceived. DSDM is arguably the oldest formal Agile methodology. The DSDM Consortium was founded in January 1994, and in 2001 Arie van Bennekum represented the methodology at Snowbird and signed the Agile Manifesto. Now, DSDM is the only formal Agile methodology recognized for use by UK government contractors, and the DSDM Consortium's certifications are recognized world-wide. Jean Tabaka was so impressed by what she learned fin the 1990's rom the DSDM Consortium that she has made Agile software development the focus of her career: she is now an Agile Coach with Rally Software in Boulder, Colorado.
DSDM is driven by nine principles:
- Active user involvement is imperative.
- The team must be empowered to make decisions.
- The focus is on frequent delivery of products.
- Fitness for business purpose is the essential criterion for acceptance of deliverables.
- Iterative and incremental development is necessary to converge on an accurate business solution.
- All changes during development are reversible.
- Requirements are baselined at a high level.
- Testing is integrated throughout the life cycle.
- Collaboration and co-operation between stakeholders is essential.
Lean Software DevelopmentMary Poppendieck spoke on Lean Software Development, which she and husband Tom developed following Mary's participation in creating JIT (Just In Time) Manufacturing at 3M 1980s, using ideas adapted from the Toyota Production System.
In her presentation, Poppendieck elaborated on the "7 Principles of Lean Software Development":
The Lean approach is implemented by identifying and then removing all operations that don't add value - simple to say, harder to do. One aspect that makes this feel strange is that value is only considered from the customer's point of view, what Poppendieck called "putting on Customer glasses". Examples of waste are: reams of paperwork, to-do lists, red tape, anything that confuses customers, or anything delivered which doesn't work . She explained how removing or resolving these one after the other, over time, leads toward the lucrative combination of speedy delivery, high-quality and low development cost that distinguish market leadering companies.
- Eliminate Waste
- Build Quality In
- Create Knowledge
- Defer Commitment
- Deliver Fast
- Respect People
- Optimize the Whole
Poppendieck also briefly talked about the wholistic key measures that drive Lean development: cycle time, accomplishment of the business case and customer satisfaction. She pointed out that these are more reliable than the common metrics of cost, schedule and scope, which may lead to sub-optimization (improvements to one part of the process which do not provide the expected benefits because other parts of the process do not support it).
From queuing theory, Poppendieck listed a few key tactics that can bring "leanness" to any process:
- Even out the Arrival of Work
- Minimize the Number of Things In Process
- Minimize the Size of Things In Process
- Establish a Regular Cadence
- Limit Work to Capacity
- Use Pull Scheduling