Mike Bland

Building a Software Quality Culture

Software quality doesn't come from forcing people to use specific tools, techniques, or processes. It happens when making high software quality becomes part of their lifestyle. Here are a few hints to make that happen.


Tags: Making Software Quality Visible, testing

This twenty-first post in the Making Software Quality Visible series—finally!—concerns making high software quality a way of organizational life. It contains a few high-level tips on how to insinuate it into people’s mindset, circling back to concepts covered near the beginning of the series.

I’ll update the full Making Software Quality Visible presentation as this series progresses. Feel free to send me feedback, thoughts, or questions via email or by posting them on the LinkedIn announcement corresponding to this post.

Introduction

Achieving and maintaining high software quality by eliminating unnecessary complexity, risk, waste, and suffering often requires changing the culture of your organization.

Let’s define specifically what we mean by culture.1 One possible definition is that:

Culture is the shared lifestyle of a team or organization.

This lifestyle is what you see people doing together day to day, and the way they do it. For our purposes, we need to understand the essence of lifestyle, where it comes from and what shapes it. So here’s an expanded definition of “culture”:

Culture is the emergent result of a shared mindset manifest through concrete behaviors.

In order to influence lifestyle, which is the result, we have to influence concrete behaviors. In order to influence those, we need to influence people’s mindset.

However, the absolute least effective way to influence mindsets is to…

Don’t shame people for doing Business as Usual. Help them recognize and change it.

…shame people for falling into the common traps we’ve learned about. They’re so common because it’s human nature to fall into them. Instead, we need to help everyone recognize these traps, focus on avoiding them, and remain vigilant against them, and change Business as Usual together.

Challenging & Changing Business as Usual

Changing cultural norms requires understanding them first.

Challenging cultural norms supporting Business as Usual isn’t easy, and it’s honestly frightening. There’s actually a good reason for that:

  • Everything in a culture happens for a reason—challenge reasons thoughtfully!
    The existing norms do exist for a reason. The question is whether that reason holds up today. So we need to try to understand those reasons first, then challenge them thoughtfully.2

  • People often feel invested in old ways and fear the cost of new ways.
    This is because many people feel invested in their existing methods. They fear the cost and risk of changing those methods, even if they no longer provide the value they once did. This is common human nature…

  • We’re often asked for data to prove a different approach actually helps—before trying it…
    …and is why some will ask for data or other proof that a change will be effective before trying it.

  • …while we throw time, money, people, and tools at existing processes.
    At the same time, they’ll continue throwing resources into existing processes as they have for years.

The most productive way to approach such a challenge requires taking the time to gather enough information and build some trust.

  • Challenge: Haven’t we proven that the existing ways aren’t (totally) working?
    You can then carefully question whether current methods are effective, or effective enough on their own, given substantial historical evidence to the contrary. On this basis, you may persuade some to reexamine the problem and try a different approach.

Notice that this challenge to the status quo is in the form of a thoughtful question.

The power of asking good questions

“What could we do differently to improve our software quality?”

The ultimate question is “What could we do differently to improve our software quality?”3 However…

  • Questions develop shared understanding of the culture before changing it
    …there are many more questions necessary to help everyone understand why things are the way they are, what needs to change—and how.

  • Asking encourages thinking about a problem, possible solutions
    Asking good questions includes people in the process of discovery and finding solutions, which develops their own knowledge and problem solving skills.

  • Good questions enable new information, perspectives, and ideas to emerge
    Good questions enable people to share information, perspectives, and ideas that wouldn’t otherwise arise if they were only told what to think or do.

  • Asking what to do is more engaging than telling what to do—produces buy in
    Taking the time to ask people questions pulls people into the change process, which increases their motivation to buy into any proposed changes that emerge.

This is summed up by a great Senegalese proverb shared by Bono in Chapter 20 of John Doerr’s Measure What Matters:

  • “If you want to cut a man’s hair, it is better if he is in the room.”

There is one catch, though.

