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

🔥

Back to resources

Making Delivery Faster

Dev Processes
Team Processes

19 September, 2021

Arpan Dalal
Arpan Dalal

Sr. Director Engineering at RepairPal

Arpan Dalal, Sr. Director Engineering at RepairPal, explains how to make the delivery faster by improving critical processes.

Problem

Being able to deliver faster is an unconditional imperative for software development. Businesses that can deliver their software faster will have a critical advantage over their competitors. A few years ago, while I was working in the real estate domain, our release cycles were two weeks with occasional one-week deliveries. While that seemed to be acceptable to our users, our business stakeholders wanted us to be able to deliver faster. To deliver faster, we had to improve some of our engineering practices.

Actions taken

For starters, I sat with my team and tried to understand where our process bottlenecks were. We tried to define what should be the ultimate goal we should meet and which would enable us to deliver faster. We started to inspect some blocking tickets and bugs that took significantly longer to fix to figure that out. By digging deeper, we tried to understand why those have been delayed for such a long time.

We realized that, in most cases, it was our dependencies with third parties, teams, and partners that were slowing us down. There were things we could control and some completely outside of our control. What we could control was how we ran our daily processes. We were agile on Scrum teams, but we could move some of our back-end and API pods to Kanban. So, we kept a few of our pods on Scrum and moved our back-end and API pods to Kanban. It wasn’t a massive process change, but it allowed us to get some of our releases faster.

We also established regular check-in meetings with the team to investigate why some tickets were blocked for a longer period of time. We named those investigations “blocking analysis,” during which we would analyze problems without pointing fingers. We would alleviate those blocked tickets on a regular basis, thus improving the overall processes within Engineering.

The thing we had less control over but still were able to exercise our influence had to do with our work with third parties, partners, and teams in other business units. We made sure that Engineering representative is participating in business meetings, and we created a feedback loop that allowed us to provide feedback and address those dependencies much faster than before.

After a couple of months, we were able to fine-tune our release processes and started release on a daily basis. That removed a lot of pressure that was put on the team but also appeased the business. We continued to improvise with our DevOps processes, ensuring that we could also release multiple times a day. The final result was pleasing to everyone: we were able to deliver faster, and by removing blockers, we also removed frustration our engineers got to experience.

Lessons learned

  • There will always be dependencies, either inside or outside the team, inside or outside the company. In those situations being able to deliver or solicit feedback early on is critical. If you are waiting for someone or something to happen, raise your concerns as soon as possible and have other people understand the importance of it. Communication is often overlooked, but it is a central piece of any collaborative effort, and therefore, crucial for Engineering.
  • As with any change, initially, there was some resistance to go with daily releases. However, in a short while, even those people who thought it would add to our processes and were skeptical were soon persuaded by the benefits daily releases were bringing to everyone. In fact, we didn’t add but remove some of the processes making the whole journey more lightweight.

Discover Plato

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


Related stories

Building a New Team in a Foreign Country

23 November

Adam Hawkins, Site Reliability Engineer at Skillshare, went all the way across the world to build a brand new team who worked very differently than he was used to.

Team Processes
Adam Hawkins

Adam Hawkins

Site Reliability Engineer at Skillshare

What It Takes to Understand Other’s Perspective

23 November

Nicholas Cheever, Divisional Vice President, Global Supply Chain Technology at Trimble Transportation, shares how to really understand someone else’s point of view.

Team Processes
Nicholas Cheever

Nicholas Cheever

Divisional Vice President, Global Supply Chain Technology at Trimble Transportation

How to Handle Team Collaboration After a Merger?

23 November

Nicholas Cheever, Divisional Vice President, Global Supply Chain Technology at Trimble Transportation, shares how he helped the acquired company’s team members understand the business mission and give them focus.

Acquisition / Integration
Team Processes
Nicholas Cheever

Nicholas Cheever

Divisional Vice President, Global Supply Chain Technology at Trimble Transportation

Surefire Ways to Boost Team Morale

11 November

Rajesh Agarwal, VP & Head of Engineering at Syncro, talks about effective ways to boost team morale when stepping in as a new manager in the team.

Motivation
Team Processes
Rajesh Agarwal

Rajesh Agarwal

VP and Head of Engineering at Syncro

The Right Way to Ship Features in a Startup

11 November

Matt Anger, Senior Staff Engineer at DoorDash, shares how he took the risk and shipped features in a startup.

Alignment
Product
Dev Processes
Matt Anger

Matt Anger

Senior Staff Engineer at DoorDash

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.