Over time, the
software industry has come up with several ways to deliver code faster, safer,
and with better quality. Many of these efforts center on ideas such as
continuous integration, continuous delivery, agile development, DevOps, and
test-driven development. All these methodologies have one common goal: to
enable developers to get their code out quickly to the people who use it. Continuous Code Improvement is an approach that allows organizations to release
code faster and more safely.
To learn more, VMblog spoke with Michael Davis, CRO at Rollbar.
VMblog: What
does Continuous Code Improvement mean?
Michael Davis: Continuous
Code Improvement (CCI) is both a methodology and a solution. CCI helps
organizations release code in faster and faster cycles while also improving
code quality.
CCI
is an approach to software development that acknowledges that code isn't
perfect and it never will be. Code is either being written, running, or
breaking. During that cycle, code issues are found, bugs filed, users surveyed,
tests performed and all of these reveal ways that the code can be made better.
CCI means detecting, understanding and making these improvements as part of
that cycle.
A
Continuous Code Improvement solution gives companies a quick feedback loop to
know when there's a code change that needs to happen, detailed information to
improve the code, and tools to automate remediation of code issues. Code is
monitored, errors detected, code improved and then re-released to continue the
cycle. CCI enables developers to focus on continually improving their code and
constantly innovating rather than spending time monitoring, investigating, and
debugging.
VMblog: Why
is continuous code improvement important?
Davis: It's
reasonable to say that the pace of iteration is only going to get faster and
faster and the time between releases will shrink. For companies to keep up the
pace, it's a prerequisite to be able to fix code issues quickly and
cost-efficiently. But it's a challenge for developers to maintain quality and
manage the risk of many, rapid releases - there is less time to test and potentially
more frequent incidents that can affect customers and users.
Continuous
Code Improvement acknowledges the need for organizations to release code in
faster and faster cycles and takes the approach that this can lead to better
code quality, not worse. Software development teams that think about their
releases in this way can succeed at their goal of releasing code faster without
compromising on code quality.
What
CCI gives you is a drastically reduced time to fix and cost to fix for code
issues. When you know you can fix things really quickly and at lower costs,
this enables you to make decisions to increase the velocity and frequency of
releases. Being able to release early and often is essential to the success of
any company today to provide value to the customer faster and iterate rapidly
to stay ahead on the innovation curve.
VMblog: How
does CCI interact with the SDLC?
Davis: Continuous
Code Improvement is both a philosophy and solution that gets embedded in the
SDLC. It adds more information to the feedback loop at all stages, informing
improvements to the next release without slowing releases down. CCI improves
error detection during QA and testing. Releases and deployments are less risky
and CCI provides a safety net with automated remediation for any new or
reactivated error. During production, problems are identified quickly and dealt
with quickly, when they are discovered, rather than being added to a long term
technical debt. Once CCI is included as part of the approach to the SDLC it
adds an additional layer that improves code quality steadily without adding
friction to the SDLC.
VMblog: Developer
efficiency and experience is a growing field. How does CCI relate to that?
Davis: Continuous
Code Improvement was developed as part of Rollbar's mission to help improve the
coding experience for all developers. So CCI is a direct result of a desire to
improve developer experience and efficiency. Rollbar's continuous code
improvement platform helps development teams deploy better software, faster,
and quickly recover from critical errors in their code. Rollbar enables
developers to focus on continually improving their code and constantly
innovating rather than spending time monitoring, investigating, and debugging.
Continuous Code Improvement is the process of automating code health to enable
developers to deploy better software, faster, and constantly innovate.
VMblog: Who
should care about continuous code improvement?
Davis: Everybody
involved with the SDLC as part of their work should care about Continuous Code
Improvement. Developers care because CCI gives them full visibility into code
issues and enables them to deal with problems quickly with detailed information
and data. That in turn allows them to get back to being productive on creating
new features and writing better code. Developer managers care because CCI and
Rollbar's tools allow their teams to be more effective and work on more
productive things. This also means that there are fewer 2AM urgent alerts to
fix errors and the experience and satisfaction of their development teams
improves. DevOps engineers care about CCI because it removes friction from the
SDLC and helps more portions of their SDLC and tools be better integrated and
operate more effectively. And the people in charge of developer experience care
about CCI because it directly impacts the experience of their developers and
helps them to be more effective.
VMblog: What
will continuous code improvement do for my organization (both at a software
team level and a business level)?
Davis: Continuous
Code Improvement will help your software teams be more effective and more
productive. More bugs will get fixed rather than pushed to technical debt. Bugs
will get fixed faster and your software teams can spend more time on creative
and productive work.
On
a business level CCI means that software releases can happen faster with higher
quality. Mean time to resolution of errors will go down. That also means that
customer complaints and issues will be dealt with faster, often before they
have a business impact.
VMblog: How
does someone get started integrating CCI into their organization?
Davis: The
best way to begin implementing CCI into your organization is to think carefully
about your SDLC and how you want to go about speeding it up and increasing
quality. Look at tools like Rollbar and how functionality like real-time error
monitoring, automated and intelligent grouping, and intelligent workflow can
help you speed up your release cycles and simultaneously improve code quality.
##