Desktop Communication App Re-Development with 2-Step Outsourcing
Client since: 2020 – now
Technologies: HTML, CSS, ReactJS, Electron, NodeJS, Express, MongoDB, Stripe, Azure, WordPress
As a rule, software development processes are outsourced to the final vendor, who is also often responsible for the launched product scaling, support, and maintenance. However, our recent business case has proven that software development outsourcing can also be effective when there are two vendors working on the client’s app at the same time, combining their knowledge, skills, expertise, and efforts into a holistic development strategy.
Our client is a UK-based software development company with top-notch technical expertise, well-designed approaches to remote collaboration, and hands-on software development outsourcing practices. Their client needed to rework their cross-platform application and add some features but still meet quite a strict deadline. The company also expected their vendor to proceed with this cooperation, working on their solution scaling, support, and maintenance.
The client’s app was created in response to the challenges triggered by the global switch to remote work. The aim of the solution is to make the video conferencing experience more seamless, effective, and engaging for speakers and their audiences. The first MVP launch was successful, and the app quickly gained many loyal users. However, the application’s time to market was very short, and the developers had no time to foresee some scalability and portability issues that appeared as the result of the app’s increased workload.
They were forced to quickly make some updates in user license management processes related to the growing demand for an app, but it was quite difficult as an old architecture didn’t correspond to the new requirements. The list of challenges our client had to deal with was quite impressive. It included the need for technical improvement of the app itself, testing its quality, maintaining users’ loyalty, helping the product team to grow the business at the expected pace, and getting additional tech help urgently.
After evaluating the situation, our client’s management team decided to scale their IT capacity with nearshore cross-platform development specialists. They required not only staff augmentation services but also an in-depth consultancy on app architecture and further scalability.
In the few days after signing a contract, pwrteams provided the detailed analysis of current solution performance and provided the detailed plan for the further app re-engineering. Then pwrteams has built a dedicated team that has particularly strong experience and knowledge in cross-platform development:
One full-stack developer
On-demand QA expert
Phase I. Fixing the most urgent problem.
The most urgent problem was to get the app back to the proper working mode and let the users effectively proceed with it. To do this, our team have revised the current architecture and improved it to make room for better scalability and higher stability.
Phase II. Improving the app’s quality and performance.
The next step was working on quality assurance. Since most of the users’ scenarios weren’t covered by tests, our dedicated QA expert has developed the relevant test cases, combining the most effective approaches to manual and automated testing into a holistic QA strategy. Next, tech experts worked on prioritizing and fixing the documented bugs. Together, pwrteams and client’s team have introduced Azure CI/CD practice to streamline the application’s improvements and instantly deliver them to production.
Phase III. Adding new features.
Since the demand for the app was growing, there was a clear need to add some features that would help streamline and automate work with issued licenses. We have added the following features to the app:
Application Auto Updates instead of doing it manually.
Crash reports. This is an essential feature to keep the application working and instantly responding to any issues. Since the application was already carefully tested, the Crash reports feature was a preventive but still necessary tool.
License checking procedure. This feature allows for putting a user’s license on hold automatically after it has expired and if the user didn’t renew it.
Trial keys. This feature gives the sales team the opportunity to share trial and personalized keys, according to the specific request and need of the user. With this feature, they may do it without the developers’ help.
Admin panel (or Back Office). This is a reconsidered dashboard that allows the app’s administrators to manage keys; activate, deactivate, archive, and unarchive keys; plus set personalized keys’ expiration dates.
Phase IV. Switching to support mode.
After we fixed the most crucial issues and added the necessary features, both of the teams switched to support and maintenance mode to ensure the app continues working properly.
It was a challenging project that required both high competence, skills and a strong commitment to result and ability to work fast under pressure. We are delighted with our cooperation with their company as they have successfully delivered what they promised and haven’t broken any deadlines. It allowed our client not only to resume the growth of their product but also won new market shares.