Scrum Mastering the Backbone Team

I joined Autodesk/Shotgun’s Backbone team as Scrum Master in July 2018—a team formed with the express purpose of building and improving the mission-critical microservices that comprise Shotgun Software. Things like:

  • Shotgun Permissions framework

  • Database Performance & Query optimizations

  • Transcoding and Virus Scanning

  • Direct file upload to AWS (for both web uploads and API endpoints)

 
  • Data model modifications for Desktop software integrations

  • Creation of Python and REST API endpoints (used 2+ billion times/month by our customers)

  • Creation of a new multi-tenant event service to handle email notifications and outbound Webhooks


Improvements during my tenure as Scrum Master

better team processes

I instituted a number of common sense changes to the way the team worked, mostly to reduce distractions and increase velocity, but also to increase our bus factor. Below are some of my favorites:

  • Created a “dailies dashboard” that became the tactical focal point of standups:

    • Hot topics (escalations, regressions, 911’s, etc.)

    • Next 6 weeks of code freeze deadlines

    • Vacation and time off schedule to keep tabs on any dips in team capacity

    • Sprint Burndown chart

    • Rolling team velocity chart

    • Sprint board of all tickets left to do

  • Phased out some bad habits such as:

    • Adding tickets to the sprint without team discussion

    • Adding escalated work to the sprint without bumping out scheduled work

    • Under-estimating tickets without fully thinking out all of the documentation consequences

    • Doing unticketed work that bounced in from other teams in the form of innocuous sounding requests over Slack or email

  • Phased in some new practices such as:

    • Creating tickets for investigations and technical spikes

    • Regular Sprint retrospectives, video recorded over Zoom, then linked from the retrospective wiki page

    • Weekly client-driven backlog grooming meetings in coordination with customer support stakeholders

    • Writing incident reports for regressions and serious software bugs (patterned after devops) so that regressions would be understood, analyzed, and reported out to all the engineering teams at Scrum of Scrums

    • Pair testing with developers, with documentation as an end-goal deliverable


unfinished work decreased

By “unfinished work”, I am talking about tickets that were assigned and added to a specific sprint, but not closed out during that sprint.

Before: 863%

In the 5 sprints prior to me joining the team as Scrum Master, sprints were over-committed by 863%. The team was committing to more than 8.5 x the work it was delivering.

After: 133%

In my first 5 sprints, the average discrepancy between what we were commiting to and what we were delivering fell to within 33% of eachother.


Average Developer Productivity went up

By “developer productivity”, I am talking about the total number of story points associated with all closed tickets, broken out by assignee.

Before: 5.4 pts/DEV

In the 5 sprints prior to me joining the team as Scrum Master, the average story points completed per developer per sprint was 5.4.

I did some analysis of the velocity of my former team, and found that their avg. points/dev was around 8-10. Because the two teams do similar work, I surmised that the first team’s story point average was probably a reasonable target goal for my new team.

After: 9.47 PTS/DEV

In my first 5 sprints, average story points completed per developer per sprint went up by 75% to 9.47.