Definition of the Lean approach
When SAFe refers to agility, it is the term "lean-agile" that appears throughout its documentation [SAFe 2021-21]. Indeed, agility has its roots in Lean, the term of which was popularised by [Womack 1990], which traces the success of Toyota [Poppendieck 2002].
Jeff Sutherland, the co-daddy of Scrum, based this framework on his study of Lean [Sutherland 2007] and even found the name of the framework [Sutherland 2011] from an article by the founder of Lean Management entitled "The New New Product Development Game" [Takeuchi 1986].
Also, Lean practices are a great source of inspiration to enrich agile practices because they are better understood and limit the "Cargo Cult" effect [Moustier 2019-1] [Wikipedia 2021] which consists in a team thinking it is agile simply because it has Jira or post-its stuck on a wall.
Among the Lean practices found in industry that can be transposed to software development are [Moustier 2019-1]:
- eliminating waste with the 3Ms (Muda, Mura, Muri) [Monden 2011].
- software life cycle flow optimisation with Value Stream Mapping (VSM) [Poppendieck 2006].
- the speed of adaptation of a tool to a change in need with SMED [Shingo 1985], which agility translates into a rapid adaptation of the team to changes [Beck 2001]
- the principle of timing work with Takt Time [Monden 2011], which the practice of timeboxing facilitates [Schwaber 2020].
- Kanban [Monden 2011] [Poppendieck 200]
- Work in Progress (WIP) [Monden 2011]
- Just-in-Time (JIT) [Monden 2011], which consists for example of filling the backlog only at the right moment
- Poka Yoke [Monden 2011] by putting in place mechanisms that prevent errors from occurring
- the 5S [Monden 2011] to remove the unnecessary, systematise, sparkle/clean, locate/tag and track any type of item such as a backlog, source code, bugs, etc.
- Andon [Monden 2011] to raise and manage alerts such as at scrum time or alert management in SRE [Beyer 2016].
- Jidoka [Monden 2011] to automatically handle incidents encountered in scripts [Moustier 2020].
- regular practice of the Gemba [Womack 2011] to improve the transparency dear to Scrum [Schwaber 2020].
- PDCA [Moen 2010] to continuously improve the system
There are also other derived practices commonly used in industry such as [Moustier 2020]:
- Theory of Constraints to eliminate bottlenecks with a systemic approach
- Hoshin Kanri [Cudney 2009], which can be found in Google's OKRs
- Kaizen [Medinilla 2014] and Kaikaku [Yamamoto 2013].
Application of lean approach to test maturity
The testing activity needs to be industrialised to cope with the large amount of testing that needs to be done in a short period of time that is the sprint. Lean practices from industry are, with a little imagination, perfectly transferable to this activity, as long as one understands these practices and what is behind them:
- 3M: regular testing, without excess (over-quality or too much testing) and with good added value
- VSM: duration of test activities in the production flow [Moustier 2020].
- SMED: quickly adapt its test strategy to the deliverables to be verified - exploratory testing is particularly relevant in this context
- Takt Time: timing of test activities within a limited timeframe
- Kanban: test-related activities are in the team's kanban, either in each User Story or in the form of Quality Stories [Bach 2019] (what SAFe calls "Enablers" [SAFe 2021-23])
- WIP: testing should take place without delay and be supported by all
- JIT: tests occur on time
- Poka Yoke: automatic tests intervene to quickly indicate the appearance of anomalies [Moustier 2019-1].
- 5S: test assets must be regularly purged [Moustier 2019-1].
- Andon: as soon as an anomaly is detected by the tests, an alert is raised [Moustier 2019-1]
- Jidoka: automated test scripts must adapt to try to deal with apparent anomalies and avoid false positives [Moustier 2020]
- Gemba: the tester must be the voice of the customer in the team and the implementation of X-Team [Ancona 2002] is of high added value to try to synchronise the external ecocycles to his team [Moustier 2020]
- PDCA: the test activity must be continuously improved
Agilitest's position on the lean approach
The #nocode strategy [Forsyth 2021] adopted by Agilitest allows for very rapid adaptation of test scripts and favors most of the Lean practices mentioned above; moreover, this strategy reduces the sense of loss aversion [Moustier 2019-1] linked to the deletion of a script, which facilitates 5S.
In a Continuous Testing approach where test script automation is abundant, the issue of Jidoka is critical because handling false positives slows down the development cycle flow [Moustier 2020]. To this end, #nocode allows the generation of few errors in scripts, which considerably reduces the presence of script-related errors.
An essential area of improvement to facilitate Jidoka is the testability of the application and its underlying components so that an error detected at one level can be verified at a lower layer of the product architecture.
To go further
- [Ancona 2002] : Deborah Ancona, Henrik Bresman et Katrin Kaeufer - AVR 2002 - “The Comparative Advantage of X-Teams” - https://www.researchgate.net/publication/39322924
- [Bach 2019] : James Bach - MAI 2019 - ”Heuristic Test Strategy Model” - https://www.satisfice.com/download/heuristic-test-strategy-model
- [Beck 2001] : Kent Beck et al. - « Manifeste pour le développement Agile de logiciels » - 2001 - http://agilemanifesto.org/iso/fr/manifesto.html
- [Beyer 2016] : Betsy Beyer, Chris Jones, Jennifer Petoff et Niall Richard Murphy - « Site Reliability Engineering: How Google Runs Production Systems » - O’Reilly Media - 2016 - ISBN-13 : 978-1491929124 - https://landing.google.com/sre/sre-book/toc/index.html
- [Cudney 2009] : Elizabeth A. Cudney - « Using Hoshin Kanri to Improve the Value Stream » - CRC Press - ISBN 978-1-4200-8423-8
- [Forsyth 2021] : Alexander Forsyth – JAN 2021 - « Low-Code and No-Code: What’s the Difference and When to Use What? » - https://www.outsystems.com/blog/posts/low-code-vs-no-code/
- [Medinilla 2014] : Ángel Medinilla - AOU 2014 - “Agile Kaizen: Managing Continuous Improvement Far Beyond Retrospectives” - ISBN 9783642549915
- [Moen 2010] : Ronald D. Moen et Clifford L. Norman - NOV 2010 - “Circling Back” - https://deming.org/wp-content/uploads/2020/06/circling-back.pdf
- [Monden 2011] : Yasuhiro Monden - OCT 2011 - “Toyota Production System: An Integrated Approach to Just-In-Time” - ISBN 9781439820971
- [Moustier 2019-1] : Christophe Moustier – JUN 2019 – « Le test en mode agile » - ISBN 978-2-409-01943-2
- [Moustier 2020] : Christophe Moustier – OCT 2020 – « Conduite de tests agiles pour SAFe et LeSS » - ISBN : 978-2-409-02727-7
- [Poppendieck 2002] : Mary Poppendieck - 2002 - “Principles of Lean Thinking” - http://sel.unsl.edu.ar/ApuntesMaes/Anteriores/MetodologiasAgiles/LeanThinking.pdf
- [Poppendieck 2006] : Mary Poppendieck & Tom Poppendieck - SEP 2006 - “Implementing Lean Software Development: From Concept to Cash” - ISBN 9780133812848
- [SAFe 2021-23] : SAFe - FEV 21 - “Enablers” - https://www.scaledagileframework.com/enablers/
- [Schwaber 2020] : Ken Schwaber et Jeff Sutherland - « Le Guide Définitif de Scrum : Les Règles de Jeu » - NOV 2020 - https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-French.pdf
- [Shingo 1985] : Shigeo Shingo - « A Revolution in Manufacturing - The SMED System » - Productivity Press - ISBN: 0-91529903-8
- [Sutherland 2007] : Jeff Sutherland - 2007 - “The Roots of Scrum: How the Japanese experience changed global software development” - http://www.gbcacm.org/sites/www.gbcacm.org/files/slides/5%20-%20Roots%20of%20Scrum.pdf
- [Sutherland 2011] : Jeff Sutherland - 2011 - “Takeuchi and Nonaka: The Roots of Scrum” - https://www.scruminc.com/takeuchi-and-nonaka-roots-of-scrum/
- [Takeuchi 1986] : Hirotaka Takeuchi et Ikujiro Nonaka - JAN 1986 - “The New New Product Development Game “ - https://hbr.org/1986/01/the-new-new-product-development-game
- [Wikipedia 2021] : Wikipedia - MAI 2021 - “Culte du cargo” - https://fr.wikipedia.org/wiki/Culte_du_cargo
- [Womack 1990] : James P. Womack et al. - 1990 - “Machine That Changed the World” - ISBN 9780892563500
- [Womack 2011] : James P. Womack - FEV 2011 - “Gemba Walks” - ISBN 9781934109151
- [Yamamoto 2013] : Yuji Yamamoto - JUN 2013 - “Kaikaku in Production Toward Creating Unique Production Systems” - ISBN 9789174851168