See also Process Alphabet
The development lifecycle always exists. We expect that software professionals to be aware of what kind of life-cycle it is used because it is the main ingredient of the used process approach. It is highly important to know
- If you are using Waterfall or Agile/Iterative/Lean.
- If a team can perform an advanced, performant Agile-Lean or just a Basic Agile
- If you select the right lifecycle for the complexity, incertitude & risks of the current context.
Expectation support from a method
- Life-cycle Types and a Reference life-cycle
- Often Delivery principle (small releases): specify, explain and offers guidance
- Iterative & Lean approaches
- High incertitude, exploratory cases
- Long-term roadmaps
- Full Release Life-cycle – covering Inception and Transition (to production): from one or more iterations to activities
Copyright © 2018 Valentin Tudor Mocanu
Life-cycles in Scrum
- Life-cycle Not specified.
- Scrum want to be generic and talk mostly about iterations. You are free to build the life-cycle, but only based on iterations (Sprints)
- Outside the Scrum Guide, its creators speak shortly about the beginning of a release: start with a Vision and consider architectural aspects
- Small Release principle is ignored
- Scrum consider that reducing WIP (Work-In-Progress) by using iteration it is enough. That breaks the Agile Manifesto principle to deliver in couple months/weeks or faster with a preference to the shorter timescale
- Support only iteration-based lifecycles
- Continuous Delivery and other Agile-Lean life-cycles types that deliver faster than in one week are not possible. Note: The Scrum prescriptive meetings ceremonial does not support by itself evolution to Continuous Delivery and needs at least one week (where one-week iteration is the attribute of a hyper-productive Scrum, according to Jeff Sutherland)
- Exploratory Startup life-cycle (new product)
- Not Addressed
- Incompatible with Scrum idea to ship something in no more than 30 days
- Long-Term Roadmaps
- The Product Backlog can be used as a roadmap but is too few guidance or none
- What is missing
- The Life-cycle subject at release level is almost out of scope
- Small release principle is ignored
- Scrum does not match with several Agile/Lean Lifecycles (as Continuous Delivery, Exploratory Startup)
Life-cycle types & content in XP
- Only Agile Basic life-cycle it is explicit
- XP has a kind of inception phase, described as Release Planning Game. That includes also the exploration of the technical risks via Solution Spikes. No sufficient guidance about the transition to production.
- Small Release it used and explained
- This principle was used first in XP and only later in Agile Manifesto
- The benefits of small releases are explained
- Some of the mandatory Core Agile Practices needed for small releases (increased agility) are explained (e.g. continuous integration, simple design, barely good enough release planning)
- Continuous Delivery support it is rather implicit
- Short release principle: “XP asks the customer to choose the smallest release that makes the most business sense”
- Short iterations: “If short iterations are good, we'll make the iterations really, really short—seconds and minutes and hours, not weeks and months and years (the Planning Game).
- Exploratory Startup life-cycle
- Described as “Exploration phase” in a product life-cycle. It is much optimistic than “Exploratory Lean Startup”, and that could be a problem for high incertitude cases. More specific, does not address enough the incertitude related to product requirements.
- Kent Beck recently address this problem with “Explore, Expand, Extract” concept
- Long-Term Roadmaps
- There is a short guidance about product life-cycle: from exploration, first release, maintenance etc.
- Short guidance about quarterly planning
- What is missing
- Explicit reference to Transition to the production stage
- Reference to other types of Agile/Lean Lifecycles (as)
- Explicit description for a Continuous Delivery life-cycle
- Support for addressing high incertitude in an Exploratory life-cycle
- Support for roadmaps (beyond Product Backlog)
Life-cycle types & content in Disciplined Agile
- Life-cycles are explicit
- Full delivery life-cycle from inception to transition to production is explicit. Development game must know its playground.
- Most common Agile and Lean Life-cycles are described
- One size does not fit all, especially for life-cycles. Several most common options are described such as Agile Basic, Advanced Lean, Continuous Delivery and Exploratory Lean Start-up.
- There is an explicit guidance about the context where each life-cycle option will bring more benefits
- Process guidance is based on life-cycle
- The process guidance is based on the natural flow of decisions during a release. It describes how you can select the most suitable practices in context per each process goal in specific moments in the life-cycle
- Small Release and reducing WIP it is an explicit improvement goal
- There is an explicit recommendation to switch to life-cycles with reduced WIP: smaller releases, smaller phases, smaller iterations. A performant team it is supposed to advance to Continuous Delivery and much leaner life-cycles
- Continuous Delivery support it is explicit
- Continuous Delivery it is an explicit life-cycle option and has guidance about needed practices and skills
- Exploratory Lean Startup life-cycle support it is explicit
- Exploratory Lean Startup it is the recommended option for cases with high incertitude as for the beginning of a new product. It is important because other types of life-cycle are rather not feasible in such a context.
- Long-Term Roadmaps
- There is a guidance for Rolling Wave Planning for Product Roadmap. Rolling wave is the right way to model a roadmap because the information is always incrementally available
- DA for IT have process guidance for using Business Roadmaps, Technology Roadmaps (also with the recommendation to use Rolling wave Approach)
- What is missing
- DAD is a framework with a very good improvement dynamic, much stronger than Scrum and XP (that is rather “frozen”), so I expect to see even more support soon
- I expect more guidance about how to model a process starting from Scrum & XP, complementing the missing part and checking compatibility with the context
How to … my custom process
Here some reccomendations for covering the life-cycle aspect if you have a custom process ( that could also be based on XP, Scrum)
- Life-cycle – use Disciplined Agile as main guidance
- Use Agile Basic as reference life-cycle
- Use the provided set of life-cycles and associated guidance to see what kind of life-cycles are you using now or what you need
- Scrum case – in most of the cases you can use DA Agile Basic life-cycle to model a Scrum compatible full delivery life-cycle.
- XP case - in most of the cases you can use DA Agile Basic life-cycle to model an XP compatible full delivery life-cycle. XP style could be successfully used for the advanced life-cycles, but you need to advance form the release inception and iteration start ceremonial described in XP (direct compatible with Agile Basic life-cycle).
- Small Release principle – use DA and XP guidance
- Use DA guidance for advancing to Continuous Delivery
- Use XP guidance for smaller releases
- Iterative and Lean
- Iterative - Scrum and XP guidance about iteration should be complemented with DA guidance for practices and others.
- Lean – Scrum does not support Lean life-cycles, while XP needs some adjustments. DA provide guidance about delivering software in this way.
- Exploratory Startup life-cycle (e.g. new product)
- Use DA explicit guidance about this life-cycle and about MVP (Minimum Viable Product)
- XP case – start from XP product life-cycle that have an “exploratory” stage
- Scrum case – rely on DA and XP, because Scrum does not offer explicit support.
- Long Term Roadmaps
- Use DA explicit guidance roadmaps, rolling wave, exploratory and MVP (Minimum Viable Product). Be aware that there is more than product roadmap: business roadmaps, technology roadmaps
- XP case – start from XP product life-cycle
- Scrum case – adapt long term Product Backlog management above mentioned DA guidance