Incremental improvements: Why don’t teams do it more?
(Reading time: 10 minutes) I’ve been working with a lot of different engineering teams over the years and there has been a strong tendency for them to avoid incremental improvements and instead go for bigger changes. There are many reasons they give as to why but three themes stand out: wrong incentives, lack of knowledge and risk aversion. What are the causes of these problems and is there anything we can do about it?
What are incremental improvements?
The incremental improvements are typically process based such as reducing queue times, limiting work in progress, using smaller batches of work, employing automation, using better testing techniques or removing the test column. Which all contribute towards aiding the team to ship value faster. But rather than go after the incremental improvements that they can get started on now they advocate for the new tool instead.
The tools are usually dependent on the problems the teams are facing at that moment but typically can be a new CI system (usually moving away from Jenkins), the latest monitoring tool, new frameworks (e.g. automation tools) or even advocating for a whole new programming language.
Reasons teams often give for avoiding incremental improvements
The reasons for avoiding incremental improvements and advocating for the new tools vary but I’ve heard versions of the following over the years:
- It feels easier to do big changes in one go rather then lot’s of smaller ones over time
- It’s hard to see how the smaller individual wins over time improve the teams ability to deliver value
- Nobody ever gets credit for fixing smaller things or preventing issues that then never occur
- People get credit for making big bold moves that can be clearly seen
- They tried the smaller ones before and it failed
- They don’t see any problems with their ways of working so If it’s not broken, don’t fix it
I tried listing out as many as I could and noticed a few themes starting to emerge specifically around incentives, understanding of agile development practices and risk.
Why does this happen?
Which got me thinking, why this avoidance of incremental improvements? What is it in software teams that could cause so many of them to give such similar responses? Some of the teams have never met each other so it’s not like they’ve been swapping reasons. Which led me to look at what in the teams environments could cause people to behave this way.
What incentives do we setup in teams and how do we do it? From my experience the recent trend has been all about Objective and Key results (OKRs). Now there is nothing wrong with having goals that teams should aim for, I actually think this is a good idea. But do those goals unintentionally encourage feature delivery over improving the system? In some ways we maybe rewarding teams to go after bigger ideas rather then working to incrementally improve their system. To see what I mean have a look at your teams goals, do any of them encourage the team to improve their ways of working or are the focused on some business objective?
These goals may also encourage leaders to recruit people that are there to simply achieve that goal and incentives them to do so either via praise or other rewards. This has another affect in that the job adverts they put out ask for people with skills that can achieve that goal. Which could lead people to make sure they have those skills on their CV so that they can apply for those roles. Again further reinforcing team members to go after the bigger wins – no one is explicitly asking for them to go after the smaller wins that improve their system. It’s just assumed that they would do this.
Just to reiterate I’m not saying we shouldn’t use OKR or other goal setting techniques but we should stop and look to see what behaviours they collectively do and don’t encourage.
Lack of knowledge
In some teams (especially smaller organisation) they offer very little time if any to actually train on the job. So people are more likely to prioritise personal development that is actually going to get them more of what they want which is usually pay. Which after reading a few job adverts (see incentives above) they are likely to be tangible skills and not how to successfully improve the team’s processes.
In organisations that do have training opportunities and especially ones around agile ways of working than the team member has another issue: how does the training relate to them and their teams? These training options while on paper are a great thing they tend to be quite generic and leaves the actual implementation to the novice who needs all the help they can get. Therefore unless their team actively encourages them to share what they learned (e.g. by setting up experiments to try things out) the individual has little chance of changing the teams ways of working.
The another issue is how does experimenting with their ways of working fit in with the organisational goals? This goes back to incentives again in that even though you have this new insight from the training trying this out doesn’t seem like the right thing to be doing. Especially if it looks disruptive and the outcome uncertain and the current ways of working seem to be doing a good enough job. If it wasn’t then they’d surely have it as a team objective?
The other big issue I’ve seen in teams is no consistent understanding in how their team actually works. The process by which a lot of team adopted tend to happen out of chance or things that were implemented long before most of the team was even around. That coupled with varying levels of experience in the team means no one person fully understands how the teams works.
The final issue and the one I think people are most familiar with is avoiding risk. You’ve probably heard the reasons such as we’ve tried that before and it didn’t work, or nothing is broken so why try and fix it. In some cases they do nothing as there are so many choices they don’t know which to go for so they stick with what they’re already doing as that kind of works and has a more certain outcome.
This I feel comes from people not wanting to take risks or if they do then they have a high probability of success – so it’s not really a risk. Think about when was the last time you were rewarded for failing? This hardly ever happens but I bet you can think of a time you or another team was praised for doing something successfully. By only ever rewarding success (an email with some praise can be enough) then you unintentionally punish failure. Not only that failing never feels good and knocks our self-esteem so we tend to do all we can to avoid it. If failure does occur we will deny it was us, distort it so it looks better then it was or just ignore it and carry on as if nothing ever happened.
Add to this that even speaking up about failure is hard as no one wants to be judged about being incompetent, looking ignorant, causing disruption or generally being considered negative then no wonder we tend to avoid failure. This all leads us towards going after a sure thing like a big process change that will give us everything we want in one go.
What do we do?
Trying to solving any of these issues is going to be a difficult thing to do and likely to lead to lots of false starts, dead ends and failures too. For most teams and organisations these issues are just too complex and are likely to be ignored all together or left for someone else which typically means no one. So is there anything we can do?
I think a good start would be if we asked ourselves at the team level how are we framing incentives, training and risk taking? This line of thought led me to 3 questions that could help Team Leads start to tackle some of the reasons why teams go for big changes rather then smaller incremental improvements.
Question 1 – Have we unintentionally incentivised big wins over smaller incremental improvements?
Take a look at your teams goals and objectives. Do any of these encourage your teams to make smaller incremental improvements or big wins? Could you reframe the conversation around any of these goals that could encourage more smaller incremental improvements? How can you maintain that framing as the team work towards accomplishing that goal? Are there any examples you can highlight to the team that show others working in this way in a similar context?
Question 2 – Could centralised training unintentionally remove responsibility from the teams needs to the individuals needs?
How do you identify the training needs of your team? Is it on an individual-by-individual bases or a more whole team view? How does the training your team members go on relate back to how the team works? How often do you do whole team training? When an individual does do some training how are they encouraged to use what they learned back in the team?
How does your team communicate their ways of working to others? Do they have a consistent structured approach or is it more ad-hoc and depends on who you ask? When do you take the time to understand how the team is currently working and if things need to change? Do you have any metrics on team performance that tell the team if they are getting better or worse at what they do?
Question 3 – By only ever rewarding successes have we unintentionally punished failure?
How do you recognise successes and failure in your teams? Do they get equal amounts of attention or is it just the successes that are talked about? When was the last time you failed and you shared that with the team? What was the focus of the discussion? Was it positively or negatively framed? Do you have a structure to understand and learn from failure or is it up to the individual to figure it out for themselves? Learning from failure is not easy and needs strong leadership to enable it so what can you do to encourage and enable it to happen more frequently and positively?
It’s always about the discussion
None of these questions actually solve the problem of teams focusing on bigger wins over smaller incremental improvements and perhaps in some cases the bigger win is the right solution. For example cases such as do or die situations where the team isn’t going to exist if it doesn’t make huge changes overnight. But I would hope this isn’t a regular occurrence for teams otherwise you’ve probably got bigger problems than training or misaligned incentives.
What these questions do is get the discussion started by getting people into the right frame of mind to have that conversation and start working towards a solution. The solutions to these problems are likely to be very context dependent so what may work for one team might be the wrong for another. Therefore me or anyone else proscribing a particular solution may not be that helpful. You need to be agile in your context. Starting with the right questions might just get you to the solutions you need.
What do you think?
Have I got it wrong and are big wins the best way most of the time?
Am I missing any common reasons teams give?
Have I made assumptions in my causes to fit the narrative I’ve set out?
Is my analysis just plain wrong?
Let me know in the comments
Leave a ReplyWant to join the discussion?
Feel free to contribute!