How we helped the Startup to grow from the PoC to MVP stage by automating builds.
Last year we got a request from an EU-based company that wanted to improve the development and release processes for Mobile App.
The Customer provides services and software solutions for car manufacturers.
What did the customer want to achieve using our services?
- Make the application build process transparent, predictable, and documented;
- Allow all the team members including managers to build the app at any time;
- Schedule automated builds that allow parallelling development and testing processes;
- Be able to access and store build logs and analytics, notify the team in emergency cases;
- Save dev and QA team time by using automated builds, decrease QA team idling time;
- Improve app quality by using unit tests and automation testing for every new application build;
- Roll out new releases with one button click.
What kind of problems did they face?
- Сhallenging updates rollouts caused by technical issues;
- Broken planning and delayed releases;
- Team in a hurry every release day, tons of hotfixes at the last moment;
- Lack of the quality, not enough time for testing;
- QA team idling, no parallelism in the team processes;
- Build issues occurred frequently and fixing them on the go is not the best way.
What solution did we offer to our customer?
- Investigate and prepare the documented plan for the build process, optimizations, and how to automate it;
- Discuss with the customer plan, estimation, and existing platforms for builds automation, and choose the most cost per month comfortable (Azure DevOps);
- Create and test the build process documentation;
- Migrate product source code to Azure DevOps and switch the project to git-flow;
- Create build and release pipelines, setup the build triggers;
- Connect unit tests, and build notifications;
- Study the development and QA teams how to deal with it.
Every build takes 1 - 2 hours to be completed on average, in case of issues it takes more time, so let’s say it takes 3 hours in the active feature development stage. The developer also spends time on stopping the current tasks, switching to build, preparing his local environment for the build, and then switching back to tasks that were in progress before, so let’s say it’s plus 20% of build time and so should be multiplied by coefficient 1.2. Also, there are 2 builds per week on average.
We did the approximate calculation of the team idling and non-profit spent time and got these numbers:
For the 1 software developer:
Calculating all these income in year perspective
Need the details?
Request us the details!
This problem is on the surface. At the same time, without automated builds, the app is still not tested by unit tests and affects users, the processes in the team are dependent and freeze each other, etc. Having solved these issues the company will be able to spend free time on more important strategic tasks.
Who am I?
My name is Alina Tokovenko, I am a Co-Founder at Appelian Software.
I am 7+ years in the software business and customer success. I help companies to turn their ideas into real software products and launch them.
Appelian Software plans, designs, and develops MVPs ready to enter the market and be prepared for funding. On top of that, we help to migrate software to a new tech stack or improve the performance of the product.
What technologies did we choose for this solution?
- Git Flow;
- CI/CD based on Azure DevOps;
- Ionic CLI for the app builds in the pipeline;
- Cordova CLI for the app builds in the pipeline;
- xcodebuild and Gradle to compile the final app on the hosted virtual machine;
- Karma for unit tests;
- AppStore, Google Play, and service accounts for automated uploading;
- Telegram for notifications.
What we had as a result:
- Saved money 75 862.3 EUR;
- Saved 725.76 hours allows spending free time on more important strategic tasks;
- The automation development process and testing have been accelerated 2x times;
- The product itself, its build process, and updates rollout was stabilized and covered with automated tests;
- The planning process became more predictable and transparent for the customer;
- Release application to markets with one button click;
- Migration of the other parts of projects to the same scheme.
The experiment with build automation for the mobile app development team was recognized as a successful one. So, the customer decided to migrate to the same scheme for the backend and frontend teams of the Enterprise product.
If you think that this solution is applicable to your product, or you just want to review your current build processes and fasten the releases, then contact me at email@example.com or we can discuss it on an intro call.
Let's discuss your project
Your questions and requests are welcome