As the famous management consultant Peter Drucker once said, “If you can’t measure it, you can’t improve it.”
Software value stream mapping and the ability to visualize how work flows through an ever changing and complex software delivery system enables teams to measure metrics and provide quick analysis to see if your system is performing well or not.
But where do you start with all of that? Where do you start improving, where do you spend your time? What do the elite performers have in common? The Accelerate: 2018 State of DevOps report by DevOps Research and Assessment surfaces capabilities that are statistically shown to improve software delivery performance and are shared across high performing teams and organizations .
“Low performers were twice as likely to be developing and delivering software in separate, siloed teams than elite performers.” -- Accelerate: 2018 State of DevOps report, DevOps Research and Assessment
Improving an organization's ability to deliver software is driven by a change in how work gets done within an organization. Agile, lean and DevOps practices offer a number of management and technical capabilities that influence change in behavior and culture.
These practices have similar cultural properties that show up in Ron Westrum’s model of organizational cultures. Westrum was a sociologist who found that organizational culture was predictive of performance outcomes as properties of a “generative” (performance-oriented) culture. The key for a generative culture, according to Westrum, is cooperation, surfacing problems, breaking down silos, continuous learning and experimentation to drive improvement.
Influencing culture through leadership and autonomy
The State of DevOps report found when leaders give their teams autonomy that leads to trust and a setting where teams feel comfortable to voice their ideas, opinions, concerns with the goal to deliver the best possible outcome.
It’s a leader’s responsibility to foster autonomy by providing clear goals and outcomes but letting the team decide how the work gets done, which leads to trust and, in turn, a voice that positively affects organizational culture.
Establish a climate for learning
Learning needs to be core to the organizational culture from how employees can grow their skills and knowledge to how people within the organization learn from users, customers and the market, and then act on that learning.
Learning and training of employees needs to be something that is formally defined and all employees should have equal access to these opportunities within the confines of their daily job.
“An organization with a climate for learning is one that views learning as an investment that is needed for growth as opposed to a necessary evil, ...” -- Accelerate: 2018 State of DevOps report, DevOps Research and Assessment
In product development, learning needs to be allowed and encouraged. In software development we deal with a lot of uncertainty. Change is a constant. Continuous delivery, small batch sizes paired with high software delivery performance, enables frequent and fast deploys giving organizations the opportunity to learn often and quickly. But these practices need to fit into how the organization operates. Is it ok to change plans? How does an organization plan releases? How rigid are these plans? How does an organization react to change during software development or as part of a release?
Embracing learning and change means revising how we view adjustments in our plans, and how we act upon it.
Agile and lean product management practices expect change and are centered around learning based on that newly generated information.
Lean product management
The Accelerate: 2018 State of DevOps report found that lean product management capabilities positively impact software delivery performance, organizational culture and organizational performance.
Lean product management, DevOps and CD shows how software delivery performance not only impacts the ability to deliver software faster but it enables other function to change how work gets done and adopt a model of frequent feedback and learning.
The report describes three characteristics of lean product management as:
Products and features get sliced into small batches that can be completed in less than a week and released frequently.
Organizations actively and regularly seek customer feedback and incorporate this feedback.
Development teams have the authority to create and change specifications as part of the development process without requiring approval.
Cross functional teams
Cross-functional teams have all competencies needed to get required work done without depending on others who are not part of the team.
These teams are giving autonomy on how to deliver their work. They are close to the customer, are allowed to change specifications based on feedback from the market and have the skills and knowledge within their team to act quickly and make well-informed decisions with the desired outcome and clear goals in mind.
The CD process is the engine that enables cross functional teams to deploy and and learn quickly while keeping standards and high quality across the organization.
The report highlights continuous delivery as an essential practice for a successful technology transformations. CD includes the use of version control, deployment automation, continuous integration, trunk-based development and a loosely coupled architecture.
Software value stream management and visualizing the end-to-end CD process and monitoring the underlying CD platform is critical for an organization’s ability continuously delivery software. In this world where we want to move and learn fast, where we have more and more moving pieces and a growing complex software system, we need to be able to fully understand the end-to-end delivery system and how and where to improve upon it.
High performing software delivery enables lean and agile practices of continuous learning and continuous improvement to move fast into the right direction.