You are on page 1of 22

DevOps Pushes

Agile to ITs Limits


Implementing DevOps Where Agile Rules
@scriptrock | www.scriptrock.com
2 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
DevOps Pushes
Agile to ITs Limits
Software engineering is changing and
DevOps is at the heart of it.
The demands of todays always-on business depends on the ability
of IT to be more nimble & responsive to the needs of the customer.
An organizations ability to be responsive requires better collaboration,
communication and integration across all key stakeholders inside
and outside of IT.
The principals of the both the Agile and DevOps approaches fosters
holistic thinking, heightened engagement, and communication and
problem solving skills.
This style of work results in a greater understanding of practice
areas among the larger team and encourages individuals to consider
varying points of view, even when they work in isolation.
ITIL
S
E
R
V
I C
E STR
A
T
E
G
Y
AGILE
OPERATIONS
AGILE
DEVELOPMENT
RELEASE
FEEDBACK
&
METRICS
DEVOPS
S
ERVICE DESIG
N
SE
R
V
I
C
E

T
R
A
N
S
I
T
I
O
N
S
E
R
V
I
C
E

O
P
E
R
A
T
I
O
N
Agile and DevOps are related ideas who share a common Lean ancestry, but work
on diferent planes. While Agile deep dives into improving one major IT function
(delivering software), DevOps works on improving the interaction and fow across
IT functions stretching the length of the entire development to operations lifecycle.
3 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
DevOps Pushes Agile to ITs Limits
Many enterprises over the last decade have undergone a radical change as a
methodology known as Agile was introduced, gained rapid acceptance and
proliferated throughout the enterprise.
One key tenet of the Agile development process is to deliver working software
in smaller and more frequent increments, as opposed to the the big bang
approach of the waterfall method.
When the shift to Agile development was
made, it required development to change the
way the entire organization operated.
Agile has been instrumental for development to produce higher-quality software
that is more in tune with user needs and ofers swifter release cycles.
4 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
DevOps Pushes Agile to ITs Limits
Today, weve reached another
infection point.
In response to market pressures and new technology like cloud computing, the DevOps
movement has been born to improve IT service delivery agility and quality.
As Agile gained momentum over the years, it unintentionally left IT operations behind due to
the piled up deployments waiting for operations to deploy, manage and control.
When code is not promoted into production as it is developed, deployments will pile up,
customers dont get value and the deployments often result in chaos and disruption.
This is where DevOps principles come innot as a new approach as much as an enhanced
one that builds of the Agile principles founded in the Agile Manifesto.
5 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
DevOps Pushes Agile to ITs Limits
Some say DevOps is
the new-age version of
Agile development.
DevOps, which is a relatively new movement (frst mentions can be tracked
back to 2009) occurring within IT, promotes collaboration & automation among
development and operations to increase the velocity of code into production
while improving its resiliency, availability and stability.
Sounds pretty familiar to Agile in fact.
Both share many common traits, however implementing DevOps to increase
speed and innovation requires adopting Agile development methodologies, and
Agile development requires quicker and more frequent release cycles.
Agile and DevOps share many
common traits, however
DevOps enables a far more
continuous fow of work into
IT Operations, which is critical
to increasing velocity while
improving quality of software.
6 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Agile vs. DevOps
Practical Diferences in Methodology
The goals of DevOps sounds similar to the goals of Agile,
but the two approaches are diferent.
The goals of Agile are to:
develop software faster
be responsive to changes
and get higher quality results
The goals of DevOps are similar in that it strives to:
accelerate time to market
improve ITs value by more closely aligning
development, IT operations and the business
increase IT productivity
7 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Agile vs. DevOps Practical Diferences in Methodology
Just because their goals are similar,
each methodology has its uniqueness.
Agile stresses frequent releases of software with an emphasis on
collaboration between development and the business.
However, Agile development tends to produce releases faster than they
can be deployed leaving IT Operations with a backlog of production-
ready code that has to be tested, deployed and managed.
These short release cycles followed by delays in deployment can
prevent IT and the business from achieving their goals.
DevOps, on the other hand, stresses collaboration, communication
and culture between development and IT operations which help
in building timely, reliable and high quality software.
The fear of change, evolving roles & responsibilities, and organizational
behavior & incentive structures make DevOps transformation
difcult to say the least.
The fear of change, evolving
roles & responsibilities, and
organizational behavior &
incentive structures make
DevOps transformation
difcult to say the least.
8 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Agile vs. DevOps Practical Diferences in Methodology
DevOps is as much a technical problem
as it is a business and people problem.
DevOps creates visibility between development and operations
team.
It is concerned more about the product rather than the
project.
It is about automation rather than documentation.
DevOps ensures that good software does not end with its release.
It is about ensuring a continual feedback loop between
development and operations team.
DevOps principles aim to extend development into production,
create production feedback loops into development, plus embedding
development into IT operations and vice versa.
What Are Agiles Limitations?
You may not identify a software defect until
late in the lifecycle or in the production.
Gains of Agile methodology evaporate
once the application goes into production.
Delays when developers and testers
wait for resources they want to access.
Hard to pinpoint problems in develop-
ment, testing or production phases.
Development views their job as done
once the code is in production.
When problem arises, everyone starts
pointing fngers laying blame at each other.
9 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Agile vs. DevOps Practical Diferences in Methodology
DevOps works a lot better if operations
teams adopt Agile methods.
DevOps enables realization of the benefts of continuous and faster
delivery of functionality achieved through Agile.
DevOps has two approaches that change how Agile methodology
is implemented.
The frst approach is the removal of team silos
between Dev and Ops.
The other approach is the use of continuous
integration/continuous delivery and automation tools
in order to achieve a very lean value stream and
reduced batch sizes.
10 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Agile vs. DevOps Practical Diferences in Methodology
You dont have to choose between
Agile or DevOps, they are compatible.
But you do need to design an implementation that
aligns them appropriately as you undergo this business
transformation.
There will certainly be some challenges along the way
and youll likely hear things like:
DevOps is just another buzzword.
Its not new. Were already doing DevOps.
Our managers dont allow us to do DevOps.
Our employees dont take responsibility.
A recent survey of 110 CIOs conducted by IDG
Research Services found the following as the
greatest obstacles to implementing DevOps:
Source: ca technogies Report Market Pulse Research: The State of DevOps (link)







