According to Agile Programme Manager Steven Thomas, “The most common problem I’ve seen with software development teams is over commitment.” At any one time, an estimated 60% of software professionals are overcommitted.
Mike Register of SolutionsIQ defines overcommitting as “attempting to fit too many units of work into an iteration.” You know you’ve overcommitted when items remain on the backlog and stories remain blocked at the end of the iteration.
There are at least three major downsides to overcommitment:
- Decreased quality
- Increased burnout
- Decreased productivity
Software development is particularly prone to overcommitment because it’s really hard to estimate. One reason for this is that the software development cycle escalates.
Here’s what happens, as described by Watts Humphrey, author of Managing the Software Process:
Step one: Products require more code than stakeholders expect
Step two: These larger programs create new, larger technical and management problems
Step three: Surprises ensue, and compound in cost along the way
If you find yourself saying things like, “I can’t get my favorite project off the ground;” or, “I have something big I want to accomplish, but I keep putting off even getting started;” or, “It’s hard for me to follow through on my best ideas;” you may be overcommitted.
Knowing this, how do software developers stop overcommitting at work?
1. Understand your underlying motivations
One good way to start battling your bad habits is to understand what problem they’re solving for you. No one wants to overcommit. Yet it keeps happening. In his book Indistractible, Nir Eyal writes that every distraction is an attempt to avoid pain of some kind. In Atomic Habits, James Clear writes that bad habits and good habits are formed the same way. There’s a stimulus, then a behavior, then a reward. What pain is overcommitting helping you avoid? What reward does overcommitting provide?
Maybe your pain is a lack of motivation, so you use crazy deadlines and intense pressure to motivate you to work hard and fast. Maybe the stimulus is feeling bad about your productivity, and overcommitting helps you feel like you’re productive.
Or perhaps it’s more ego-driven. Maybe you often want to feel more successful/important/heroic. Or you want to feel like you “own” something. “The main reason why people overcommit is that they want to be and/or seem successful/important,” writes Management Consultant Veronica Rae Saron.
The trick to staying focused and establishing good habits is to find healthier ways to avoid pain and healthier habits to reward. Find out why you’ve been overcommitting, then find ways to meet that need in a healthier manner.
2. Push back on external pressure
It’s important to understand our personal motivations for overcommitment. But it’s just as important to find ways to effectively handle the copious external pressure to overcommit. If you’re a normal Engineer, ending the pattern is going to require changing the way you respond to requests.
One way to stop saying yes to unreasonable requests is to ask more questions at the beginning. A lot of us are loathe to ask too many questions. We don’t want to appear unknowledgeable or dumb. But no one will remember a few impertinent questions. And you (and your other stakeholders) will get a lot of value out of having a more accurate picture of how long a task will really take.
Once you have the relevant information, practice pessimism. If you have a habit of overcommitting, it’s likely that you’ve been too optimistic in your past predictions. Planning around a best-case scenario is a good way to overcommit. Register also recommends planning your sprints with some slack time built in so you’re not thrown for a loop when the unexpected inevitably happens.
Lastly, it’s essential that every developer knows how to push back against scope creep.
3. Find, and protect, your focus
Going back to motivations, no one (I assume) is overcommitting just because they want to work a lot. Most of us want to get a lot done. One reason you might be ending iterations with items on the backlog and stories blocked is that your working hours just aren’t as productive as they could be.
“Passion and ambition need to be focused in order to be effective. To be focused, you can’t be stretched thin; you can’t be overcommitted,” Saron writes.
Focus and accurate estimates go hand-in-hand. So how do you get more focus at work?
One solution is to switch tasks less often, so you can spend more time in deep focus. Register warns that having lots of Work In Progress (WIP) is a common problem. Especially if your team is already overworked, it can be tempting to start on all the user stories you’re committed to at the start of the sprint. After all, if you start earlier, you have more time to get it all done. That’s true, but it ignores the role having all these balls in the air has on your focus.
A smart manager might try to head this off by assigning different stories to different Engineers. “But software development is a team game and eventually collaboration has to happen,” Register writes. Splitting Engineers across stories will mean they switch tasks often across stories and across the team. It’s better for Engineers to limit WIP for maximum focus and productivity.
The best thing about optimizing for focus is that you can stop feeling overcommitted without reducing your total output. Increasing your Focus Time means getting more done in the same number of hours.
If you want more Focus Time, try Clockwise. We open up blocks of two hours or more so you can get heads-down work done by intelligently moving your meetings to the optimal time for focus. That way, you can stop overcommitting, but continue to overperform. And check out our article on time management for developers.