How To Change Your Software Development Company Mid-project
Having completed thousands of software projects over the years, we at DevTeam.Space have been called in numerous times to takeover from over software development companies who just can’t get it right.
There are lots of reasons why a project might fail – poor developers and project management are two of the biggest.
If not resulting in total failure, the lack of a capable project manager (PM) and a competent development team can impede the success of a project, as I have already explained in “10 biggest challenges when developing an app”.
If you are experiencing difficulties then all hope is not lost.
A timely course-correction can bring the project back to a successful path.
We recently took over the development of DentaMatch, a platform that matches dental professionals with dental practices by offering temporary, part-time, and full-time work.
The previous development company had performed sub-optimally, however, we quickly implemented our unique AI-driven development process and turned the project around.
We are happy to say that DentaMatch is now preforming excellently in the marketplace.
Are you a product owner or project manager that is facing similar challenges with your software development project? If so, then our guide on how to change a software development company mid-project is exactly what you need.
Read on to discover the light at the end of the tunnel!
Failed software development projects: The “What” and “Why”
A 2013 survey had found that 50% of the businesses that were surveyed had experienced software project failures in the preceding year. Another survey conducted in 2015 saw 55% of the respondents reporting a project failure.
While the industry experienced a better success rate in recent years, it’s imperative that software development companies do all that they can to improve their chances of success. Read more about these surveys in “IT project success rates finally improving”.
In-house software development can be hard since businesses often make fundemental errors while executing them. As a result, they often contract outside software development companies to deliver such projects.
However, software development companies can make the same errors, and quite unbelievably, they often do! These errors include:
- Sub-optimal communication;
- The inability to course-correct;
- Inadequate project planning, tracking, and control;
- The inability to finalize clear requirements;
- The failure to set realistic expectations;
- The inability to form a competent team;
- A lack of focus on capability development;
Read more about these errors in “10 reasons why software development projects fail”.
Changing a software development company mid-project
You should undertake the following when changing a software development company in the middle of a project:
1. Find a capable software development company to replace the existing vendor
There are quite a few capable software development companies in the market. However, you need something more if your software development project is failing due to sub-optimal performance on the part of your current developer.
You need a new development partner that has the ability to turn around a failing project. A software development company needs a few distinct skills to turn around a failing project, and these are as follows:
- The ability to learn about the troubled project in-depth in a short space of time. It needs to gain a deep understanding of the technical, business, and organizational challenges too. Read more about this in “The five-step process I used to turn around a failing project at Facebook”.
- This company should also be able to clearly outline expectations, since turning around a troubled project isn’t exactly easy.
- The new development partner should have adequate capabilities to plan this turn-around.
- You have already lost time and money in your troubled project, therefore, your new development partner must have robust execution capabilities.
- The new company you would work with must demonstrate capabilities to track the project closely.
Are you wondering how to find a new development partner with the above capabilities? Well, contact us at DevTeam.Space and we can give you the advice on what you need.
Since each project is different, the criteria differ quite considerably from project to project. This is why it is important that you choose your next developer very carefully.
We managed to turn around the troubled DentaMatch development project after making sure we understood exactly what was going wrong and precisely what the company needed. We then implemented our Agile development process and onboarded several of our field expert development teams, and had the project back on course in no time.
Read more about this success story in our DentaMatch featured projects page.
2. Invoke the “exit” clause in the contract with the existing vendor
Now that you have found a capable and trusted new development partner, it’s time for you to invoke the “exit” clause in the contract with the current vendor. This is a sensitive step, therefore, ensure that you have the right people involved in the discussion.
The discussion with the existing vendor should cover the following aspects:
- You should articulate what went wrong with the project and why you hold the existing vendor responsible.
- Set a time-frame for the exit of the current vendor.
- Define what the current vendor must do as part of the disengagement.
- Gather the details of all the 3rd party contracts that the vendor owns. You need to activate the novation clauses in these contracts since you will now directly receive their services. Read “So, you need to exit your incumbent supplier?” for more insights.
- If you need a transition of any team member, activate the relevant contractual clauses.
- Activate the necessary contractual clauses to secure your intellectual property and confidential information.
- Have the necessary conversations with the existing vendor so that it cooperates with your new development partner.
3. Obtain and/or create the necessary documentation about the project
The new development partner has a better chance of turning the troubled project around if it has access to sufficient documentation about the project. There are two ways in which you can ensure this, which are as follows:
- You can work closely with the earlier service provider during the transition phase so that the outgoing team creates high-quality documentation.
- In case you aren’t successful with that, then the new team needs to study everything about the project on its own and prepare this documentation.
It goes without saying that the 1st option will help the new team to become effective quicker. On the other hand, since the earlier service provider performed sub-optimally, they are less likely to create high-quality documentation!
Hire expert developers for your next project
1,200 top developers
us over the last 3 years
You will likely need to combine both options. This means that the new development team might need to join hands with the outgoing team in preparing documentation. You need to thoroughly monitor this step.
We at DevTeam.Space always accord high importance to software project documentation. You can read “Software documentation: 6 best practices that work” to learn more about our competence concerning this.
4. Take control of 3rd party contracts
This step is applicable if the earlier development partner had entered into contracts with 3rd party providers for delivering your project. Now that you have decided to terminate the contract with the earlier software development company, you need to take control of these contracts.
You need to go through a process called “Novation”. As part of this process, the contractual obligations are transferred. You will now directly receive the products/services from the 3rd party.
The process involves the participation of you, the earlier development partner, and the 3rd party provider of products/services. Read more about this in “Novation agreement: everything you need to know”.
5. Take control of the code base of the troubled project
I assume that when you had entered into a contract with the earlier software development company, you had insisted on retaining the legal ownership of the code with yourself. You now need to exercise your contractual rights and take control of the code.
Conduct a detailed discussion with the earlier company concerning the source code and ensure that you include the new development partner in this discussion. Thoroughly account for the code repositories, e.g., GitHub repository of your project.
Remember to make a note of the latest versions, change history, etc. Read “A guide to switching development teams in the midst of a project” for more insights.
6. Assess what went wrong in the development project
At this point, you need to work with the new development partner to conduct a detailed assessment of what went wrong. The new development company should now have enough information to take a lead in this.
This assessment should cover all aspects of software development. It needs to assess the following:
- The high-level project scope and business requirements;
- What kind of architectural decisions were made and how they impacted the project;
- The development approach;
- The technical design, test plan, and test cases;
- The technology stack and development tools;
- How productive was the team;
- The effectiveness of the project management system;
- How effective was the project tracking, quality assurance processes, analysis of metrics, etc?
Read more about what such assessments involve in “Five critical first steps in recovering troubled projects”. We at DevTeam.Space have developed key capabilities in conducting such assessments.
7. Formulate a development approach for the turn-around
Now that you have assessed what had gone wrong, you should work with the new development partner to formulate a development approach to turn the troubled project around. The new development company should take the lead and do the following:
- Mitigate key application security risks: These are application risks like injection, broken authentication, XML external entities (XXE), cross-site scripting (XSS), etc. Read more about them in the “Open Web Application Security Project (OWASP) top 10 application security risks – 2017” report.
- Make appropriate IT architectural decisions and choose a viable architecture pattern: We at DevTeam.Space have the requisite expertise here, as you can see in our guide “Large enterprise Java projects architecture”.
- Choose the right managed cloud services platforms like Platform-as-a-Service (PaaS) and Mobile-Backend-as-a-Service (MBaaS): DevTeam.Space development teams have just the right expertise here. You can judge our expertise by reading our guides “How to choose the best Mobile Backend as a Service (MBaaS)?” and “10 top PaaS providers for 2019”.
- Prepare to build APIs when needed: We at DevTeam.Space have the requisite capabilities for this, as demonstrated in our guide “How to build RESTful API for your mobile app?”.
- Factor in scalability while redesigning the application: Development teams from DevTeam.Space have sufficient capability here, as you can see in our guide “How to build a scalable web application?”.
- Choose the right technology stack: At DevTeam.Space, we have in-depth expertise in the popular technology stacks, e.g.:
- Our expertise in Node.js will help your web app development project, as we demonstrate in “10 great tools for Node.Js software development”.
- Kotlin and Java are both great options for native Android development, and our development teams are experienced with both of them. You can judge our expertise in “Kotlin vs Java: Which is the best choice?”.
- Swift is a popular choice for native iOS development, and we have considerable expertise in it. Read “How to migrate your Objective-C project to Swift?” to judge our expertise in Swift.
- Python and Julia are popular choices for AI/ML development, and we have expertise in both. You can judge our capabilities with these languages by reading “Julia vs Python: Can this new programming language unseat the king?”.
8. Plan the project to ensure success
Now that your new development partner has come up with an effective approach to turn the troubled project around, it’s time to plan the project. Work closely with the new service provider, however, the provider needs to take the lead and do the following:
- It needs to structure the development team into a “Scrum team” and use the “Scrum” technique. This technique helps to manage Agile projects. We at DevTeam.Space have in-depth expertise in this, as evidenced in “How to build a scrum development team?”.
- The team needs to baseline the requirements and slot them in “Sprints”, i.e., iterations.
- Working with you, the PM from the new development company should ensure the provisioning of cloud infrastructure.
- The PM, who is called a “Scrum Master” in the scrum parlance also needs to arrange for the appropriate development tools.
- The scrum team needs to use the appropriate development and testing frameworks, moreover, the team also needs to follow the relevant guidelines.
Read “What is the best development approach to guarantee the success of your app?” for more insights.
9. The project execution and control
Armed with an effective plan, the new development partner should now execute the project. It should also control the project, regularly sharing the status with you in a transparent manner.
We at DevTeam.Space have the right competencies for this, e.g.:
- Our AI-powered Agile processes streamline the project execution, monitoring, and control.
- Our data-driven real-time dashboard helps you to get timely updates about the project status, as I have explained in “How a real-time dashboard can revolutionize your eSports development process?”.
Planning to change a software development company mid-project?
When a strategic software development project faces roadblocks due to sub-optimal performance on the part of your development partner, it’s time to change the software development company.
You need a trusted company to turn around such troubled projects. Our guide “How to find the best software development company?” can help you.
Should you need any further advice, please don’t hesitate to contact us by filling out our project specification form. One of our representatives will then be in contact to arrange a consultation call to help answer whatever queries you might have.
We wish you the best of luck switching developers, and hope you get your project turned around and back on the road to success.