Polymorphism has been known to many programmers for years and is widely used as a concept. However, that this is also used for process design and its Lean QMS implementation in scaled agile processes such as Applied SAFe is new and fascinating. Here we discuss the concept and implementation of ‘Built-In Quality’ from SAFe.
Polymorphism basically works by executing a similar or the same activity each time in context. The same intent triggers different behaviors depending on the context. We have taken this principle from object-oriented programming in Applied SAFe and used it many times in our implementation of SAFe as a Lean QMS. A popular example is its use in the context of ‘Built-in Quality’.
‘Built-in Quality’ is one of the four Core Values of SAFe (https://www.scaledagileframework.com/safe-core-values). ‘Built-In Quality’ from SAFe ensures that each solution element meets the appropriate quality standards at each step throughout development.
As from ScaledAgileFramework.com
“Inspection does not improve the quality, nor guarantee quality. Inspection is too late. The quality, good or bad, is already in the product. Quality cannot be inspected into a product or service; it must be built into it.”
-W. Edwards Deming
We use several guiding principles in our process design, additionally to the principles of SAFe also some of SpaceX’s engineering principles like: ‘Deletion (Tailoring) is the best way to add value.’, ‘Don’t optimize unnecessary things.’, ‘Do not automate until you have deleted the unnecessary.’, ‘Try it and see’, ‘Innovate rapidly.’, ‘ Recognize ‘residual capability’ etc.
As we create in Applied SAFe a single instance for each endeavor and level of SAFe Enterprise, Portfolio, Large Solution, Program, Team, each instance can be trained differently according to the context. Therefore, ‘Built-in Quality is used differently on:
- Enterprise-level: In the example below you can see on the left side that Built-In Quality means also Process Quality itself with the processes ‘Organizational Process Focus’, Process Assessment’, ‘Process Improvement’ up to ‘Organizational Learning’.
- Program-level: In the context of an ART (in the example on the right), ‘Built-in Quality’ is mainly about the roadmap, system and release quality, DevOps, and system integration, depending on the configuration (e.g. a Portfolio SAFe configuration) also about the solution
- Team-level: On Team it is mainly about ‘Define, Build, Test,- Increment’, the quality of the code, test coverage and team backlog refinement, and the development infrastructure.
Benefit of polymorphism in process design
This implementation of polymorphism in the process design allows us to meet the needs and context of each project and thus reduce the content and overall show the user only for him relevant contributions. We have of course used this for other areas such as supplier management, vision and road mapping, regulatory compliance, and much more.