Taking Over Maintenance and Development of Existing Customer Applications From Other Vendors
9 December, 2021
The company was bidding in a tender for a 3-year long outsourcing contract. One of the initial steps was to transfer and re-build knowledge about 30 business support systems that were the subject of the contract. As a part of the offer, the vendor was expected to provide a plan and a schedule of this step with the price.
A team was gathered to investigate documentation that the customer made available for a short period in its premises. We ran an initial, brief analysis of those systems to understand their complexity in a minimum time better. They helped us in setting initial assumptions about the systems in question.
The methodology we used was quite similar for each system but had to be tuned to reflect specific systems characteristics. Usually, it would help if you gathered all artifacts like documentation and source code. Prepare source code repository and CI tooling to build the system. In parallel, the team may be going through source code to get acquainted with it. In the final stage, when knowledge is transferred, and tools are ready, you may be asked to solve some of the genuine production defects in the required SLA. This is a test to check if you can safely take over responsibility for this system.
Due to the scale of the endeavor – we were iteratively grouping those systems in several categories to reduce the problem and find common denominators for identified applications’ groups. This led us to identify four different groups of applications. Each group had additional complexity, and therefore the amount of work needed to re-build knowledge and set up an environment was different.
We prepared a template of a transition plan for each group, together with a schedule and workload estimate. Those templates were assigned to each application from a specific group. Thanks to that, all applications had an initial schedule and pricing.
We have slightly tuned plans for specific applications to reflect their individual characteristics in the last step.
- If the problem you face is too big to solve at once, use the divide and conquer approach.
- If you lack knowledge, try to make an assumption.
- If you are making an assumption, write them down.
Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader
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.
Co-founder, formerly CTO and CEO at Surfer
Mugdha Myers, former Engineering Manager at Google, discusses the challenges of leading a team through the ambiguity and anxiety caused by a large-scale team restructuring.
Engineering Manager at Google
Muhammad Hamada, Engineering Manager at HelloFresh, addresses the uncertainties brought on by the pandemic, how these have affected our work environments, and how we can adapt.
Engineering Manager at HelloFresh
Jord Sips, Senior Product Manager at Mews, shares his expertise on a common challenge for product managers – finding root causes and solutions.
Senior Product Manager at Mews
Snehal Shaha, Lead Technical Program Manager at Momentive (fka SurveyMonkey), details her short-term technical strategy to unify processes among teams following an acquisition.
Technical Program Management at Apple Inc.
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.