Need to understand what technologies can help
IT organization and environment are too complex
Lack of right skills within development and operations
Lack of an executive mandate
Benets/ROI are dicult to quantify
Organization is resistant to change
Not sure where to start
Other
None
37%
34%
31%
29%
28%
26%
22%
5%
5%
11 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
DevOps is a response to the fact that there exists a
disconnect between development and operations team.
Across most enterprises, there exists:
need for greater collaboration between development and operations team
need for simultaneous deployment across multiple platforms
pressure from the business to release applications more quickly to meet
customer demands
need to improve end customer experience
need to develop and deploy cloud-based apps for scale and to reduce costs
Agile + DevOps
How DevOps Compliments Agile Development
12 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Agile + DevOps How DevOps Compliments Agile Development
DevOps is stretching Agile principles
beyond the limits of the code
to the entire value chain.
DevOps builds on Agile to deliver quick, high quality
releases by streamlining development and operations.
DevOps inherits principles of Agile development, but
extends service delivery and team interactions to increase
the value of the product delivered to customers.
DevOps involves embracing automation that speeds
up and smooths out the fows across and within the
various silos.
Plus, DevOps is tackling the cultural & behavioral aspects
of IT that when solved improve quality of code, quality
of releases and better job satisfaction.
Time spent per week on key activities:
Source: zeroturnaround.com DevOps/ITOps Productivity Report 2013 (link)
13 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Agile + DevOps How DevOps Compliments Agile Development
DevOps is simply Agile best practice that software development teams
should aim forwhether youre doing Agile, DevOps, ITIL, CoBIT, ISO,
Lean, cloud or whatever.
Call it what you will, DevOps promotes continuous fow of work into
IT Operations and in turn continuous deployment and integration.
In Agile methods, if the development team delivers code every two
weeks, but its deployed only every two months, customers dont
get value and the deployments often result in chaos and disruption.
DevOps, on the other hand, empowers developers to test and
automate their code before releasing it to the operations stakeholders
and in some cases just bypass this step altogether.
Developers discover defects early in the SDLC and also test whether
the code will work properly in production early in the SDLC which
enables quick and timely releases.
14 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Agile + DevOps How DevOps Compliments Agile Development
The key indicators of a successful
Agile to DevOps implementation are:
+ an increase in the number of releases
+ less time taken in production
+ increase in release date adherence
+ low/no defects in the application
+ increased collaboration between departments
+ improved quality of deployed applications
+ exploration of new software
+ reduced time to market software
+ an increase in revenue
+ software made available across
multiple platforms
+ increased frequency of deployments
of software
15 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Moving from Agile to DevOps
Key Challenges and Considerations
So youre thinking about transforming from Agile to DevOps?
Agile means that developers can issue more releases, more frequently,
to keep applications fresh and in line with user requests and with
marketplace trends.
With DevOps you can enable developers and operations personnel to work
better togetherand the whole company benefts.
But, both methodologies are chock-full of challenges.
Whether it be a complexity, culture, roles & responsibilities, or a
skills gap, youre sure to run into them.
For the business at large,
the culture of DevOps
ensures that developers
and operations people are
working together so that
Agile development can occur
without reams of crappy code
that make users cringe.
16 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Moving from Agile to DevOps Key Challenges and Considerations
Organization Complexity
DevOps is a people problem and enterprises by nature are complex.
If the organization has too many people, too many departments,
pockets of automation, poor communication between teams and
incentive structures that drive a particular behavior, then imple-
menting DevOps can be a challenge.
Roles Unaligned and Misunderstood
In many organizations, there exists invisible barriers between
silod independent teams. Whether it is a turf war, a lack of under-
standing or just the way it has always been, this poses a problem
when adopting DevOps since it requires interdepartmental coor-
dination, collaboration and communication. It is hard to break old
habits and there could be competing goals at work all at once.
Many existing IT enterprise processes, tasks and workfows
are not representative of the needs of DevOps. In addition, by
adopting DevOps, development & operations teams are assigned
roles previously done by others which can create a lack of clarity
surrounding who is responsible for what.
Key Challenges
If youre considering transforming from Agile to DevOps, here are
some of the key challenges to be mindful of:
Fear of Change
Who moved my cheese!? Many organizations, teams and individuals
tend to be rigid and resistant to change. Adoption of DevOps may
take time before organizations fully understand and embrace it.
Security
When adopting DevOps, an organization may have security
concerns especially when data is moved to the cloud. The organi-
zation may be reluctant adopting DevOps and cloud computing.
However, DevOps should be considered an opportunity to address
security requirements early and often.
Tone at the Top
DevOps is partially about transforming and changing your business
and without the proper buy-in and tone from senior leadership,
having long-term success will be very difcult. Also, having clear
expectations to drive accountability and results should be required.
17 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Moving from Agile to DevOps Key Challenges and Considerations
Key Considerations
Below are some key considerations when transitioning from Agile to DevOps in the enterprise:
Development Culture vs Operations Culture
The culture of an organization is crucial before jumping into automation. Automation
is a noble goal, but is secondary to solving the cultural aspects of your business. The
development team and the operations team must change their way of operations for
DevOps to be implemented.
Continuous Involvement of the Operations Team
The IT Operations team should be continually involved in the development of
the application. Participating in discussions, decisions and execution of things
involving the technical and schedule feasibility of the solution should become
commonplace. IT operations (as well as Quality Assurance, InfoSec, Service
Management and Enterprise Architecture) related requirements should be taken
into account as early in the SDLC as possible to create trust, break down silos and
improve speed & quality.
Stability vs Change
Pushing speed versus stability is a delicate balance in the SDLC, but enterprises must
strike a balance to achieve its goals. Careful coordination between development
and operations is a start, but getting end-to-end visibility and creating account-
ability & collaboration across previously separate teams is crucial to making prog-
ress with the DevOps implementation. But sometimes not changing and keeping
things much the same is the right decisiononly you know the answer to what is
best for your organization.
18 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Moving from Agile to DevOps Key Challenges and Considerations
Demand for Increased Number of Releases
If business owners are demanding an increase in the number of releases compared
to your current velocity, then at least proof-of-concepting a DevOps initiative for a
specifc project or program should be considered. Experimenting with org struc-
tures, incentive structures, and working on building a winning culture across dispa-
rate teams can help prove whether more widely deploying DevOps in your enterprise
makes good sense or not.
Cost of Change
The organization must consider if there are enough resources to invest in DevOps.
To implement DevOps, an organization must investment in tools, training, and the
hiring of new skills.
Going Mainstream with the Cloud
The business is demanding the agility that both cloud computing and DevOps
provides. Whether public, private or hybridcloud is foundational to helping scale
at mach speed. Cloud and DevOps are not mutually exclusive, however the avail-
ability and power of the cloud enhances your ability to practice DevOps by ofering a
dynamic platform to develop and run applications.
Key Considerations (continued)
19 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Implementing
DevOps Where Agile Rules
The motivation driving the DevOps movement is the frustration involved in
releasing and maintaining software systems across teams with opposing goals.
In the end, what DevOps hopes to bring to Agile is the understanding
and practice that software isnt done until its successfully delivered
to the user and meets their expectations around performance,
availability, reliability, and faster delivery.
On the following pages are some recommendations for consideration
if implementing DevOps in an organization where Agile is the norm:
20 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Implementing DevOps Where Agile Rules
Step 1 Tone at the top is key.
Get buy in early from senior leadership and be sure to collaborate with middle management
to ensure alignment. The organization must commit wholly for DevOps to be a success. It is
not a one-of investment; it is a process that involves people, communication and integration.
Step 2 Employ services thinkingand systems thinking
...to help in the breakdown of complex systems into simple components and modular
services allowing rapid and incremental changes.
Step 3 Identify the waste, bottlenecks and delays in the SDLC.
This process involves mapping all the stages and handofs and measuring how long work
takes to move through the cycle. Once you have identifed the main points of failure and
waste, begin automating individual components appropriately. Use automation tools to
test the software, practice confguration automation, consider leveraging continuous
integration and deployment tools to integrate work done in a given period of time, and
scan for integration errors early and often.
21 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Implementing DevOps Where Agile Rules Key Challenges and Considerations
Step 4: You must invest in your people.
Staf in DevOps needs to augment their skills for better collaboration among each other,
with project managers and business programs. The Dev and Ops staf need to build new
skills to add to their core skills in a DevOps environment. And as this cross-pollination
begins to occur, new skills will emerge that you will need to identify and plan for.
Step 5: Focus beyond the lower costs and high speed that is brought by DevOps.
Recognize that there are more substantial benefts possible with successful implementation
of DevOps. Here are some interesting stats:
Devops produces Devops results in Devops reduces
63% 33% 60%
more frequent
software releases
more time devoted to
improving infrastructure
of time spent
handling support cases
Statistics sources:
http://www.theserverside.com/discussions/thread.tss?thread_id=78446 (link)
https://puppetlabs.com/wp-content/uploads/2013/03/2013-state-of-devops-report.pdf (link)
22 DevOps Pushes Agile to ITs Limits: Implementing DevOps Where Agile Rules @scriptrock | www.scriptrock.com
Conclusion
As DevOps adoption continues to rise, organizations who have not
implemented DevOps are at continual risk of being left behind.
DevOps encourages faster release of features, more
stable operational environment and production of
high quality products with more value to the customer.
Making the transition from Agile to DevOps means
leaving behind many of the comforts you and your
team have gotten used to. Both approaches stand for
iterating and improving, discussing and redefning
many things that pose challenges within a traditional,
entrenched IT enterprise.
For these reasons, your biggest bump in the road may
be shear resistance and fear of the unknownsome
of which may even be your own.
But these obstacles should not stand in your way from
making the transition since it is one way you can make
a true step-change in your IT department, regain the
trust of your business and begin to align your entire
product lifecycle to take advantage of the many talented
resources and tools available to all of us.
Visit Us:
Email Us:
Calls Us:
Follow Us:
www.scriptrock.com
info@scriptrock.com
(888) 882-3223
@scriptrock
Want to learn more about how ScriptRock can unlock
DevOps for your IT Enterprise? Get to know us better.

You might also like