Waiting-time is hard to get rid of.
I believe there’s no need to argue on its business impacts between the cost of delay, team frustration, idle costs, plus late rework—the point is how to get rid of it.
Waiting-time is complex due to its multi-causality within the software production system: VPs want more, managers don’t say no, working too much is valued, teams have different priorities and ways to work, etc. The organization may even add more work in the pipeline because people are waiting too long, making the problem worse.
And while setting agile rituals and lean processes to help in the methodology, there are still managerial and organizational aspects to link together as a set of “people, processes, and technology” working in harmony towards waiting-time reduction.
This article shares how to definitely reduce waiting-time by architecting your software production system for sustainable quality and speed with MAMOS.
Superficial approaches fall short
I have seen and read about multiple attempts to remove waiting-time fail, whatever the context or industry. We indeed suffer from the same issues in real life with politics and ecology when we fail to address the system.
Examples: One director shared it as a key priority at a town hall, but quietly accepted new priorities without reviewing the work already in progress. Another one hired consultants, started the first steps, but failed without internal responsibilities and processes change.
They had a common point of being superficial.
Superficial changes are attractive because they can show some results in short timeframes, a useful output when continuously under pressure to deliver. The thing is that is a waste of resources as problems will come back in different forms without solving the root cause.
Sustainable changes in the software production system requires a systemic approach to create a well-architect and positively reinforced system towards goals we want to achieve. Only this approach can build true capabilities that stick over time.
Embrace the sustainable approach with MAMOS
A sustainable approach to reduce waiting-time requires to align the core principles that will cascade into concrete activities and actions within the software production system.
The paradigm shifts requires a alignment of key stakeholders on:
- Lean principles: “Less is more”, “Slow is fast”, “Limit WIP” are core principles to be shared with stakeholders open to change.
- Pull instead of push: work on something from start to finish and only start something new when you can, not when others ask.
- Start small: the bigger the scope, the bigger the risks. Have a true global vision but choose a perimeter to iterate and deliver value faster.
Now we can start about what to build with MAMOS:
The systemic approach to software production is based on MAMOS, the Quality Engineering Framework, structured around the 5 domains of Methods, Architecture, Management, Organization, and Skills.
Now In a full exercise, an as-is analysis is performed to understand how the system in scope is working, perform the gap versus the blueprint, and prioritize the adjustments. We will focus here on the blueprint to keep the article short.
Architect sustainable changes architecting a system
Evolving your software production system to meet a particular goal requires acting on different areas while keeping an eye on the big picture and what we are trying to achieve.
The construction of the blueprint is based on:
- Outcome: the value objective to reach, in our case reduce waiting-time that will speed-up value delivery.
- Output: the main results from activities that will contribute to the outcome, simplified in our case with “Reduce number of parallel changes in progress”
- Element: unit to build as part of your software production system within the MAMOS capabilities area.
Each element interaction within the system is then defined between the 4 main interactions of “enable”, “reinforce”, “limit”, and “feedback”.
The summarized action plan based on MAMOS relies on:
- Setup a stakeholders governance to limit WIP: allocate an internal role to managing the portfolio, priorities, expectations to limit the working pipeline to the capacity.
- Implement “pull” starting with Kanban: Scrum and others are too costly when lacking maturity and predictability – start small towards just-in-time.
- Make manager enablers of the transition: the teams need help to make smaller increments, say no, work with shared ways, and learn.
- Build knowledge to remove bottlenecks: learn from the continuous flow of delivery with a limited flow of work what are the causes of waiting-time and solve them.
The elements to build as part of the software production system will enable to sustain the learned practices and evolve along the way, building something more reliable and efficient than the sum of the individuals to deliver value: that’s Quality Engineering.
Go further with more Quality Engineering Blueprints
The value of Quality Engineering is to enable Quality at Speed software delivery by architecting your software production system with the MAMOS framework. The same models of blueprints can be leveraged for other pains.
Indeed, our illustration of removing waiting-time is only the start of a transformational journey. Improving in that area opens the door to address other structuring issues like the platform architecture or the team size, each requiring a system to succeed.