How To Measure the Productivity of Your Software Team
Most tech companies grow engineering managers from an individual contributor through a manager track. If this was your path, then you already know: engineers are motivated by shipping impactful projects.
To keep your software developers productive in a way that is measurable, use a two-pronged approach: optimize for impact while maintaining quality.
- Maintaining quality means thinking long-term, being accountable, and making sure your team is healthy and happy.
- Optimizing for impact means focusing on your roadmap in order to drive growth (or other important metrics for your company).
3 Ways to Maintain Quality
Vision: think long-term
Keeping your engineering team productive starts with a clear vision. What is the long-term impact your team wants to achieve? When your engineering team is on the same page with the vision, you can delegate decisions and trust your engineers with more responsibilities. The vision is also a great way to show your team’s purpose and how it fits into the needs of the company.
Accountability: focus and prioritize
Focus: As a manager, it’s your job to keep the team’s focus aligned with the vision. This may sound obvious, but most companies have a hard time focusing their engineering teams on the right projects. That’s because companies traditionally measure high-level financial metrics, but lack visibility at a team level.
At an individual level, engineers should be empowered to keep their focus on current team projects. Encourage individual engineers to keep a daily or weekly priority list that they can share with the team and stakeholders.
A few ways to promote focus:
- maker vs manager schedules
- grouping similar tasks into certain times of the day
- blocking calendars
- turning off notifications (Some companies have WFH Friday or No Meeting Wednesday to allow engineers a whole day uninterrupted so they can fully focus on complex tasks.)
- use goal automation software like WakaTime to promote working on the right things and allow engineers to own their own productivity
Prioritization: Teach your team to prioritize, so they spend time on projects that advance towards the vision. If a project doesn’t get you closer to your vision, it gets pushed down the list to make room for more impactful projects.
Responsiveness: identify problems early to keep the team happy
An easy way to increase developer productivity is by removing roadblocks with developer tools such as Sourcegraph, which make developers more effective at their work, thus increasing morale. Reasons engineers are unproductive may include:
- lack of focus
- lack of prioritization
- insufficient knowledge
- tech debt
- external blockers
You can identify low productivity through metrics and weekly one-on-ones. Then, work with your team to solve any issues. This means taking time to refactor parts of the codebase that are difficult to maintain. Your senior engineers will most likely notice other struggling engineers before you do. Guide and enable them to help their fellow team members through mentorship.
Effective Ways to Optimize for Impact
The way you measure your team’s impact and productivity within the company is with metrics. While quantified-self metrics like WakaTime measure velocity, impact is measured by experimenting or A/B testing product changes. Tracking metrics your team can directly affect is how you measure the extent to which your team accomplishes its goals.
When your team improves it’s metrics, you should see a proportional improvement in the company’s higher-level metrics. Now you have a way to measure the impact of each team based on how much they move the needle on the company’s metrics.
Drive career growth
Providing a path for your engineers to grow keeps them engaged and productive.
- Build management vs engineering tracks each with similar levels of challenges and similar rewards. This way senior engineers can choose a management track or still advance their engineering career without being forced into management.
- Provide options for engineers to switch teams. When the option to switch teams within a company is available you will retain engineers longer, since the alternative is them leaving for another company.
Recruit and hire
An engineering manager’s duties include growing and replenishing your team’s headcount. You can’t infinitely retain team members, and keeping team members working on the same thing for too long only leads to burnout.
Managing your team’s resources for future work and planning ahead with smart hiring keeps your team fresh and productive. Always be selling your team’s vision to candidates and other engineers within the company who are looking for a team transition.