Back to resources

When Legacy Codebase Stalls Innovation

Innovation / Experiment
Dev Processes
Motivation

19 September, 2021

Arpan Dalal
Arpan Dalal

VP Engineering at RepairPal

Arpan Dalal, Sr. Director Engineering at RepairPal, shares how sticking to a functional, legacy codebase can stall innovation by deterring people from trying new things.

Problem

We had a legacy codebase that was working quite well. But if we wanted to add to the existing features or try something new, we would encounter some difficulties. As much as the problem was technical, it was in its essence a mindset problem. It took a mindset shift to detach from the given circumstances and approach a functional, working codebase with an innovation mindset.

As a leader, I was aware that not encouraging innovation will take its toll. I wanted to instill an innovation mindset in my team members and have them learn and experiment at all times. That will undoubtedly involve some risk, but I would be able to contain it. In all honesty, I could see nothing but benefits from it.

Actions taken

First off, I surveyed the engineering team because they were the ones to work daily on the legacy codebase. I wanted to gain their insights based on their dealings with new features, bugs and improvements. After some brainstorming with my peers in product & business, I compiled the questions and sent the survey out. I used the results to create the Happiness Index, which would measure their satisfaction with the status quo and indicate what would make them happy in terms of new challenges that we could offer. In parallel, I worked with the leadership team to secure buy-in for future initiatives that could instigate innovation. It was a bit bumpy, and it took time, but explaining why nurturing an innovation mindset was important helped with convincing.

Then I started to research thoroughly about innovation, particularly given our situation. I looked at other well-established companies that certainly had legacy codebase and perhaps, some obsolete processes but placed innovation as a top priority. The extensive research helped me not start from scratch but take their learnings and customize it to match our needs. One of the things that stood out and felt quite applicable to our situation was organizing regular hackathons. With hackathons, we were learning over time, the second being better than the first, etc. We also learned from other companies that some of the best experiments were done using AB testing. Initially, we started some AB testing on our own but then began to leverage some third-party applications for testing.

In the end, we decided to bring some fresh ideas from the outside. We established internship opportunities in cooperation with the University of California, which supplied us with some novel ideas. We opened our hackathon to their college students and future software engineers. We also extended our partnership to the computer science department, which further strengthened our cooperation with academia and ensured we were aware of the latest developments in the field.

Lessons learned

Nurturing an innovation mindset gradually brought us to the realization that we should move from our legacy codebase. There was a lot of planning needed to make that happen, and we couldn't do it all at once. We established benchmarks that helped us track our progress incrementally and motivate us to keep it going. At the same time, we made sure that the business and all stakeholders were getting their features and that things were delivered. Our work was organized not to stop new things from happening, on the contrary, it was organized to help us innovate on our codebase and have more new things.

Discover Plato

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


Related stories

DevSecOps: Why, Benefits and Culture Shift

29 November

Why DevSecOps matter and what's really in it for you, the team and the organisation?

Innovation / Experiment
Building A Team
Leadership
Ownership
Stakeholders
Cross-Functional Collaboration
Vikash Chhaganlal

Vikash Chhaganlal

Head of Engineering at Xero

How to improve engagement and retention in remote engineering teams?

25 October

Mrunal Kapade, an Engineering leader, based in Silicon Valley, shares tips that helped reduce attrition in the remote engineering teams while leading multiple teams from startups to Fortune 500 companies.

Remote
Company Culture
Collaboration
Motivation
Team Processes
Mrunal Kapade

Mrunal Kapade

Director of Engineering at Inspire Energy

Mindsets of High Performance team

14 October

Teams have tremendous impact on the products on they build. T.E.A.M definition - Together Everybody Achieves More is true. A collaborative and empowered team builds great product versus the good ones.

Innovation / Experiment
Mission / Vision / Charter
Building A Team
Productivity
Feedback
Motivation
Praveen Cheruvu

Praveen Cheruvu

Senior Software Engineering Manager at Anaplan

Bootstrapping a Startup While Working Full-Time

23 June

Lucjan Suski, CEO & Co-founder of Surfer, relates how he started a company as a side project and shares his insights on bootstrapping tech startups.

Innovation / Experiment
Motivation
Strategy
Lucjan Suski

Lucjan Suski

Co-founder, formerly CTO and CEO at Surfer

How to Help Employees Find Their Strengths and Passions

22 June

Łukasz Biedrycki, VP of Engineering at BlockFi, talks about the importance of building on your strengths and finding your passions to maximize your impact. He dives into the tactics that managers can use to support their teammates in this pursuit.

Different Skillsets
Personal Growth
Leadership
Motivation
Career Path
Performance
Łukasz Biedrycki

Łukasz Biedrycki

VP of Engineering at Glassnode