This third principle in SAFe [SAFe 2021-3] is the first to address the idea of agility where expectations can change up to the last moment. It is the direct impact of the second agile principle described in the manifesto:
"Welcome changes in requirements, even late in the project [...]".
This assumption implies in particular :
- not going too far in the ideation to avoid having to start all over again in case of a change in the direction of the needs
- a design capable of adapting to unforeseen circumstances. To achieve this, the team can act on several axes such as :
○ flexible design, in particular by applying the SOLID principles [Wikipedia 2021-1] [Moustier 2019].
○ the development of several technical solutions in parallel [CMMi 2010] using a "Set-Based Design" approach [SAFe 2021-13].
- minimal code so as not to have to throw away too much work
- document in detail only the parts that are fixed
Application to test maturity
In addition to the practices outlined above, the test must also be able to take into account this assumption of variability from the design stage:
- For example, when designing a product, the Business Owners (Product Managers, Product Owners, Marketing, ...) make assumptions that need to be verified. This is what Eric Ries calls "Lean Startup" [Ries 2012] [Vallone 2021]. This practice involves devising metrics from the use of the product that will allow these hypotheses to be tested.
- To avoid wasting time on competition, some organisations put several implementations into production that allow a hypothesis to be consolidated with the "A/B Testing" approach [Moustier 2019-1] [Wikipedia 2021-2].
- When cohorts are too difficult and complex to identify or the market impact of an implementation is unknown but the organisation does not want to risk destabilising its users, another testing technique called "Canary Releasing" (or "Rollout") can be used [Sato 2014] [Moustier 2019-1] so that potential problems only impact a fringe of the population and do not threaten the entire user base.
- Other deployment techniques address the uncertainty linked to the need or the design, such as the "Dark Launch" or the "Green/Blue deployment" [Trenel 2017].
- Finally, for minimal code, the practice of TDD in TPP mode is of high added value [Martin 2013].
The test should also be designed in the most flexible way possible, for example :
- using intent-based scenarios, e.g. by a briefly described test objective in order to avoid implementation variants
- by doing exploratory testing [Kaner 2004].
To avoid over-quality, the idea is to deduce the test strategy to be applied [Bach 2019] :
- the project context [Radid 2018]
- the elements made available
- and the expected quality criteria.
Agilitest's position on this practice
Agilitest is a tool that allows you to quickly generate an automated test script with an efficient and fast widget mapping interface. Moreover, given that the scenarios are linear (there is no loop), the testing of the scripts is also very fast. Thus, automation is easily disposable which reduces the loss aversion phenomenon [Tversky 1981].
To discover the whole set of practices, click here.
To go further
- [Bach 2019] : James Bach - MAI 2019 - “Heuristic Test Strategy Model” - https://www.satisfice.com/download/heuristic-test-strategy-model
- [CMMi 2010] : Software Engineering Process Management Program - NOV 2010 - “CMMI® for Development, Version 1.3” - https://resources.sei.cmu.edu/asset_files/TechnicalReport/2010_005_001_15287.pdf
- [Kaner 2004] : Cem Kaner & James Bach - 2004 - “The Nature of Exploratory Testing” - http://www.testingeducation.org/a/nature.pdf
- [Martin 2013] : Robert C. Martin - MAI 2013 - “The Transformation Priority Premise” - http://blog.cleancoder.com/uncle-bob/2013/05/27/TheTransformationPriorityPremise.html
- [Moustier 2019-1] : Christophe Moustier – JUN 2019 – « Le test en mode agile » - ISBN 978-2-409-01943-2
- [Radid 2018] : Anar Radid - JAN 2018 - “Principe 6 – Les tests dépendent du contexte” - https://latavernedutesteur.fr/2018/01/12/principe-6-les-tests-dependent-du-contexte/
- [Ries 2012] : Eric Ries - 2012 - « Lean start-up » - Pearson - ISBN 978-2744065088 - http://zwinnalodz.eu/wp-content/uploads/2016/02/The-Lean-Startup-.pdf
- [SAFe 2021-3] : SAFe - FEV 2021 - “Principle #3 – Assume variability; preserve options” - https://www.scaledagileframework.com/assume-variability-preserve-options/
- [SAFe 2021-13] : SAFe - FEV 2021 - “Set-Based Design” - https://www.scaledagileframework.com/set-based-design/
- [Sato 2014] : Danilo Sato - JUN 2014 - “CanaryRelease” - https://martinfowler.com/bliki/CanaryRelease.html
- [Tremel 2017] : Etienne Tremel - NOV 2017 - “Six Strategies for Application Deployment” - https://thenewstack.io/deployment-strategies/
- [Tversky 1981] : Amos Tversky et Daniel Kahneman - 1981 - « The Framing of Decisions and the Psychology of Choice [archive] », Science, 211, pp. 453-458 - https://www.uzh.ch/cmsssl/suz/dam/jcr:ffffffff-fad3-547b-ffff-ffffe54d58af/10.18_kahneman_tversky_81.pdf
- [Vallone 2021] : Joe Vallone - FEV 2021 - “Applied Innovation Accounting in SAFe” - https://www.scaledagileframework.com/guidance-applied-innovation-accounting-in-safe/
- [Wikipedia 2021-1] : Wikipedia - MAR 2021 - “SOLID (informatique)” - https://fr.wikipedia.org/wiki/SOLID_(informatique)
- [Wikipedia 2021-2] : Wikipedia - AVR 2021 - “Test A/B” - https://fr.wikipedia.org/wiki/Test_A/B