Is it a bad idea to outsource software development? Let’s look at some examples of terrible IT outsourcing projects and think if there was a way to avoid failure.
A Successful Software Development Project Transition Plan + Checklist
WebRTC allows you to create an app that enables real-time communication between peers. Combining it with Ionic, you can quickly develop two cross-platform apps with access to the device’s features.
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. You need 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. In the end, you’ll find a 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. 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 Flutter, 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. Therefore, be ready to talk about it in the earliest stage of choosing the best software development company).
Where do you host your app?
Since different hosts use different deployment procedures, you have to inform your future vendor where you host your app. Cloud technologies offer many solutions now. Prepare yourself 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 a native one, a cross-platform app or a Progressive Web App.
How does the development process look?
The 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 previous company standardized and documented the process. They need to know how to replicate or improve it.
Step 2: Take Care of the Knowledge Transfer
The latest version of the specifications is a must. 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 is finished, and what’s left to do.
Documents should include source code, an outline of the app’s architecture, a description of key algorithms, app’s layers, and database structure. What is more, you need here information about frameworks and libraries. Then, specify which particular versions of them were used. If there are comments to the code, that’s a facilitation for your new vendor. The old team should provide all the information, docs and comments 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. The team should have registered these tests and their results. They need to share these results with your future IT outsourcing provider. As a consequence, you and your new team will be able to say with confidence what’s working and what’s not. Importantly, even if you performed manual tests, the information may not be complete. If there is no data about automated tests or the developers didn’t conduct them, that’s the first thing your new provider should do.
The old team should transfer all the assets connected to the project to you: mockups, design files, graphics, marketing materials, and any other files. The format should meet your new vendor’s requirements.
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.
They should include instructions about deployment procedures and testing process as well as packages to install before setting the environment. Finally, 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 they deployed, tested, and what is left in progress. Above all, make sure the new team will immediately know where to pick up the work.
What is more, 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. What is more, 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 detail, 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. Above all, 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. What is more, 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 the 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!
You may also like..
MVP allows you to validate your idea, gather feedback and identify your users needs. And Flutter is a perfect tool to do it time- and cost-efficiently. Discover 7 reasons to develop your MVP with Flutter.
There’s a way to start an app development project without any face-to-face meeting, with no risk, disruption nor quality loss. Check our battle-tested process.
We share the best practices on organizing an IT project remotely. This tested process allows us to keep our clients in the loop and deliver successful products.