"Unanticipated bottlenecks appear"
"Eliminate the next bottleneck just before it derails you" - Kent Beck
The main incertitudes and risks are already addressed, but we still have unexpected problems & bottlenecks. One good choice to start could be Agile (Scrum-based or Scrum-XP style) life-cycle. We still have important requirement & solution risks so:
- Inception and Transition are not very small
- Solution spikes and Proven Architecture Milestone [DA-PAE] are highly recommended
How can we advance to a more streamlined process & life-cycle?
Lean principles could help us to adopt lean. One of these principles uses work standardization to reveal impediments and improve. We will "standardize" the work & the understanding at the iteration/sprint level using some well-known iteration level agile practices. The team members:
- will have the same view of the work
- will collaboratively solve the problems & improve
The impediments will be observed by more eyes and (better) solved by more (collaborative) people. If the team members will work in isolation from one of the others (poor collaboration) ~ each one will have a different process & different problems to solve. The improvement will be slow or non-existent.
Important: one of the main purposes of such iterative, Scrum-like development is not to repeat this process forever but to reveal & remove impediments and improve.
The same idea for revealing and removing impediments could be used with the Lean lifecycle. We should visualize the work (~ Kanban), get a common understanding of the workflow and use it as a base for improvement. Collaborative work and collaborative improvement are applied also in the lean case. We could consider a lean alternative in these cases:
- often delivery, smaller releases (e.g. less than one week), maintenance
- difficult look ahead, incertitude: we cannot prepare a buffer or work items for one or more iterations
- The first releases could be hybrids between Exploratory Lean Startup and Agile or Lean
- we still have to deal with some high incertitude aspects
- Continuous Delivery Agile, Continuous Delivery Lean - if we already have optimized the work, we need often delivery and we have a stable team
- Exploratory Lean Startup - for significant business/technology product changes (see Explore)
- Explore, Expand, Extract paper diagram ordered/received from Kent Beck
- [B-Beck] – Product development triathlon
- [DA-LC] - Full delivery lifecycles.
- [DA-PAE] Disciplined Agile - Prove architecture early