We would like to deliver more value, faster.
Quality Engineering is the paradigm for constraining software chain activities to continuous value delivery. Achieving it requires acting on the pillars of MAMOS: Methods, Architecture, Management, Organization, Skills.
The alignment of the organizational system is fundamental to the evolution of software engineering practices. Without this alignment, it’s like swimming against the tide; we strive more and more, without getting closer to the shore.
Quality Engineering therefore requires creating an organizational ecosystem favorable to improving software quality. This requires combining change management and the implementation of practices that improve quality.
This first transition guide offers an incremental approach to developing Quality Engineering in your organization. Each of the transitions contains the actions from the framework to optimize your change management effort.
This article gives you the big picture about the various transitions. Specific articles focusing on each transition are available for you to explore all of the referenced practices.
Follow the QE Unit for more exclusive Quality Engineering content.
Inspire, initiate and mark the change
“A leader has the vision and conviction that a dream can be achieved. He inspires the power and energy to get it done.”
Ralph Lauren
The first transition is to drive a dynamic of change within the organization. This requires a vision and an inspiring mission to rally the actors to a common cause, broader than their individual interests.
Defining values will help clarify the behaviors your change unit will have to follow. In order to optimize your effort, you must focus your effort on the forces present in the system, which are the early adopters.
This coalition will allow you to put in place the first structural changes to the organization and quality processes. These evolutions will allow you to mark the difference between the past and the beginning of a renewal.
Clarifying your vision of Quality Engineering
Defining a vision is essential to rallying stakeholders to your cause. It makes it possible to share an image brought to a better future than that initially envisaged. This perspective channels the energies, but it is still necessary to convince.
The path of least effort will be retained by default. You have to convince people that the current state is not the best option. To do this, combining gain sensitivity and risk aversion will increase the impact of your persuasion.
Once the vision is defined with a force for action, you can spell out the how more clearly with a mission and corporate values. You also need to clarify the roles and interactions expected in this new model.
Initiate change with management and methods
Once the target is defined, execution can start. The methodologies allow us to structure our approach and increase the probability of success. Execution ability makes the difference in achieving the high standard.
The first step is to identify the actors to be involved. A stakeholder matrix with 2 axes of interest and power makes it possible to identify the actors in 4 categories. Focus on rallying promoters to your cause first.
We act to fill an identified need, even more if it seems a priority to us. Therefore, your vision must have a sense of urgency relevant to the promoters identified, encouraging them personally to join the mouvement.
Once these two persuasive exercises are done, you begin to have a group of actors with a capacity for action and influence driven by the realization of your vision. You will actually have completed the creation of a guiding coalition.
Implement new breakthrough processes
Your change unit can now act to demonstrate the need for evolving within the organization. To do this, it is necessary to mark the break with the past by changing the visible codes and the habits of the organization.
The first thing visible to all the actors is the organization chart, the perimeters and the roles affected. Changing these elements is fundamental to renewal, as these actors have done by formalizing a Quality Engineering structure.
The interactions between the new positions and the existing ones must then be formalized. It is therefore necessary to define the responsibilities and concrete deliverables of each role in relation to quality. To put them to music, the processes must evolve.
The software development and delivery chain is at the heart of Quality Engineering. By adding key stages with clear contributions between the actors, Quality Engineering will begin to materialize.
For example, you can take inspiration from Atlassian by adding QA kick-off and QA demo steps. Peer review mechanisms are also easy to systematize and reinforce the quality of deliverables while supporting new interactions.
Having set an example with your early win team, your priority is now to replicate this impact in the organization.
Focus the energy up to the tipping point
“Who wants to go far takes care of his mount”.
Racine
Focusing your efforts on actions that maximize results accelerates transformation. Prioritization makes it possible to achieve tangible results on selected perimeters to the point of creating a snowball effect at the tipping point.
Change management must therefore be balanced on two fronts: acting on the priority areas to obtain results, and maintaining broader communication to prepare the rest of the organization for the change.
Management can support the acceleration of the transformation by providing for a minimum of action such as the evolution of the new organizational model, performance indicators and the structuring of Quality Engineering foundations.
Balancing Your Change Management Effort
The tipping point is your priority. Reaching its threshold allows you to cascade the changes made to the rest of the organization while minimizing your efforts and with maximum impact.
To do this, you must capitalize on your stakeholder management matrix to develop an interaction and communication plan. Your priority is to bring together new players in your Quality Engineering initiative while keeping others up to date.
One-on-one and small-group direct interactions will be needed to roll out your new model with promoters. For others, you can mix global communication, sharing of results, questionnaires, among others.
Your efforts must remain focused on achieving results in the short and medium-term. You should only include in this step the actors with the necessary skills – internally or externally – so as not to waste time.
Align and animate the actors by the management
Management makes it possible to orchestrate the different actors in the implementation of new practices. They must both act head-on by carrying out concrete actions and create an ecosystem that accelerates collaboration.
Culture helps drive new Quality Engineering units and evolve the organization. Management must address two issues head-on: eliminate the myth of “quality ⇔ testing” and explain how to do less testing.
Actors – often from diverse backgrounds and skills – need common ground to collaborate effectively. Management must give workshops to align the definition of Quality and the principles of quality, such as Shift-Up.
The tipping point will be reached by a succession of iterations. Management is responsible for getting there as quickly as possible by developing organizational skills. A powerful mechanism is that of retrospective.
Evolve the organizational structure and responsibilities
The organizational structure provides a framework for the actors. It directly defines the perimeters, roles and hierarchies. Indirectly, it guides interactions and the location of power in the organization.
Changing the organizational structure makes it possible to prepare the entire organization for future changes. This step is essential for the snowball effect of our tipping point towards Quality Engineering to have the expected impacts.
Quality Engineering requires the elimination of a single silo responsible for quality. It is strongly recommended to replace the acronym “QA” with a name aligned with a transversal responsibility for quality.
The department “QA” can for example be renamed to “QE” or “Craft”. Accountability for quality contributions, deliverables and interactions must be clearly defined and composed. You may find useful the Team Topologies model.
Quality Engineering needs skills to do better sooner. We must invest primarily in the skills of requirements management, software craftsmanship, and communication (active listening, adaptation).
Developing and implementing new performance measures
It is necessary to be able to measure the creation of value in order to maintain current efforts and secure their subsequent deployment. Far from returns on investments, you must continuously link outputs to outcomes.
Existing methodologies such as the Balanced Scorecard make it possible to maintain a global vision of the results. Its main advantage is to balance our perspective in order to avoid negative local optimizations.
QE Monitoring enables you to measure regularly and collaboratively your changing practices of Quality Engineering. You can use the Quality Culture Guide from Alan Page and Brent Jensen, or the Quality Health Monitor from Atlassian.
The last measure is based on the Net Promoter Score, a methodology widely used for customer satisfaction. Applied to the actors contributing to the software, you can continuously collect feedback from the field of your approach.
These measurement mechanisms allow management to monitor progress, prioritize corrective actions and demonstrate the value of ongoing changes. This while energizing the rest of the organization through more global sharing.
Laying the foundations for the Quality Engineering platform
Quality Engineering requires an efficient and replicable software delivery chain. By focusing on a limited scope, you can quickly define a common structure, which will then serve as a model.
The first foundation is the alignment of your code repository with your organizational and software architecture. So make an informed choice between monorepo or multipo, and define project templates by typologies.
Your test repository is the second building block. It consists of defining where to maintain your repository of requirements – preferably unified – and its breakdown into technical components in the form of manual and automated tests.
These 2 pillars combined allow you to build software deployment processes that systematically include your quality criteria. For each of the templates, therefore set up CI/CD pipelines incorporating Quality Gates.
These iterations will get you to the tipping point that will change your priorities.
Disseminate, accelerate and maintain this new ecosystem
“Culture does not change because we desire to change it. Culture changes when the organization is transformed – the culture reflects the realities of people working together everyday. ”
Frances Hesselbein
After the tipping point, your priority is to accelerate the adoption of Quality Engineering in the rest of the organization. Care must be taken to maintain harmonization of activities to facilitate collaboration and the dissemination of good practices.
The skills of the actors make it possible to solidify the acceleration brought about by the passage of the tipping point. Management must therefore ensure to develop and recruit the necessary skills for the various Quality Engineering Units.
The propensity to extend software practices requires containing their entropy. Complexity must be reduced with a focus on creating cross-functional value and continuous investment in architecture and technologies.
Extend culture and remain responsible for processes
Culture supports stakeholder collaboration at scale with a minimum of coordination effort. It is a fundamental element in the dissemination of Quality Engineering practices in the organization, which must be able to continuously animate.
The definition of a quality culture plan sets a framework for monitoring your action plan. The prioritization of practices under various axes such as methods, architecture and organization allows you to balance your effort.
The sharing of experience carried out beyond organizational silos makes it possible to build common good practices. Knowledge management mechanisms such as communities of practice or documentation portals must be used.
Management also remains responsible for ensuring that the methodologies defined are respected. The Definition of Done must be systematically followed to maintain the level, and enriched to improve, such as the Testing Notes or the Blitz Test.
Accelerate change by increasing skills
Delivering software to the high standard requires contributions from actors meeting this level of requirement. Their skills are therefore fundamental to the performance of your Quality Engineering software delivery chain.
At the start, you were able to use the skills available internally or externally by acting on a small perimeter. On a global prism, you must both accelerate your development and recruit the necessary skills.
To develop your internal skills, you can change teams of people with a good level to speed up other units; this in addition to communities of practice and individual development plans in the form of training and coaching.
For external skills, it is necessary to combine strategic partnerships giving access to a pool of skills, while playing on the on-demand teams extensions in the form of gig economy, communities or freelancers.
The skills useful for this transition support the dissemination and maintenance of practices. We find there the advanced skills of Testing, facilitation in the form of coaching for example, and architecture to guarantee your foundations.
Complement the measures of value and productivity
The swarm of activity generated by reaching the tipping point must be continuously focused on the creation of value. To do this, you must enrich your performance measurement methods to channel the energies of the players.
Value stream optimizes the organization of tasks contributing to the creation of value. Linking activity sequences with regard to value creation focuses the players on identifying unnecessary back and forths and eliminating waste.
First and foremost on the front line, the developer population must be specifically considered in the software delivery chain. Improving the Developer Experience by leveraging Engineering Productivity is a good investment.
Finally, the support of business performance by Quality Engineering is partly measurable with the 4 metrics from the Accelerate report: deployment frequency, lead-time for changes, time to restore service, change failure rate.
Continue to invest in architecture and technologies
The collaboration of software components constitutes the quality level of the customer experience. Investing in their composition, replicability and deployment make it possible to extend Quality Engineering practices while managing risk.
Technological interoperability results from an upstream investment allowing decoupling at a defined level of abstraction. An API-driven (Application Programming Interface) system is fundamental to a rapidly evolving ecosystem.
Replicability is the second investment to be made. Teams with different challenges still have similarities in development, deployment or code practices. The coding and testing bootstraps are essential.
When Quality Engineering unfolds, software changes will accelerate. You need to be able to counterbalance the increased risk of downtime and instability by providing native mechanisms for phased deployment in pipelines.
Anchor and guide the continuous improvement of practices
“If you want to grow an organization then enable its employees to experiment, explore and express their creativity without limiting them to title, department & designation.”
Aiyaz Uddin
By this stage, the majority of your organization will have adopted Quality Engineering practices. The challenge is to succeed in creating an ecosystem capable of learning and improving with maximum autonomy its performance.
The actors at the center of the system are the pivotal elements on which to rely. By developing their skills, they can themselves become ambassadors of practices and continuous improvement.
The remaining task for the initial leaders of the Quality Engineering approach is to be the last bulwark of culture. The aim is to reach a level of maturity in which they would theoretically become unnecessary.
Develop organizational skills to scale
The development of organizational capabilities requires a minimum of skills at the right level to train the actors of a team to the same standard. Replicating this mechanism at scale will create a capability.
Raising the level first requires identifying the gaps in the organization, for example via a skills matrix and an exercise of gap analysis. This inventory allows you to define an action plan according to your possibilities.
It is ideally necessary to quickly fill the skills on the teams with higher added value. You can do this by changing team members or using external resources. Investing in continuing training will help you on an ongoing basis.
Scaling-up specific skills will support performance and continuous improvement. The methods of Lean Problem Solving and Lean Continuous Improvement will force small steps, also thanks to influence.
Guide the teams to complement and adapt their practices
Expanding your dynamic must go through relays to maintain the dissemination of practices throughout the organization. This requires knowing how to guide the actors in a relatively autonomous and self-learning system.
You can systematize the definition of business metrics for each of your Quality Engineering units. The use of OKR is often recommended in scaling like in Safe or at GitLab.
Continuous improvement also requires continuous curiosity. We must therefore encourage stakeholders to open up to the outside to discover new practices, discuss and question their mechanisms. We must give them the means to achieve it.
Teams need visibility into the ecosystem to keep the big picture and drive the most relevant improvements. The setting up of an Observability Pipeline will be useful, concretized for example through engineering productivity.
Maintain the organizational culture of Quality Engineering
Your investments will have enabled you to develop a real culture of Quality Engineering in our organization. Maintaining this culture requires continuous attention in an ever-changing ecosystem.
Teams, regardless of their model, will tend to local optimization. Management will have to continually reiterate the cross-functional value, the focus on the customer, and the priorities to be delivered beyond organizational silos.
Leaders must therefore be in the field, in contact with teams, sharing their convictions, pushing players to improve and find solutions to the challenges they encounter. Their skills of feedback will be essential for this.
Continuous improvement involves measurement and continuous adaptation. It is moreover this acceleration of value delivery that a Quality Engineering ecosystem at the high standard will allow you to achieve.
Initiate your transition to Quality Engineering
The implementation of Quality Engineering results from the proper conduct of the various identified transitions. Efforts must be channeled at each stage without wanting to skip specific actions, at the risk of creating organizational fatigue or failure.
Quality Engineering leaders must combine their expertise in change management and software engineering to be successful. The high standard pushes to increase the level of demand continuously, a real challenge when time is lacking.
Rome was not built in a day. But the current ecosystem doesn’t give you much respite to stay competitive. Act now on your transitions to drive your organization to continuous value delivery.
Follow the QE Unit for more Quality Engineering.