Key Takeaways
FORRESTER.COM
Table Of Contents
2 Companies Know They Must Deliver Faster,
But Where To Start?
3 Organizations Face Consistent Barriers To
Faster Delivery
4 Introducing Forresters Agile And DevOps
Practice Model
7 Traditional Approaches Let You Release
Quarterly, But Its Not Pretty
7 To Release Every One To Three Months,
Stabilize The Delivery Pipeline
10 To Release Monthly, Make Systemic
Changes To Your Pipeline
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
FIGURE 1 Application Release Cycles Are Still Too Long For Many Organizations
2%
2%
8%
21%
26%
16%
11%
10%
6%
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
Keeping everyone as busy as possible causes waiting, busywork, and delay. Managers love
it when their employees are busy it makes everyone feel important and needed. But there is a
hidden cost: When one employee needs another employee to get something done, they wait, and
they fill their time with noncritical work. When software delivery is the goal, the cumulative result is
delay. Handoffs, stops, and restarts all lead to slower, less effective releases.
Lack of
effective
customer
insight
Too much
WIP
Manual build
and integration
processes
Manual testing
Lack of
Manually
sufficient test
managed
data to make
environments
decisions
UAT/
exploratory
testing
Idea
proposed
Understand
needs and
invent
solutions
Develop,
commit,
and build
Waiting
for build
and test
environments
Functional
testing
Release
decision
Deploy
solution
Customer
value
Load,
performance,
security, . . .
testing
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
To help organizations improve their delivery capability, Forrester has created a model that describes the
central practices that AD&D pros must apply to deliver at specific release cadences (see Figure 3). This
model is based on the experiences of hundreds of organizations across a wide variety of industries
and government entities. It describes the typical practices of these organizations that enable them to
deliver at the associated application release cadence.
FIGURE 3 Key Delivery Practices And The Release Capabilities They Enable
Release cycle
More than
three months
One to three
months
Practices
Characteristics
Largely manual build and integration, environment Chaotic releases driven by personal
heroics
provisioning, testing, and governance
Relatively infrequent releases
Developers working on separate branches,
producing inconsistent results
periodically integrating
High cost of wait time hidden by
Siloed teams, when teams even exist; lots of
high utilization rates; over-focus on
individuals with low collaboration
cost of labor due to predominance
The business is disengaged, Scrum/Agile adoption
of manual activities
is inconsistent.
Code versioned
Adopt enterprise Agile practices such as SAFe and
Nexus; high trust within and across teams
Goals shift from utilization and activity
measurement to customer experience and value.
Continuous integration is used to drive build,
integration, and build verification.
Automated deployments at least to testing
environments
Artifact repository is used to manage binaries.
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
FIGURE 3 Key Delivery Practices And The Release Capabilities They Enable (Cont.)
Release cycle
One to four
weeks
Daily or faster
Practices
Characteristics
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
Traditional Approaches Let You Release Quarterly, But Its Not Pretty
Most organizations want to release faster, but they are frightened by the risks and instability they
see when they try do so with their existing practices. The following experiences are common to
organizations using traditional, largely manual practices:
Developers dont consistently version source code. While most developers version source
code, some do not; when they do, they may work on a branch for long periods, creating codemerging complexity.
QA testing is largely manual and disconnected from developers work. Manual testing
consumes significant time, and relying on user interface (UI)-based testing means that defects
are discovered late in the delivery cycle when the original developers context is largely forgotten.
Recreating this context means developers spend substantial time fixing the defect.
Deploying and running applications is largely ops problem. Developers are only held
accountable for preproduction quality; once the application is deployed, operations or quality
assurance (QA) is held accountable. Developers are deprived of vital feedback on the quality of
their applications, and QA and ops are saddled with problems they didnt create.2
Siloed resources maximize their use, which reduces overall speed to market. Lacking a
singular focus on improving customer experience or contributing to the bottom line, employees are
measured by how busy they are and the busier, the better. The problem is that whenever they are
needed, they are usually busy doing something else, which adds delays and increases hidden costs.
The business is largely disengaged from the application delivery process. The business views
participation in application delivery as a side job, not its main focus. Requirements are largely
gathered upfront and using traditional approaches, even when the development team employs
some Agile practices such as a water-Agile-fall approach.3
Personal heroics and rolling crises are common. Inconsistent manual processes mean that
someone always has to step in to fix a problem, and sometimes the problems are big. The lack of
repeatable processes means that knowledge is often tacit and hoarded. In a chaotic organization,
knowledge is power even though it perpetuates dysfunction.
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
Begin to change the culture to focus on customer experience, not utilization. Organizing in
functional silos can create incentives for employees to focus narrowly on their job rather than on
improving customer experiences or business results. Measuring everyone on customer experience
and responsiveness (as measured by cycle time) incents team members from different silos to work
together toward a common goal. Changing culture takes time, but it begins with shared objectives.4
Make developers version all source-code changes and check in code frequently. To increase
the pace of delivery, developers must check in code changes many times a day. They cant work
for days or weeks on a private branch and expect that their code will integrate with all the other
code being developed. Working in smaller increments and integrating frequently lets developers
stay in sync with one another.
Manage open source and third-party components. Open source and third-party components
can help organizations speed development and reduce cost, but they can also increase risk
exposure when organizations do not manage them effectively. Evaluating and approving standard
components helps organizations streamline their software supply chains, improve quality, and
reduce risk and cost.5
Automate software build and unit testing with continuous integration practices. Continuous
integration is the automated assembly line for the application development process. It builds and
tests software automatically every time a change is delivered to the source code repository, but it
can do more. It can verify that the changed code meets quality standards using static analysis tools
and by running unit tests before it is merged into the main code line where it might affect other
developers.6 Push developers to unit-test 100% of the code they write, and dont merge code into
the trunk until they do.
Continuous integration is the enabling foundation for continuous delivery. Without it, teams struggle
to deliver sufficient velocity to enable the feedback loop that is essential to delivering business
value at more rapid cycles. (Mike Dillon, vice president, development services, Financial Industry
Regulatory Association [FINRA])
Automate deployment to test environments. Continuous integration enables automation of more
than just software build and integration; it provides a general-purpose automation framework for
delivery pipeline tasks. Deploying a build to a testing environment once it passes unit tests will
eliminate manual effort and speed testing efforts. At one- to three-month release cycles, testing
beyond unit testing is still largely manual, but at least having unit testing done better and more
often saves teams valuable time and forms the basis for more test automation in the future. At this
release frequency, automating 30% of all functional tests is a realistic goal.
Adopt Agile work management approaches. Agile project management practices help
organizations break down large requirements into small chunks that they can develop, test, and
demonstrate in intervals of just a few weeks. While demonstration is not the same as deployment
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
to production, doing so forces teams to continuously build and test working software and establish
the working habits that enable them to develop high-quality solutions more quickly than with
traditional approaches.
Bring new IDEAs to forming application delivery teams. Agile teams are composed of people
with diverse skills and who are dedicated to the team, not shared across many projects. They
plan and manage their own work, working flexibly to complete most work within the team without
having to call upon (and wait for) outside resources. They spend less time waiting for others and
more time getting work done. Reducing wait time helps them deliver applications faster and with
less overhead than traditional shared resource teaming models.7
Forresters IDEA team approach extends the Agile teaming model by bringing together the right
people to identify the outcomes that customers or users need to achieve, design the experiences
that will deliver those outcomes, engineer and deliver the solution, and analyze the result, repeating
the loop as necessary (see Figure 4).8
FIGURE 4 IDEA Teams Bring Together Diverse Talents To Deliver Great Results
Identify
personas,
outcomes, and context.
Analyze
results to monitor
performance and
optimize outcomes.
Start small
with a platform
to extend.
Design
the experience.
Engineer
your platforms,
processes, and
people to deliver the
experience.
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
10
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
11
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
The key is that the tests need to run in minutes, not hours. This means that some tests may need
to run in the background in order to provide rapid feedback to developers. If tests take too long,
developers will stop using CI. (Engineering lead, software-as-a-service company)
API-based testing requires coding skills, meaning that testers also need to shift their skills left
by learning how to code. They must work alongside developers when they create APIs to define
executable tests that detect when APIs are broken. Over time, they need to develop deeper
functional tests by writing API tests that string together multiple API calls to perform a function.
Make test environments simulate production with service virtualization technology. Service
virtualization enables organizations to simulate applications and services without having to fully
replicate a production environment.17 Network virtualization lets them simulate the variability of realworld communication networks when testing connected applications, especially when developing
mobile apps. Test data management, though often overlooked, gives organizations the ability to
create realistic test data sets in less time, with less data. When application logic is data-sensitive,
as many commercial applications are, test data management gives organizations confidence that
their application testing is uncovering logic errors.18
Service virtualization also simplifies and reduces team dependencies by simulating the APIs of
components that other teams are developing. Automated unit tests detect API changes and
expose broken API contracts. As long as APIs dont change and the fully realized components are
available by release time, teams can work relatively independently, eliminating complex program
management coordination.
Ops Must Automate Provisioning And Deployment To Increase Delivery Speed
Developers and testers need an environment to do their work, and every time they have a build to test,
it has to be deployed. To enable everyone to do their best work, ops needs to:
Version environment configurations and automate provisioning. Application code needs to
run in environments with specific configurations; when environments arent configured correctly,
applications break. Versioning both together and building standardized environments with
automation helps organizations eliminate hard-to-diagnose errors that cause developers or testers
to say It works fine on my machine when they try to reproduce a defect.19
These infrastructure as code practices typically start with systems but can evolve to extend
to networks and storage. Infrastructure as code also provides a perfect opportunity for AD&D,
infrastructure and operations (I&O), and information security pros to work together to define
environment configurations.20
Production incidents are expensive. When we did a root-cause analysis on ours, we found that
18% were due to configuration errors. Infrastructure as code practices helped us to eliminate
those. (I&O manager, petrochemical company)
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
12
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
13
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
14
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
They build common application platforms. Common components and frameworks let teams be
more productive while reducing variability across teams. These components come from a variety
of sources: in-house delivery teams, open source projects, and commercial vendors. Application
delivery teams produce better results, faster, when they build on top of common platforms.26
They mediate all team interactions through services and APIs. Modular services, with
associated APIs, let teams focus on building their own software rather than spending time
coordinating with other teams.
They excel in at least the fundamental DevOps practices. These organizations have effective
trunk-based development practices, they excel in continuous integration and infrastructure as
code, and they automate their releases, at minimum. Depending on their needs, some teams may
also use more advanced release cycle practices: While not everyone needs to release many times
a day or use feature toggles, everyone needs to be able to patch applications quickly when new
security vulnerabilities are detected.
Recommendations
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
15
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
Automate governance assessments. Security audits and code quality compliance are two areas
where automation can reduce time and labor cost while improving results. Static analysis tools and
automated tests provide objective and inexpensive means for ensuring quality results without timeconsuming meetings and expensive, and often inconsistent, manual inspections.
Make sure the business is more than along for the ride put it in the drivers seat. Achieving
better results requires everyone to be fully engaged, especially the business. Faster delivery gives
you a closer connection to customers and the ability to adapt quickly to new information, but
only when the business is fully engaged. Faster delivery not only enables new business models, it
demands new business models and new approaches to cocreating innovative solutions, delivering
them to customers, gathering feedback from customers through analytics, and refining solutions
based on a constant stream of new information.
Analyst Advisory
Supplemental Material
Survey Methodology
Forresters Business Technographics Global Developer Survey, 2015, was fielded to 1,943 developers
located in Australia, Brazil, Canada, China, France, Germany, India, New Zealand, the UK, and the US.
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
16
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
Forresters Business Technographics provides demand-side insight into the priorities, investments, and
customer journeys of business and technology decision-makers and the workforce across the globe.
Forrester collects data insights from qualified respondents in 10 countries spanning the Americas,
Europe, and Asia. Business Technographics uses only superior data sources and advanced datacleaning techniques to ensure the highest data quality.
Companies Interviewed For This Report
American Medical Association
IBM
AppDynamics
Infosys
Atlassian
Magenic
Basis Technologies
MasterCard
CA Technologies
Microsoft
Capital One
Nationwide Insurance
Chef Software
New Relic
Clarive Software
OpenMake Software
CloudBees
Optum
CollabNet
Parasoft
Perforce
Danske Bank
DBmaestro
Prologis
Deutsche Bank
Puppet Labs
Disney
Serena Software
Electric Cloud
Skytap
FamilySearch
FINRA
Tech Mahindra
Gap
ThoughtWorks
GE
Travelers Insurance
Grant Thornton
XebiaLabs
ZeroTurnaround
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
17
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
Endnotes
For a summary of how value stream mapping works, and the core steps and milestones needed to define it, see the
Faster Software Delivery Will Accelerate Digital Transformation Forrester report.
Putting developers on call provides them with valuable insights into how their applications are used and how they
operate. See the Brief: Put Developers On The Front Lines Of App Support Forrester report.
Agile adoption varies greatly across organizations. For a deeper view, see the The 2015 State Of Agile Development:
Learn From Agile Expert Firms Forrester report.
Most organizations say that changing their culture is the most challenging aspect of improving their delivery
capabilities. For a more thorough discussion of the cultural and organizational aspects of improving application
delivery capabilities, see the Use DevOps Practices To Create A Lean And Responsive Application Delivery
Organization Forrester report.
DevOps practices actually improve application governance rather than weakening it. See the Use DevOps And
Supply Chain Principles To Automate Application Delivery Governance Forrester report.
A wide variety of continuous integration tools are available, led by the popular open source tool Jenkins; its
commercial extension CloudBees Jenkins Enterprise; and other commercial offerings, such as Atlassians Bamboo,
Electric Clouds ElectricCommander, IBMs AnthillPro and Rational Build Forge, JetBrains TeamCity, Microsofts Team
Foundation Server, and OpenMakes Meister.
For a perspective on the typical roles on Agile teams, see the The 2015 State Of Agile Development: Learn From Agile
Expert Firms Forrester report.
For more information on IDEA teams, see the Organize For Mobile Development Success Forrester report and see
the Mobile Moments Transform Customer Experience Forrester report.
For more information on how design practices improve application delivery capability, see the Bring Design Practices
To Application Development Forrester report.
For more information on how organizations extend basic Agile practices, such as shorter iterations, improved team
communication, transparency for the business, and measurements focused on value with downstream practices, see
the Agile Experts Focus On Downstream Delivery Forrester report.
10
For a deeper view of application analytics, see the Application Performance Management Remains The Same Even
With Mobile Forrester report.
11
APIs are key to DevOps and the digital business strategies they enable. See the APIs Underpin A Digital Business
Platform Forrester report.
12
Modular applications composed of independent services are easier to deliver and evolve over time, but most legacy
applications are built upon monolithic application architectures. Rewriting those applications is often impractical or
too expensive, making incremental modernization the only alternative. See the Application Modernization, Service By
Microservice Forrester report.
13
For a view on other practices that enhance security and reliability, see the The Seven Habits Of Rugged DevOps
Forrester report.
14
Companies like Datical and DBmaestro provide solutions that enable organizations to make rapid and frequent
changes to relational database schemas.
15
For more information on how DevOps improves application delivery governance, see the Use DevOps And Supply
Chain Principles To Automate Application Delivery Governance Forrester report.
16
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
18
Boost Application Delivery Speed And Quality With Agile DevOps Practices
Road Map: The Modern Application Delivery Playbook
In Forresters 15-criteria evaluation of service virtualization and testing vendors, we evaluated five solutions offered by
CA Technologies, HP, IBM, Parasoft, and SmartBear Software. See the The Forrester Wave: Service Virtualization
And Testing Solutions, Q1 2014 Forrester report.
17
Test data management helps organizations reduce the cost and complexity related to providing clean and consistent
test data. See the Vendor Landscape: Enterprise Test Data Management Forrester report.
18
For an overview of release automation tools, see the Market Overview: Application Release Automation Tools
Forrester report.
19
20
For more information on how DevOps improves application delivery governance, see the Use DevOps And Supply
Chain Principles To Automate Application Delivery Governance Forrester report.
21
For an evaluation of popular release automation tools, see the The Forrester Wave: Application Release
Automation, Q2 2015 Forrester report.
22
Measuring customer experience is a complex subject. For some of the latest insights on the topic, see the How To
Measure Emotion In Customer Experience Forrester report.
Microservices and containers are hot topics. For more information, see the Microservices Have An Important Role In The
Future Of Solution Architecture Forrester report and see the Nine Questions To Ask About Docker Forrester report.
23
Blue-green deployment is a release technique that reduces downtime and risk by running two identical production
environments called Blue and Green. At any time, only one of the environments is live, with the live environment serving
all production traffic. Canary deployments are a pattern for rolling out releases to a subset of users or servers. The idea
is to first deploy the change to a small subset of servers, test it, and then roll the change out to the rest of the servers.
24
25
For more information on this topic, see the Agile Experts Focus On Downstream Delivery Forrester report.
26
For more information on how a common platform enables faster application delivery, see the Case Study: Fidelitys
Journey To A Common Platform For Global Scale And Efficiency Forrester report.
2016 Forrester Research, Inc. Unauthorized copying or distributing is a violation of copyright law.
Citations@forrester.com or +1 866-367-7378
19
Technology Management
Professionals
CIO
Application Development
& Delivery
Enterprise Architecture
Infrastructure & Operations
Security & Risk
Sourcing & Vendor
Management
Technology Industry
Professionals
Analyst Relations
CLIENT SUPPORT
For information on hard-copy or electronic reprints, please contact Client Support at
+1 866-367-7378, +1 617-613-5730, or clientsupport@forrester.com. We offer quantity
discounts and special pricing for academic and nonprofit institutions.
Forrester Research (Nasdaq: FORR) is one of the most influential research and advisory firms in the world. We work with
business and technology leaders to develop customer-obsessed strategies that drive growth. Through proprietary
research, data, custom consulting, exclusive executive peer groups, and events, the Forrester experience is about a
singular and powerful purpose: to challenge the thinking of our clients to help them lead change in their organizations.
113382
For more information, visit forrester.com.