Case studies

Are we grading engineers?

Three focus groups on a developer-activity dashboard, and the decision about what it was for.

The tile that read as a grade.

At a glance

Role
Vice President, User Researcher, JPMorgan Chase; led the study
Organization
JPMorgan Chase, on JET, the firm's internal engineering platform. July 2023.
Methods
Three remote focus groups with developers and engineering managers, each opening with a live demo; sentiment and terminology analysis
Outcome
The dashboard changed: the commit streak was removed, the disciplinary labels were renamed, and weekend activity was made neutral instead of highlighted. The reframe from performance to transparency, stated in the product, was the recommendation behind all three.

Summary

A platform team had built Dev360, a dashboard that showed developer activity: commits, pull requests, commit streaks, a "top contributor" tile and activity outside business hours. I was asked to run a focus group for feedback. Before I did, I stepped back to define what developer productivity means and how other organizations measure it. Three focus groups later, the answer was clear: engineers read the dashboard as a way to grade them. I recommended reframing it from performance to transparency, starting with the words on the screen. The streak came off, the labels were renamed, and weekends were made neutral.

What the team got

A decision about purpose
Activity for understanding how work flows, not individual performance or policing, stated in the product itself along with who sees what.
Three changes that shipped
The commit streak removed from the landing view, the disciplinary labels renamed, and weekend activity shown as neutral rather than highlighted.
Findings by audience
What developers objected to and what managers would actually use, with the quotes behind each, sorted by sentiment and persona.
A fix list managers asked for
Reconciled totals, one sortable list of engineers, open pull requests ordered by how long they've waited.
A way to restart
A design-thinking workshop with focus-group members to choose which metrics matter, then a blue-sky redesign.

The work

The ask

The dashboard was already built when research joined. There had been no discovery work. The product manager's request was simple: run a focus group and gather feedback.

Feedback on screens would have produced a list of fixes. It would not have answered whether the tool should exist in its current form. So before writing a discussion guide, I asked two questions of my own: what is developer productivity, and what have other organizations learned about measuring it? That reading shaped the sessions. We still demoed the product, but purpose was on the agenda alongside usability.

Developer-activity dashboard wireframe with focus-group reactionsWireframe of a dashboard summary row with tiles for top contributor, top language, activity outside business hours, most active applications and total engineers, a code-activity heat map and a commit streak panel. Two callouts quote focus-group participants: an engineering manager asking whether engineers are being graded, and a developer describing gaming the commit streak. Top contributor longest streak Top language Activity outside business hours Most active applications Total engineers by location 1 Code activity by day Commit streak Current streak: — days Longest streak: — days 2 1 “Are we grading engineers?” Engineering manager, on the Top contributor tile 2 “I need to get my streak going. Let me get a couple of defects so I can get my streak up.” Developer, on the commit streak
A redrawn wireframe of the summary row engineers saw. Callout 1: an engineering manager on the "Top contributor" tile. Callout 2: a developer on the commit streak.
Study approach in five stepsFive steps left to right: the ask, stepping back to define productivity, three focus groups, synthesis, and the reframe from grading to transparency. 1 The ask Run a focus group on a dashboard that's already built 2 Step back Define developer productivity; review how others measure it 3 Three focus groups Developers and managers; 15-minute demo, then discussion 4 Synthesis Sentiment, pain points by persona, terminology 5 Reframe Activity and transparency, not grading and discipline
The study in five steps, July 2023.

What we heard

Sentiment was negative across all three groups. The strongest reactions came in the first minutes of the demo, at the summary tiles.

"I must admit this is the second time I've seen [the dashboard], it actually made me angry. Are we trying to grade engineers based on how many times they commit? This data can be used in a very negative way."

Engineering manager

"I worry more than I see the benefit."

Developer

Developers: activity isn't the work

  • Commits misrepresent real work. Large tasks start with days of analysis and no commits. Reviews, design and research produce none. One chart's empty ring read as "I didn't commit any code."
  • Streaks invite gaming. "I need to get my streak going. Let me get a couple of defects so I can get my streak up."
  • After-hours metrics reward the wrong thing. Weekend commits could be read as a positive. One participant said simply: "I wouldn't show it at all."
  • Numbers need context. Meetings and planning explain quiet days. "Numbers are deceptive and need context."

Managers: show me the team, not a ranking

When I asked an engineering manager whether the tool would make him more productive, he answered: "Short answer... no." He knows what he did this week from his tickets and sprint goals. His worry was for others: "As an experienced developer that may not worry me, but as an inexperienced developer I may work nights to squeeze my commits in because it looks bad."

He did see value at the team level. If a team worked three nights in a row to squeeze code in, that tells a manager the sprint plan didn't work. Managers also asked for practical fixes: totals that add up, every engineer in one sortable list instead of pages, and open pull requests sorted by how long they've waited.

The words did the damage

The labels on the page decided how people read the data. "Top contributor" implies a leaderboard. "Activities outside business hours" reads as surveillance. Renaming the most charged labels was the cheapest trust fix available.

Terminology before and afterThree label changes: Top contributor becomes Engineering activity sorted by commits; Activities outside business hours becomes Activity by day, week or month; highlighted weekends are shown neutrally or removed. Before: disciplinary terms After: transparency terms Top contributor / longest streak Engineering activity, sorted by commits Activities outside business hours Activity by day, week or month Saturday and Sunday highlighted Weekends shown neutrally, or removed Recommended after the July 2023 focus groups.
Recommended label changes.

Context makes data useful

The weekday heat map was the view participants liked most, but only once it could explain itself. A light Tuesday might mean recurring meetings, not a slow engineer.

Heat map that needs contextIllustrative weekday heat map over seven weeks with Tuesday consistently light, annotated with a developer's quote that scheduled meetings on Tuesdays explain fewer commits. Commits by weekday over seven weeks, illustrative Mon Tue Wed Thu Fri “Maybe there are scheduled meetings on Tuesday, so I'm committing less on that day.” Developer, focus group
Illustrative values. The real heat map earned its place once it showed why a day was light.

Recommendations

  1. State the purpose and privacy model in the product: activity for understanding how work flows, not individual performance or policing.
  2. Rename disciplinary labels, and remove "top contributor" and after-hours metrics.
  3. Drop commit streaks from the landing view.
  4. Add context to activity views: meetings, sprint phase, and the time range in view.
  5. Fix what managers need: reconciled totals, one sortable list, oldest open pull requests first.
  6. Restart with engineers in the room: a design-thinking workshop with focus-group members to choose which metrics matter, then a blue-sky redesign.

Three of these shipped: the commit streak came off the landing view, the disciplinary labels were renamed, and weekend activity was made neutral rather than highlighted. This study was the first of four on measuring engineers; the synthesis is in Measuring developer productivity without breaking trust.

What carries over

  1. Ask what it's for before asking what people think of it. The most useful thing I did on this project happened before the first session: I stepped back from "get feedback" to "what is this for?"
  2. A dashboard about people's work is never neutral. If its purpose and words aren't designed as carefully as its charts, people will design their behavior around it instead.
  3. Test the language before the layout. The words on a dashboard decide how people read every number on it.
  4. Engineers see the risk first. A few weeks after these sessions, the industry had a very public argument about measuring individual developer productivity. The engineers in these focus groups had already made the case.