Plato Elevate Winter Summit has been announced (Dec 7th-8th)

🔥

Back to resources

Adapting Scrum to Continuous Deployment

Agile / Scrum

17 February, 2021

Mike Weaver
Mike Weaver

VP of Engineering at Invoca

Mike Weaver, VP of Engineering at Invoca, tells of his “guerilla” efforts to migrate from a traditional Scrum to a process more suitable to continuous deployment.

Problem

Several years ago, I joined a development organization that operated on a very inefficient one-month sprint cycle and manual deployment process. This quickly made it the top of my list of things to improve. However, the existing leadership team was very risk-averse, felt the existing processes were good enough and did not want change.

Actions taken

Gathering data to support the changes

Undeterred, I observed the cycle for several months and documented the many pain points: urgent mid-sprint deploys for bug fixes, wasted developer downtime time at end of or in-between sprints, giant monolithic deploys that were hard to debug and rollback, error-prone four-day long manual QA regression, the pressure to hit sprint deadlines leading to painful last-minute shortcuts, a two hour, 25 people, cross-department pre-deploy “go/no-go” meeting and a manual, late-night deploy that took the product out of service. I took this laundry list of issues to the leadership team and got a conceptual agreement that the process needed to change, but no resources or official support.

Guerilla effort to demonstrate early results

Again, I was not deterred. I set a goal of enabling fully automated deploys at least once per day and created a roadmap to get there. I developed the first several milestones of the automated deploy pipeline myself on nights and weekends. At the same time, I worked with members of the QA team during their downtime at the start of each sprint to develop an automated QA regression test. I also developed and rolled out a distributed risk management process to eliminate the need for the 25 people “go/no-go” meeting.

The demonstrated value of the partially complete deploy pipeline and automated regression tests allowed me to elevate the automation project to an officially sponsored initiative. With the ability to commit dev teams to work on the project I was able to complete the deploy pipeline, extend the regression test suite and make the significant application changes required to allow a zero-downtime deploy.

Small experimentation and iteration

After achieving the goal of daily fully automated deployments, the heavy sprint cycle development process was the next bottleneck slowing us down. Over the course of a year, I experimented with process tweaks on a single team, rolling out each successful change to all the other teams. Eventually, the vast majority of the existing process was stripped away and replaced with a lighter weight process. This process, which we still use today, allows teams to deliver a predictable flow of work while retaining the ability to quickly react to production incidents and changes in project scope.

Lessons learned

  • Use data to get buy-in to change entrenched practices. While the solutions seemed obvious to me, data and demonstrated improvements were what really convinced leadership to back the project.
  • Don’t settle when you believe you are right. Despite the lack of management support, I continued pushing the project because I believed in it. If I had given up, the organization would likely still be doing things the same, inefficient way.
  • Start Small. When changing processes/tooling, test it out with the smallest unit you can (probably a team.) Iterate at that level and tune it before fanning out to a larger group.

Discover Plato

Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader


Related stories

How to Build a Software Team from the Ground Up

12 November

Deepesh Makkar, Sr Director of Engineering at SunPower Corporation, shares his experience transitioning his organization from contractors to a 50/50 split of full-time employees and international vendors.

Hiring
Motivation
Cross-Functional Collaboration
Agile / Scrum
Deepesh Makkar

Deepesh Makkar

Sr Director of Engineering at SunPower Corporation

Choosing the Perfect Implementation of Agile

25 October

Shubhro Roy, Engineering Manager at Box, stresses the importance of the holistic nature of Agile methodology; picking and choosing à la carte may cause more problems than it solves.

Goal Setting
New Manager
Agile / Scrum
Shubhro Roy

Shubhro Roy

Engineering Manager at box

Optimizing With Scrum

13 October

Phillip Derosa, Global Director of QA at OneSpan, takes Scrum seriously; he knows that the methodology is only as effective as its implementation.

Goal Setting
Agile / Scrum
Phillip Derosa

Phillip Derosa

Global Director of QA at OneSpan

How to Wear a Lot of Hats

13 October

Phillip Derosa, Global Director of QA at OneSpan, has never been afraid to fill in the cracks between departmental duties, often coming up with a brand new intermediary position to occupy during times of need.

QA Team
Leadership
Agile / Scrum
Phillip Derosa

Phillip Derosa

Global Director of QA at OneSpan

Powerful Reasons Why Goal Setting Is Important

12 October

Mary Fisher, Software Engineering Manager at DrChrono, shares how goal setting provides the foundation to drive an organization.

Goal Setting
Dev Processes
Deadlines
Productivity
Motivation
Cross-Functional Collaboration
Prioritization
Agile / Scrum
Mary Fisher

Mary Fisher

Software Engineering Manager at DrChrono

You're a great engineer.
Become a great engineering leader.

Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.