What is a project handover?
A handover is the transfer of roles and responsibilities for a project from one company, team, or person to another. It is a process, not an event. Handing over a project usually takes several months, during which the new team comes to fully understand their roles and the product as a whole in order to successfully develop it further.
A project handover, also called a project takeover, should be seamless and unnoticeable to product users.
What is a legacy project in software development?
Legacy projects are outdated and difficult to maintain and extend.
It is not easy to establish what counts as a legacy project, but there are a few commonalities that legacy projects share. Usually, they are:
- poorly documented
So where is the connection between project handover and legacy code? The answer is obvious: legacy code is actually the object of any project handover.
Why you need a smooth project handover
A well-planned and organized project handover from one software vendor to another will provide you with many benefits, including:
- A smooth transition of project responsibilities for minimal business impact
- The ability to quickly resolve any issues with legacy projects that the new team may face
- Both working teams (the departing team and the incoming team) are on the same wavelength, thanks to which there are no gaps in product understanding
Typical handover pitfalls you want to avoid
We can name a multitude of reasons why a handover can be performed inefficiently. Among them:
- The time period allotted for handing over the project does not correspond to the project’s scope and the needs of both teams. A shorter duration than required for the full transfer of knowledge, code, and artifacts leads to a large amount of information being delivered in an unrealistically short time period.
- Lack of project documentation. Verbal communication when taking over a project is much less effective than written documentation and other reference materials. Communicating verbally also often leads to the loss of information.
As a result, the following problems may occur:
- Insufficient performance. The productivity of the incoming team may fall precisely because vital information was lost during the project handover.
- Waste of time. Due to a lack of documentation or information, your new team may find themselves simply not knowing what to do next with the project they’ve received. To deal with this, it will take time to research and find a solution for further development. This time could have been saved if the project takeover had gone smoothly.
Project handover implementation: How to change vendors smoothly
Have a product roadmap
This important document shows the planned development of the software product. It will also tell your new team what has already been done as part of project development and what remains to be done in the near future so that all goals are achieved. Let’s have a quick look at the steps in creating a roadmap.
- Analyze the overall situation for the product
- Build a project development strategy
- Create a project implementation plan
- Define project roles and responsibilities
- Assess risks
- Create, approve, and improve the handover roadmap (below, we show you how to do it)
Start the project handover as early as possible and you will give both teams enough time to communicate effectively and clear any uncertainties about the project. The departing team can ensure that the project is in responsible hands, while the new team can get the opportunity to learn all project details.
Provide detailed documentation
This precedes the project takeover and is the full responsibility of your current software development vendor. Updating project documentation not only confirms the understanding of the project by all members of the current team but also significantly contributes to the rapid acclimation of the new team to the project.
Ensure multifaceted knowledge transfer
Project knowledge can be transferred through multiple channels, including video tutorials and resource lists. Sharing previous workarounds and roadblocks eases the handover significantly.
Own code and infrastructure
A question you must ask your software development vendor before signing a contract is who will own the source code. If, for some reason, it is not you, the whole process of handing over a project to a new team can turn into an endless nightmare. If you are the owner of the source code, which is preferable, then the procedure is simplified. Therefore, we recommend you make sure that a clause about source code ownership is included in the contract with your software development partner.
Get access to all third-party services
Software development usually involves integrations with many third-party products and services. Your current project team most likely used their accounts to access servers, Git repositories, and code, or may have subscribed to third-party services on your behalf. When handing over a project to another company, make sure you have all necessary access to third-party services. Your new team most likely will ask you for this access.
Clean up the code
The plan for transitioning your project from one vendor to another assumes clean, high-quality, and well-structured code. Ensuring this helps you painlessly change software development vendors.
To simplify taking over an existing team, make sure you:
- Break down code into logical parts
- Use intention-revealing names to maintain the structure of your project
- Assign each function one goal
- Use one word for any given concept
- Don’t use output arguments
Cooperate closely with both teams
In the handover process, not only technical aspects are important but also management aspects that concern the teams. Here are some tips for working with your departing and incoming teams.
- Access the code and find out its status. This will save your incoming team from mistakes and duplication of work.
- Express gratitude to your former team for a job well done. There are many reasons for taking over an existing team, and it is likely that you may be unhappy with something about the departing team. However, this is not a reason to completely break off relations.
- It’s important to keep your new (incoming) team comfortable so they can work effectively on the product.
- Make sure your new team has all the support and supplies they need to get the job done.
- Be patient. The incoming team will need some time to familiarize themselves with all aspects of the product
S-PRO Legacy Projects
Solution to increase sales of world-famous brands
A platform that helps large brands and manufacturers work directly with retail salespeople and increase their sales through surveys and training.
Healthtech ecosystem for hospital staff
A management platform that allows instant access to all patient information, simplifies planning and communication among doctors, and improves the efficiency of the healthcare industry.
Technology solution that shortens the sales cycle by 4 times
A tablet app that helps representatives of Millenium Mats, the largest mat manufacturer, accelerate and automate the sales process by visualizing designs on floor mats
Employee management platform for hospitality businesses
Staff management platform for Swiss food service and hotel establishments that automates and optimizes employee scheduling and time tracking.
Application Handover Checklist When Switching Your Outsourcing Vendor
The S-PRO team has delivered 150+ software projects in various domains: FinTech, healthcare, energy, retail, hospitality, and others. We have taken over 25 projects from another vendor and successfully delivered them, so we have lots of experience with project handovers for our clients.
Based on this experience, we’ve prepared a project handover checklist you can use to change your technical partner without harming your project and its users.
Planning is key
1. Identify team members and the objective for the transition
First, decide who is going to be involved in the handover process from both sides. From our experience, these are usually a team leader, project manager, business analyst, developers, and designers. Each person should have a clear role and aspects of the project they’re interested in.
Make sure you know who will conduct the project handover and that they have everything needed to work with your product when the handover is complete.
2. Set a deadline for the project takeover
Specify the date by which you want to finish transitioning to another company. Take into consideration the amount of information communicated by the departing team to the incoming team. Agree on this deadline with all handover participants. Also, consider the conditions prescribed in the cooperation agreement with the outgoing software vendor.
3. Create a communication plan
There’s no need to make your communication plan complicated. But be sure to indicate in it who should give what data to whom and when.
4. Create a readme doc and keep it updated
A comprehensive readme document must include:
- a product description
- project setup steps
- how to run the project locally
- how to connect to APIs and third-party services
- how to deploy a product on production
- API documentation
- an architecture and design description
- any other information that would simplify the project for an incoming team
5. Organize interviews and an introduction to the new system
Conducting knowledge sharing sessions is incredibly helpful when changing software development companies. This creates a favorable atmosphere for communication, questions, and clarifications.
6. Ownership of the codebase
If you don’t own your codebase (if it hasn’t been sent to your repository on GitHub, GitLab, or Bitbucket), we would advise you to get access to it via Git or receive it as a zip archive.
7. Ownership of accounts and credentials
Obtain a complete list of third-party services and tools from your departing team. You can ask for links and login credentials for AWS hosting/servers, databases, Google Play Store / App Store accounts, mail service applications, SSL certificates, etc.
In an ideal world, these accounts were created by you as the project owner. If the accounts were created using the corporate or personal email address of someone from your departing team, then they must transfer ownership to you.
8. Administrator account and application demo account
Obtain application administrator links and credentials for each environment. If your departing team has used demo accounts with valuable in-app content, ask them to provide credentials for those accounts with a brief description of what someone might find there after logging in.
Make sure you have access to all documentation. Usually, Jira, Confluence, and Google Drive are used to manage this part of the project. You must be provided with credentials for accounts that allow you to export the information you need. If you set up your own accounts at the beginning of the project, it makes the handover easier.
Main aspects of a project handover with S-PRO
Code review & audits for detecting and reporting bugs
Product testing and debugging to improve project quality
Project management to control the project workflow, scope, deadline, and budget
Adaptation of legacy software for work with modern systems
Server migration for transformation or cloud adoption
Code documentation for collaborating on a product
Know the product
The transition from one development team to another is a long and complicated process. But you will perform well if you plan the project takeover in advance. For that, you need to understand your project and everything involved in its development.
If you follow all the described procedures, your new team will start working faster and become maximally efficient within a short time.
And whatever happens, always take the handover process into your own hands by using the business takeover checklist we provided you above. Remember: a handover roadmap is actually a project transition plan for moving from one vendor to another.
And of course, our team of experts are here to help. Contact us to get a free consultation on how to change a software development vendor smoothly. We are ready to support you on this journey, and we are prepared to do all the heavy lifting.
1. Why do I need a project handover?
A correct handover process ensures successful further work on the project, as well as the easy and correct implementation of changes and improvements.
The more correctly this process is carried out, the easier the product will be understood by the development team and end users. The way the project is handed over affects the productivity of the new team when further project development and support are required.
2. What is legacy code?
The most important part of any software project is the code itself. So what is legacy code? Put simply, it’s application source code that is no longer supported. Legacy can also be used to describe unsupported operating systems and hardware. Legacy code is:
- untested or untestable
- encumbered by technical debt
3. What are S-PRO Takeover Services?
We offer the following takeover services: Legacy Systems, Server Migration, Code Documentation, Code Review, Quality Assurance, Project Management. Contact us here to find out more.