IT governance is part of the overall enterprise governance strategy and ensures that IT decisions are aligned with the business strategy. Good governance is about ‘doing the right things’ but also ‘doing things right’. And about making the ‘right thing’ also the ‘easy thing’.
Good governance contributes to quality at speed, delivering the right quality products at the right moment, by having the right quality level of the IT delivery processes and the people involved.
For high-performance cross-functional teams that release software with a high frequency, ensuring that quality is maintained is a high priority. This practice requires continuous quality engineering and a focus on how to balance the need for speed with a demand for quality. How do you move your teams from ‘counting bugs’ to preventing faults and really improving the quality of their products?
What IT delivery model interdependencies do you need to be aware of to ensure quality? And how do you gain this insight, especially in today’s open-source environment?
Breaking down the walls between different teams, standardizing how they work with policies and frameworks, building quality into CI/CD pipelines, and using automation to free up people for other tasks are all integral to addressing the quality within organizations.
The purpose of governance
Governance is about aligning the business goals and IT objectives on a strategic level. Governance influences how goals are set and achieved by the IT delivery teams. At the same time, governance also conflicts with the independence desired by high-performance IT delivery teams. These teams need to follow the organization’s standards in terms of architecture, security, and procedures, but often see them as obstacles to rapid delivery. While there are guiderails to support them, the team often views them as innovation inhibitors. But these guiderails can also be (and should be!) the base of knowledge sharing to grow teams and individuals. This tension between the chaffing restrictions of traditional governance models and the broader benefits that good governance can bring is at the heart of the IT governance challenge.
A popular perception is that high-performance IT delivery is an ‘IT thing’ or a ‘developer’s toolkit’, like Agile was seen before. In reality, while high-performance IT delivery is a newer operating model for IT, it is intrinsically linked to the entire organization’s digital transformation, so the governance framework needs to encompass the whole company, not just IT.
Governance is about gathering and sharing information
Governance is about organizing the IT delivery process and about gathering and sharing information to enable all people involved to establish their confidence that the IT delivery process will result in IT products that will achieve the pursued business value.
Instead of using a top-down auditing model, to implement the governance principles teams maintain their own responsibility. To this end teams continuously assess compliance with indicators, compare to agreed standards and baselines, and correct deviations either via automation, or via direct human intervention.
Gathering information is done by measuring relevant indicators, preferably in real-time for example by using live telemetry.
A striking example of an indicator to be used when organizing and improving IT delivery is the “Developer Velocity Index”. Improving the developer velocity isn’t just about increasing the speed of delivery, but is about unleashing developer ingenuity to solve complex business ideas—using new technology and ways of working to build software that meets the needs of enterprise customers, while accomplishing business goals.
More about the Developer Velocity Index can be found in the Enterprices DevOps report.
The challenge when implementing governance
Make doing the right thing also the easy thing! This way, complying with the guidelines set from governance, becomes the path of least resistance.
This can be accomplished by sharing good practices, helpful guidance, useful tools and relevant knowledge. To this end an important governance activity is to build a knowledge sharing culture within teams and across the organization.
In high-performance IT-delivery, governance is not about command & control based on rigid rules, but about outlining principles to which teams are meant to adhere. How the teams adhere to the principles is for them to decide, thus keeping the concept of autonomous teams. This way governance is a means to make teams work better and more efficient.
The Quality & Test policy is an important way of communicating governance principles.
Who should be involved with governance?
In a high-performance IT delivery organization governance will be the responsibility of multiple people. In a small organization the agile coach or scrum master of the team will take care. When multiple teams are involved governance interests can be represented in the scrum of scrums or by people with an overarching role, such as the end-to-end quality orchestrator (see building block End-to-end QA at scale).
Some activities don’t require constant attention of the team and therefore not all teams will have people that are capable of carrying out these activities. Governance is an example of such a capability. And like with other activities, governance may therefore be supported by specialized people or a specialized team that can be called when needed.
Governance makes sure every team is supported in carrying out their activities in line with the policy of the organization, in such way that teams maintain their own responsibility but also effectively collaborate with other teams to support end-to-end business delivery.