If people don’t know where to begin, are stuck in old ways, or are under stress…direct near term guidance may be necessary.

Your audience may get stuck. They may currently have no idea about what to change or how—because they lack knowledge, experience, or imagination to consider approaches beyond the status quo. Or, as we’ll discuss shortly, they may be under incredible stress and unable to think clearly or creatively. In that case, you may need to provide more direct guidance, at least in the beginning.4

Whatever their situation, the most effective way to influence mindsets is to help people solve their own problems by…

Sell—don’t tell!

…selling, not telling.

People don’t like being told to change their behaviors, because it’s like being told to change their minds. If you know anything about people, you know they hate changing their minds unless they are doing the changing, by their own choice.

This is why we’ve emphasized asking questions, raising awareness, and working together to make quality visible—instead of imposing process changes or technical solutions through force. People need to understand and buy into changes in order to embrace them fully. We can’t force them to make changes they don’t perceive as necessary or valuable if we want the change to be successful.

Of course, not everyone’s going to change their mindset at once—some may never come around at all. However, our ultimate goal should be to…

Make the right thing the easy thing!5

As we continue working to improve quality and make it visible, it will get easier and easier to do both. Practices and their results will become more accessible, encouraging wider and wider adoption. Eventually, we want to make it harder not to do the right thing, because the right thing will happen by default.

This will be challenging, and take time. It’s important to identify the right people to engage directly in the beginning, when we’re starting the process, and who to put off until later.

Focus on the Early Majority/Total Product

Geoffrey A. Moore, Crossing the Chasm, 3rd Edition

Focus on the Early Majority/Total Product Illustration of the Crossing the Chasm model, adapted from Crossing the Chasm, 3rd Edition by Geoffrey A. Moore. Innovators Early Adopters Instigators THE CHASM Early Majority Late Majority Laggards

This returns us to the Crossing the Chasm model. As Instigators leading people to improve software quality and make it visible, focus your energy on connecting with other Instigators and the early Early Majority. Don’t worry so much about the rest—focus on delivering the Total Product, and it will take care of the other groups.

The Rainbow of Death

mike-bland.com/the-rainbow-of-death

The Rainbow of Death Illustration of the Rainbow of Death model from mike-bland.com/the-rainbow-of-death. Intervene Validate Inform Inspire Mentor Empower Dependent Independent

The Rainbow of Death can help you analyze your progress over time and discover where the gaps in your program are. However, don’t necessarily start with the Rainbow of Death, as it may be to overwhelming at the beginning.

Instigating Culture Change

Essential needs an internal community must support

Skill Development, Alignment, and Visibility: Essential needs an internal community must support Graphic showing a virtuous cycle between Individual Skill Development, Team/Organizational Alignment, and Quality Work/Results Visibility. These are essential needs an internal community must support to instigate culture change. Each part of the cycle gains momentum from the others, but it’s important to focus on completing one effort before launching the next. Individual Skill Development Team/Organizational Alignment Quality Work/Results Visibility

Instead, have a conversation to decide where to begin within the Skill Acquisition, Alignment, and Visibility cycle. You can decide to tackle the highest priority issue, the most urgent issue, the quickest win you can get, etc. You can take any of the examples from Google and Apple that I’ve shared as a starting point, then tailor them to your specific needs. The important thing is to focus, simplify, and ship something to build momentum for the next step in the cycle.

Footnotes

  1. These next two statements defining “culture” are my paraphrase of a concept I discovered from an Apple internal essay. 

  2. I learned this principle from an Apple internal essay. 

  3. Like many, I learned many of these aspects of the power of asking good questions from Michael Bungay Stanier’s The Coaching Habit.

    Also, thanks to Wolfgang Trumler for reminding me of the power of asking people what to do versus telling them what to do. 

  4. This insight was inspired by discussion of the Situational Leadership II® model described in Ken Blanchard’s Leadership and the One Minute Manager

  5. This has been my tagline for years. I think I originally used it in the text of The Rainbow of Death from March 2017.