It doesn’t matter if you’re going to handover the app development project from a freelancer to a software house or from one software house to another. In each case, you need to follow the same plan to make sure the new vendor has all the required information, and the outgoing team gave you all the knowledge, documents and rights. In this blog post, we’ll present you steps to take to perform this project transition smoothly and the checklist of things you absolutely need to remember about. So let’s dive in.
A Guide to a Smooth Project Transition
You need to take care of a substantial project transition plan. Don’t be afraid to ask the new vendor about their requirements. As you are not technical, their knowledge may help you gather all the information needed. Although there are things you need to know and understand.
Step 1: Understand Your Product
When you start to transfer a project from one development team to another, try to begin from understanding your product’s specifics and technologies. You need to make sure you totally understand your project.
Here’s what you need to know:
- What is your technology stack? Make sure you know what frameworks your app is built with. There are many backend (like Node.js, Ruby on Rails, Django) and frontend (like Angular, Ionic, React) frameworks as well as additional tools like Cordova (used to access native device’s features). Your future development team will have to know in advance, which ones does your app use. In fact, you may want to hire the company that specializes in the particular technologies, so be ready to talk about it in the earliest stage of choosing the best software development company).
- Where is your app hosted? Since different hosts use different deployment procedures, you have to inform your future vendor where your app is hosted. Cloud technologies offer many solutions now. Try to be able to explain why you decided on a particular one.
- What third-party tools does your app use? Many applications benefit from various third-party services like Stripe for payments or Shopify to support an online store. List every solution your product uses.
- What platform is your app built for and with what approach? Is your app a desktop one, a web application or a mobile app? Should it work for Android or iOS? Or maybe both? Be able to explain if your app is being built as a native one, a cross-platform app or a Progressive Web App.
- How does the development process look? Best software development companies organize the development process as an iterative one, following the Agile methodology. If your software outsourcing provider had constant problems with delivering new features on time, they might not organize the process perfectly. Nevertheless, inform your new vendor how the process was standardized and documented, and how can they replicate or improve it.
Step 2: Take Care of the Knowledge Transfer
In order for a new team to understand your product and its development, the crucial step is to provide them with essential and detailed information about it.
Here’s what you need to prepare:
- Project specifications. The latest version of the specifications is a must, while any previous version, as well as the initial one, are a great source of background information. It will help a new team to understand the previous process, learn what has been done before, and what’s left to do.
- Code documentation. Documents should include source code, an outline of the app’s architecture, a description of key algorithms, app’s layers, and database structure. The documentation should also include information about frameworks and libraries, and specify which particular versions of them were used. If the code is commented, that’s a facilitation for your new vendor. All the information, docs and comments should be written in English. Well-documented code will speed up the transition and help the new team understand your project and its goals.
- Data about automated tests. Key functionalities need to be covered by automated tests. Tests should be registered and the results – made available for the future provider. That way you and your new team will be able to say with confidence what’s working and what’s not. Even if you performed manual tests, the information may not be complete. If there is no data about automated tests or they were not conducted, that’s the first thing your new provider should do.
- Assets. All the assets connected to the project should be transferred to you: mockups, design files, graphics, marketing materials, and any other files. The format should meet your new vendor’s requirements.
- Credentials. The new team will need access to the project’s repository, task tracking system, task management. They can help you here with a list of information required. You will also need access to all the tools and services your app uses. These may be source control management tools like Bitbucket or Github, web hosting, file hosting, payment services like Stripe, e-commerce solutions like Shopify.
- Guidelines. They should include instructions about deployment procedures and testing process as well as packages to install before setting the environment.
- Ask your new team if they need anything else.
Step 3: Manage the Handover Properly
Make sure all the code is in the main repository. Ask the old team to update the status and inform what was deployed, tested, and what is left in progress. Make sure the new team will immediately know where to pick up the work.
Don’t forget to update access to the code and all the tools, especially if the project transition was troublesome. If you split up in a good atmosphere, and the old team is eager to help the new one in picking up the work, you may want to leave them the access. Finally, regardless of the atmosphere, don’t forget to thank them for the cooperation.
When the new team will start to work, try to be patient and give them time to understand and organize everything. Meanwhile, remember to set expectations and inform about things that are crucial to you at this moment. Tell them about your goals. Communicate with the team and support them, make sure they know and have everything they need. Remember to provide full access to tools and services your app uses. Most services will allow you to add a collaborator to your account.
Project Handover – Major Challenges and How to Face Them
Even if you thought your handover plan in details, you might experience some trouble on the previous contractor side. In fact, the outgoing vendor is not obliged to support the incoming company.
Below we mention a few most frequent problems that may occur on the way with the ways to solve them:
- The previous contractor unwilling to cooperate: to avoid the product disruption you need to act as a mediator between the two parties. You can also offer financial compensation to a previous vendor as a reward for flawless cooperation.
- Proper IP rights transition: you need to own a work conducted by a software house. The fact that you’re the owner of intellectual property should be clearly stated in the agreement. Check it in advance.
- Confidential information in possession of the previous provider: in fact, you can never be sure that the prior vendor’s employees deleted all the files from their computers. What can protect you is a detailed NDA. Ask the vendor to provide the list and access to accounts to all tools your project’s assets are stored. If they used their accounts, set up yours and ask to switch the access.
A Software Development Project Transition – Checklist
- Make sure IP rights are on your side, and that’s stated in the agreement.
- List and understand your product’s specifics and technologies it uses.
- List all the third-party tools and services your app uses.
- Ask for access to all the accounts used for your project.
- Gather project specifications, code documentation (in English, including source code, an outline of the app’s architecture, description of key algorithms, app’s layers, database structure, frameworks and libraries used), guidelines according to deployment procedure and environment settlement.
- Make sure previous vendor created automated tests of each functionality and transferred the results. If not, plan the tests with your new vendor as a priority.
- Gather all the assets connected to your project (like mockups, design files, marketing materials).
- Update access to all accounts and tools connected to your project, delete previous vendor’s accounts.
- Give your new vendor access to accounts needed.
- Make sure the new vendor has everything they need to start the project, all the documents and files are in their possession and in the format that’s comfortable for them.
- Set expectations, goals and priorities and support the new team.
If you are looking for a new vendor for your project – you’re in the right place. At Appstronauts, we create mobile apps for Android and iOS (we specialize in cross-platform app development), web applications and Progressive Web Apps. We can take care of the design and development of your product. We’ll be glad to help you with the transition plan and process. Just send us a message at firstname.lastname@example.org!