We all need more speed.
But we have a complex problem to solve:
- Trade-off quality makes us slower
- Quality practices initially slow us down
- Methods or technology alone are not enough.
My experience from software engineer to CIO/CTO convinced me that we can deliver software at a sustainable speed by structuring a lean software production system: MAMOS.
The Pain Points of Quality and Speed
Our complex and uncertain world requires businesses to adapt in short-cycles.
And with software powering organizations, business speed directly depends on software change speed capability, making it an imperative of survival.
Software pains can be ranked in two types:
- Quality: satisfaction, usability, quality, reliability, etc.
- Speed: lead-time, cycle-time, time to acknowledge or resolve.
The goal is to identify the most important Quality and Speed pains across the software production system. Not all issues are important, some are causes, other consequences.
From there, the origins of the pains can be mapped leveraging the software production system structure of MAMOS.
MAMOS: The Power Behind Quality Engineering
Working as a software engineer, I felt pains caused by issues outside my control: waiting for days from an external ops team to “plan” the change, no way to refresh data, poor specifications.
I was optimistic when switching to project management, hoping to have more power. But I faced other structuring problems at management and organizational levels.
And sometimes I realized that I had wasted my efforts on the wrong priority, for example on quality practices that would not last afterwards being alone pushing them.
Things changed when I got autonomy on an entire software production system.
I was able to:
- Internalize operations infusing a culture of collaboration and self-service
- Escalate to business people to get the right profile of Business Analyst
- Share the vision and mission on our domain scope of responsibility
- Change the structure of the team to create platform and enabling teams
- Set the management incentives aligned on global transformational objectives.
These actions enabled us to accelerate software delivery at a sustainable pace, realizing that the injection of quality on the entire value-chain pays off for speed.
MAMOS is the resulting simplified structure to organize your software production system on the 5 domains of Methods, Architecture, Management, Organization, and Skills.
Crafting Your Action Plan
A Quality Engineered software production system requires a good understanding of the current state before changing anything.
MAMOS helps to step back on the big picture of the system, framing the correct perspective that will enable us to identify the most important Quality and Speed pains.
Building the action plan requires to:
- Map current state of the MAMOS system
- Identify pains of Quality and Speed
- Define priorities based on MAMOS areas.
The step 1 provides visibility on the interactions happening between the software production system elements: which methods are used to plan or review the work, how the architecture-style impacts the flow of iteration, which incentives the management is pushing, how the organizational design influences the architecture and flow of the teams.
The step 2 enables us to rank the issues to focus on the limiting factors that are impacting the business objectives. That stage is where Lean practices are adapted like impact mapping, root-cause analysis, value-stream, or flow.
The step 3 consolidates the execution plan to effectively solve the identified pains per MAMOS area. For instance, a fragmented team organization pain requires acting on the Organization, whereas a late rework problem to act on Methods with a shift-left approach. Agile practices of time-boxing, incremental steps, and focusing on value are welcome in that stage.
Executing with Impact
We can easily fall into the negative optimization pitfall when working on the software production system, wasting efforts on priorities decorrelated from business outcomes.
Quality and Speed pains must be linked to business objectives that will help in measuring the success of the transformation declined into outcomes, KPIs and metrics.
A successful initiative will support the business in adapting fast to the changing context having Quality Engineered the software production system for Speed.
Welcome to Quality Engineering.