Draft Version
See also Process Alphabet
Life-cycles Intro
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 wants 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 considers that reducing WIP (Work-In-Progress) by using iteration is enough. That breaks the Agile Manifesto principle to deliver in a 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-cycles 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 specifically, it does not address enough incertitude related to product requirements. Kent Beck recently address this problem with “Explore, Expand, Extract” concept
- Long-Term Roadmaps
- There is 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 in Disciplined Agile
- Life-cycles are explicit
- Full delivery life-cycle from inception to transition to production is explicit. The 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 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 lifecycle option and has guidance about needed practices and skills
- Exploratory Lean Startup life-cycle support it is explicit
- Exploratory Lean Startup 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 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
Subjective assessment
Here my subjective assessment for life-cycle support in Scrum, XP, and DAD, using the above process alphabet guidance.
How to … my custom process
Here some recommendations 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 the 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 practice selection.
- Lean – Scrum does not support Lean life-cycles, while XP needs some adjustments. DA provides 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
References (draft)
[SG2017] – Scrum Guide - https://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-US.pdf
[XPE1] – Extreme Programming Explained First Edition, By Kent Beck, Addison-Wesley, 1999
[XPE2] – Extreme Programming Explained: Embrace Change, Second Edition, By Kent Beck, Cynthia Andres, Addison-Wesley, 2004