Taking Ownership of a Legacy System
7 January, 2022
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.
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.
- 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.
Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader
The impact you can have with a Growth Mindset' and the factors involved in driving orchestrated change.
Head of Engineering at Xero
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.
Senior Software Engineering Manager at Anaplan
A major sign of trust, comfortability, and vulnerability is for someone you lead to be able to say something sucks.
Director at Curology
Jonathan Ducharme, Engineering Manager at AlleyCorp Nord, encourages the importance of a workplace environment that cultivates mental wellness.
Engineering Manager at AlleyCorp Nord
Viswa Mani Kiran Peddinti, Sr Engineering Manager at Instacart, walks through his experience scaling a team, product and his skills as a leader.
Viswa Mani Kiran Peddinti
Sr Engineering Manager at Instacart