For general software development, Google’s DevOps Research and Assessment (DORA) provides insights into developments’ best processes and practices to achieve high performance in software and value delivery. DORA’s 2021 findings highlight lead times as an essential component of elite teams. The report found that “elite performers continue to accelerate their pace of software delivery, [de]creasing their lead time for changes from less than one day to less than one hour.”
Similarly, Bitrise’s Mobile DevOps, Performance, Productivity, and Maturity Assessment (MODAS) seeks to provide the same insights into mobile development best practices and processes for Mobile DevOps. And, like their web counterparts, elite mobile engineering teams build successful and high-performing apps because of decreased lead times.
Bottom line: decreased lead times mean it takes you less time to deliver value to your user.
Decreased lead times increase how fast you can deliver value
Lead time indicates the velocity of an engineering team or how fast a team moves in delivering software — from concept to product. Shorter lead times mean shorter turnaround times for new feature requests, incident resolutions, bug fixes, etc. Accordingly, decreased lead times equal a shorter time to deliver value to your customers.
Because lead time is indicative of an engineering’s team velocity, part of calculating lead time means considering:
- How incidents are logged and tracked
- Recording when a task gets added or when a ticket is created
- How long it takes to resolve an incident: hours, days, or weeks
Traditionally, lead time is calculated from when a bug is first reported, or a new feature scoped, to when the work is delivered to production. The lead time of a software change is the time it takes to deliver the change — from idea to production. Alternatively, lead time for new feature development is calculated only once the work is allocated and assigned to an engineer.
Different development practices and cultures can impact lead times as well. For example, some teams can fix small bugs with a same- or next-day turnaround and deliver to users. While this type of turnaround is rare for more extensive infrastructures, it feels impossible for mobile app development. It can be done, though, and there are ways to decrease lead time in mobile development.
3 ways to improve mobile delivery lead time
Compared to web app development, the mobile app development lifecycle is not very forgiving of bugs.
When building and shipping for mobile, you have limited control over the official app publication platforms (iOS App Store and Google Play). For example, if your app runs into a bug, Apple has its own method of bug fix deployment, and Google does too. They don’t guarantee that an update will be published immediately.
Additionally, since most apps have ways of blocking users from using older versions, users must upgrade their app before receiving the bug fix.
It’s clear that there’s no guarantee of a bug-free mobile app. However, a few preventative actions will make building and deploying (i.e., your delivery lead time) faster, easier, and more reliable.
1. Adopt a regular release train
A production release train is the deployment frequency your team members and stakeholders agree on during production. A regular production release train results in more frequent, smaller deployments. This strategy makes finding and tracking bugs easier and results in more timely fixes for your users. The time frame you specify should rely on the size and proficiency of your engineering team, your product backlog, and the frequency of bug fixes or new feature updates.
For mobile app development, two weeks to one month is a good target because it keeps the release train moving without interfering with the time it takes the app stores to review.
2. Embrace mobile-focused Continuous Integration/Continuous Delivery (CI/CD)
One of the best ways to reduce delivery lead time in mobile development is to move away from legacy CI/CD tools and instead look to mobile-focused CI/CD tools.
Mobile-focused tools deliver apps more efficiently because they address the distinctive challenges of building for mobile and include features that help you build, test, and deploy.
3. Parallel build on multiple virtual machines (VM)
A long build process inevitably slows down a development’s lifecycle. Using tools that allow you to automatically run builds or steps in parallel with one another can avoid this slowdown.
The ability to run unit and integration tests simultaneously on separate VMs significantly speeds up your build time. Even a simple build process with five one-minute steps will take five minutes if you run each step in a sequence. However, if you run all five steps simultaneously, this same process takes only one minute to complete. Imagine how much time that saves with more complex builds.
A solution like Bitrise automatically runs builds or Steps in parallel, significantly reducing build and deployment times.
Next steps: gain insight to optimize your end-to-end Mobile DevOps
We’ve covered a lot, so here’s the TL;DR for delivery lead time matters:
- A decreased delivery lead time for mobile apps increases the rate at which you deliver value to your users.
- Lead time indicates the velocity of your engineering team, i.e., how fast your team delivers software — from idea to product.
- You can decrease lead time in three ways: adopt a consistent release train, move to mobile-focused CI/CD tools, and parallel build on multiple VMs.
- Just like DORA provides DevOps teams insight into developments’ best practices for performance and value delivery, MODAS seeks to do the same for mobile DevOps.
The MODAS assessment only takes a few minutes to complete, but the impact on your team will be huge. Whether your team needs to decrease lead time or another area of your mobile development needs improving, the MODAS can help.
If you’d like to gain more insight into how your mobile development, mobile testing, mobile monitoring, mobile delivery, and mobile collaborations stack up — jump into MODAS now, or see how Bitrise can help decrease delivery lead time and support your mobile builds.