Traditionally, software leaders use
cycle time to refer to the time between
starting and delivering software.
More specifically, it's the time between an engineer beginning work on an
issue/feature and when that code is finally deployed to production and accessible
to users. Historically, this definition has arisen from a siloed view of software
development. Engineering leaders talk about the cycle time that affects engineering,
but they don't include the planning cycle time that the PMO contributed before
the project was handed off to the engineering org. Ultimately, this widely accepted
definition of cycle time doesn't fully capture every stage of the software development lifecycle.
We've seen how powerful it can be when teams collaborate rather than work in silos,
so we recommend including the planning stage when measuring cycle time. By measuring
cycle time in this way, you capture the full efficiency of your end-to-end process,
which can help you focus on finding and fixing inefficiencies across the full
lifecycle of your software – not just one part of it.
A new perspective on cycle time
- The elapsed time between starting to work on an idea and delivering to production.
- A determining factor in whether organizations can meet business demands while delivering value to customers.
This new understanding of cycle time covers the entire software development
lifecycle and accounts for the time invested in planning what actions
to take to ship an idea. The planning stage of the software development lifecycle
is one of the most crucial components, because it builds the foundation for
workflows, project management, and resource allocation.
Cycle time is a metric that measures the amount of time in a process between the start,
which often begins with an idea, and the end when it’s finally in the hands of customers.
Reducing cycle time is a competitive advantage, and this new perspective enables
teams to take an end-to-end approach to rapid delivery.
Why you should reduce cycle time
Since software touches nearly every aspect of daily life, reducing the time
between thinking of an idea and having the code in production is vital to
providing value to customers. Maintaining velocity is an important step in
listening to customers and meeting business demands. Because the market moves
so quickly, organizations must find ways to simplify processes to empower teams
to focus on delivering value to customers faster. When teams aren’t picking
through tangled processes, they can quickly ship code and innovate to create
features that customers want.
“Cycle time compression may be the most underestimated force in determining winners and losers in tech.” — Marc Andreessen
When organizations experience long cycle time, they risk losing market share.
Since competitors are faster to market and can rapidly respond to customer
needs, organizations with slow cycle time are left behind to perfect the
past needs of users. Organizations face lost revenue and opportunities,
since they’re unable to react quickly to changing market needs. A build-up of
technical debt and rising costs make problems worse, and organizations are
forced to play catch-up with their competitors.
Organizations that rapidly deliver see an increase in the number of projects and
budgets that stay on track, with developers spending more time delivering new
functionality rather than fixing defects, and faster response to constantly
evolving customer needs.
If organizations want to differentiate their software and gain market share,
reducing cycle time should be a business imperative.
How to start
There are several ways to reduce cycle time, but the two most immediate ways to
rapidly see your ideas in the hands of customers is to increase visibility and
adopt a CI/CD approach to development.
Teams require end-to-end visibility and traceability of issues
throughout the software development lifecycle – from idea to production – in
order to ship features at the speed customers demand. An increase in visibility
reduces silos and facilitates collaboration, ensuring that everyone is aware of
what’s going on and where they’re needed. To give you an example of the power of
visibility, let's take a look at GitLab. If we calculated the average time to
deliver all the features in 11.8, it would
be 250 days. With an increase in visibility, we're able to see that some features
we shipped took only 30 days, while others were in our backlog for three years.
Since we're on a monthly release cadence, knowing that many of our features were
started and delivered in 30 days helps us determine whether we're quickly
delivering value to our customers.
Continuous integration and continuous delivery
Quickly delivering what customers
want requires a modernized software development lifecycle that saves time,
effort, and cost. According to a 2017 Forrester Wave report, “CI enables software
development teams to work collaboratively, without stepping on each other’s toes,
by automating builds and source code integration to maintain source code integrity.”
A continuous delivery approach automates testing and deployment capabilities so
that software can be developed and deployed rapidly and reliably.
Are you ready to reduce cycle time? Just commit.