Back to resources

Taking Ownership of a Legacy System

Acquisition / Integration
Architecture
Leadership
Delegate
Meetings
Reorganization
Ownership

7 January, 2022

Amar Rao
Amar Rao

Sr Director of Engineering at FanDuel

Amar Rao, Senior Director Of Engineering at FanDuel, recalls his exposure of acquiring a legacy system where his team had little experience and was unsure how to create a clear map of functionalities.

Problem

My team's most recent project involved taking over a massive system and codebase where we had little experience. There was a more extensive reorganization within my company where senior engineers were moved to new products, and my team acquired the legacy business. I struggled to manage this system, in which I had to take control of support and ownership while setting my team up for success. Our new platform consisted of code and systems that were unknown to my team. We had to identify all the moving parts and unknowns and set ourselves in a position to maintain this system long-term.

Actions taken

The first step my team executed was an audit of the existing system. During the audit, we identified the current services and processes in place. We connected our findings with information from experts from the last team to try and understand the architecture, documentation, tech debt, and known problems within the system. Unfortunately, many senior engineers who previously worked on this platform were moved to complex, fast-moving projects. Because of this, my team tried to be as efficient as possible when interacting with the experts and expanding their understanding. When we could connect with a critical subject matter expert, I tried to specifically get a level of commitment to be a resource for my team. Afterward, they were present in ad hoc meetings to consult on future projects.

After creating a foundation of knowledge, we reviewed the existing architecture with the business, product, and engineering teams. We tried to adhere to Conway's Law, where the org structure and architecture align. To do so, we mapped out the function we knew the system was supposed to do and how this related to products and features. This information was organized in a logical way in which we wanted to deliver value in the future. From there, we worked to find well-reasoned team groupings that would best support our outcomes. Lastly, my team assigned clear ownership of those areas and used it for the organization moving forward.

Establish what it means to own a portion of the system with your teams. Even if it is ambiguous, understanding who is responsible for something moving forward will bridge the distance between knowledge gaps. The outcome was a clear map of all the functionalities and products that our team was responsible for. These functionalities are aligned with business and product and separate from the audit of the existing software systems. From there, we clearly understood what logical grouping owned each of these areas and who was in leadership roles.

Lessons learned

  • Don't be stuck on the current structure you are in right now. Align with business and product on how you want to deliver value in the future.
  • When taking over any legacy systems, associating with the existing subject matter experts, plan on creating clear commitments on what level of support your team can expect.
  • Clarify what it means to be responsible for a portion of a system with your team. By doing so, your team will understand the requirements to act like an owner.
  • Establish explicit dependencies between the teams. Especially as teams take over areas they do not understand, they will be less knowledgeable about all the potential hidden dependencies. Examples of this can be stakeholders or other departments a team needs to interact with to achieve an outcome.

Discover Plato

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


Related stories

The Growth Mindset in Modern Product Engineering

28 November

The impact you can have with a Growth Mindset' and the factors involved in driving orchestrated change.

Ownership
Vikash Chhaganlal

Vikash Chhaganlal

Head of Engineering at Xero

Strategies for Hiring

12 October

Recruiting right people is the single most important decision for the company. Building a great platform, product and company is hard. Getting the right people into the company is twice hard.

Building A Team
Company Culture
Ownership
Hiring
Praveen Cheruvu

Praveen Cheruvu

Senior Software Engineering Manager at Anaplan

Leaving Room to Say Things Suck — Leadership Lessons from “Ted Lasso”

17 August

A major sign of trust, comfortability, and vulnerability is for someone you lead to be able to say something sucks.

Building A Team
Company Culture
Leadership
Coaching / Training / Mentorship
John Hartley

John Hartley

Director at Curology

How to Maintain Happiness: The Underrated Aspect of Creating Team Dynamic

2 August

Jonathan Ducharme, Engineering Manager at AlleyCorp Nord, encourages the importance of a workplace environment that cultivates mental wellness.

Personal Growth
Company Culture
Leadership
Internal Communication
Psychological Safety
Jonathan Ducharme

Jonathan Ducharme

Engineering Manager at AlleyCorp Nord

Scaling a Team in Two Parts: The Product and Manager

2 August

Viswa Mani Kiran Peddinti, Sr Engineering Manager at Instacart, walks through his experience scaling a team, product and his skills as a leader.

Managing Expectations
Product
Scaling Team
Leadership
Meetings
Viswa Mani Kiran Peddinti

Viswa Mani Kiran Peddinti

Sr Engineering Manager at Instacart