Accountability and Developer Motivation
Low motivation leads to low accountability
Part of my CTO Coaching
Many managers struggle with developer accountability and developer motivation—especially in a crisis. These two things are closely related and should be discussed together.
What is accountability? Accountability means being responsible for your actions and decisions, and being willing to explain or answer for them. In this case, development teams holding themselves accountable to the commitments they made to others. This can be code quality, testing, decision making, meeting style or communications. It can be delivering a product. It’s best if they commit to deliver impact, it’s not as good to commit to deliver features on a deadline, but sometimes that what it is. It’s best if a team is accountable for their commitments, if that does not work because the team is immature, it’s necessary to hold individuals accountable, which is - again - not the ideal.
What is developer motivation? Motivation is doing tasks without being pushed or threatened. In the DMO (Developer Motivation) model, motivation is:
DMO = Joy + Discipline - Frustration
Motivation is the sum of joy and discipline, sometimes more joy, sometimes more self discipline. Frustration reduces both joy and discipline and lowers motivation.
How does motivation impact accountability?
High motivation: Developers are motivated so they will work on their commitments. You just need to steer them into the right direction if side tracked to remind them of their commitments. They might be over-motivated and too optimistic about their commitments. Stretch goals are good, but unattainable goals are bad for long term motivation, as failing them creates frustration. Get them back to reality if they are over-optimistic (don’t be happy if they are over-optimistic, this is not a good thing!)
Low motivation: Developers do not deliver on their commitments because they are not motivated. There can be many reasons for this, you need to work on increasing motivation first, before they can hold themselves accountable and before you hold them accountable to their commitments. Holding them accountable when motivation is low, only decreases motivation further.
Ask yourself first, why is motivation so low? Is the team motivation low in general, or are there low motivation individuals?
In the DMO model there could be three reasons:
- High Frustration
- Low Joy
- Low Discipline
High Frustration
The biggest reason for low developer motivation is a high level of frustration. Reasons include:
- High friction during development
- Bad tooling, many manual tasks that should be automated
- “Random” features that make no sense
- No strategy or vision - randomness in direction
- Low code quality and high technical debt
- Random deadlines and business pressure
Frustration kills motivation, by reducing the joy of work and my making it much harder to keep up your discipline - especially if it already takes mental energy to keep going. While frustration levels and resistance to frustration are different in every developer, developers are often frustrated by the same things. Additional group think will increase frustration and the belief that commitments, which developers might feel being pressured in, are impossible to keep.
Instead of holding developers accountable to their commitments, work with them and help them reduce frustration. Automate everything that can be automated, get better tooling, explain “random” features if they are not random and get rid of them if they are random, create a vision and strategy, work on technical debt and push back on business pressure.
Low Joy
Motivation is low because developers have no joy. If discipline is also low, they are not motivated to do the tasks to complete their commitments. There can be many reasons for a low level of joy. If the team has a low level of joy, it might be the team culture, or they have been through a crisis or the company has broken promises. Talk to the team if they enjoy their work, and if not, why not.
When there is low joy in individuals, it might be that they do not enjoy coding. Some are in for the money and not for the joy of coding. If this is the case, try to show them the joy in their work.
If those individuals or teams do not feel joy in their work, it is very hard for them to feel accountable and hold themselves accountable. Fix joy first.
Low Discipline
To get through times with low joy, working on tasks that seem random, do not make sense or are no joy to work on, you need self discipline to power through.
If a team or individuals do not have the necessary self discipline to power through difficult times, it is hard for them to hold themselves accountable - or for you to hold them accountable.
Help the team first to get through things they do not enjoy but the company considers important enough to be done. Help them break down tasks into milestones so they can get to the next milestone.
Conclusion
Accountability and motivation are closely related. When you have an accountability problem at hand as an engineering manager, it might be a motivation problem instead. First fix motivation by reducing frustration, and increasing joy and the ability for self discipline. Then work on accountability.