I found a gem in one of Simon Wardley’s presentations.
Agile, Lean and Six Sigma are suited for different stages of your software’s journey. Choose the framework appropriate for the stage.
Use the most agile techniques when you’re trying new things out. Agile meaning – eXtreme Programming featuring pairing or mob programming.
Use the Lean approach with lighter weight but slightly more formal processes (Scrum and Kanban) while you’re learning about the product and need to provide consistency and want to optimise it somewhat.
Once it’s delivered (commodity) your product can be ascribed strong quality controls.
This is akin to increasing the rigidity around your software product, increasing the number of tests to ensure it still does what it says it will do.
Choose and adapt your frameworks according to the lifecycle of your software product. My question is what happens when something is deemed legacy? Should you start innovation again and move back from the right to the left perhaps?
What do you think?