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

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

Head of Engineering at Spectral Finance

How to Motivate Your Engineers to Grow in Their Careers

13 June

Roland Fiala, Senior Vice President of Engineering at Productsup, highlights the importance of soft skills and shares how he motivates his engineers to further their careers by focusing on personal growth.

Goal Setting
Different Skillsets
Handling Promotion
Personal Growth
Coaching / Training / Mentorship
Motivation
Team Processes
Career Path
Performance
Roland Fiala

Roland Fiala

Senior Vice President of Engineering at Usergems

How to Successfully Rebuild Your Product

6 June

Adir Nashawi, Senior Product Manager at Hibob, shares his insight and experience from rebuilding a product to handle many feature requests and offerings.

Customers
Product
Dev Processes
Users
Prioritization
Adir Nashawi

Adir Nashawi

Senior Product Manager at Hibob

Finding the Mission-Driven Product Management Role That You Want

5 June

Krishanu Sengupta, Product Lead, AI & ML at Compass, offers insight on how to develop into a role you are passionate about by obtaining experience in roles that build relevant skills.

Goal Setting
Managing Expectations
Product
Personal Growth
Motivation
Career Path
Krishanu Sengupta

Krishanu Sengupta

Product Lead, AI & ML at Compass