DevOps
Achieving speed to market by adding DevOps to your Agile methods
IT organizations typically
spend more time testing,
deploying and releasing
software than designing and
building it
A high proportion of
production incidents are
a result of human errors
in the manual release
of software
IT Development and IT
Operations have different
values and ways of working
that are often
not in alignment
“IT Speed: The Crisis and the Savior of the Enterprise,” A Forrester Consulting study commissionedby Chef, December 2013
3Copyright © 2016 Accenture All rights reserved.
Challenges . . .
Only 17% of IT teams can deliver fast enough*
ANZ Testing
Symposium 2015
Both digital and enterprise applications must move faster to keep pace
Multi-Modal IT – A new reality (at least for a while)
3Copyright © 2015 Accenture All rights reserved.
• Digital and mobile applications require fast
changes to respond to short feedback cycles.
• Legacy systems need to be streamlined
through automated deployment approaches.
• IT must adopt fundamentally new ways to
build software including innovative
engineering practices to compete with agility
and speed.
ANZ Testing
Symposium 2015
While companies are flocking in ever-increasing numbers to cloud’s “everything-as-a-service” promise,
a reliance on traditional, in-house IT systems and applications still exists.
The Legacy Complication…and need for multi-modal IT
6
Channels & Customer Experience
“High Speed Agility”
DECOUPLING
Core Services
“Low Speed Stability”
Partners
Channels & Customer Experience
Core Services
Typical
project
Front
Back
- Today -
Cost & Pace of change led by front & backend changes
- Tomorrow -
Pace of change led by front end changes only; backend work is separate.
• High flexibility to customer needs
• Short-time to market
• Differentiation from competition
• Back-end for internal process
• High level of standardization
• Efficiency and low cost
ANZ Testing
Symposium 2015
Difference between Agile and DevOps
6
Wall of
Conflict
Wanting
Change
Development
• Create effective change
• Add/Modify features
Wanting
Stability
Operations
• Create stability
• Enhance services
Wall of
Conflict
Wanting
Flexibility
Customers
• Create flexibility
• Improve time to market
Agile
Development
DevOps
Benefits:
Alignment between Business & IT
Flexibility
More effective solutions
Reduction in Risk
(Speed to market – through smaller
batches)
Benefits:
Speed to Market
Increased Throughput
Reduction in Risk
Faster Feedback
(Reduced Cost)
ANZ Testing
Symposium 2015
Adopting DevOps principles compliments Agile delivery to enable faster delivery and speed to market
Why DevOps – example in an Agile delivery context
7Copyright © 2015 Accenture All rights reserved.
Team B
Backlog
Release
Iteration
Planning
Iteration
Planning
Iteration 1
Iteration 3
Iteration 2
Team A
Backlog
Iteration 1
Iteration 3
Iteration 2
Working software
Working software
Working software
Working software
Working software
Working software
! Wait
! Wait
! Wait
! Wait
Wallofconfusion
Developers Ops
Month 1
Month 2
Month 3
Month 4
Month 5
Month 6
Release 1
Release 2
Want Change Want Stability
ANZ Testing
Symposium 2015
Benefits Dependency Network for Continuous Delivery
Vision Objectives Benefits
Implement a
DevOps enabled
optimised IT
delivery
organisation
Increase Business
Agility
Reduced requirement creep (largely a function of development schedule)
Reduced cost of experimentation - in turn reducing the investment hurdle challenge (not rate)
Reduce Time to
Market
Increased velocity and faster time to market
Reduced risk of building the wrong thing (and not finding out until too late)
Reduced WIP
Reduce Running
Costs
Reduced deployment effort (cost)/Reduced deployment duration (time)
Reduced risk of deployment failureIncrease Delivery
Productivity
Reduced idea - realisation cycle time
Continuous Improvement of delivery (as we cycle many times, rather than once a year)
Productivity (as a function of specialisation/standardisation)
Earlier regression test through CI/shift left
Faster defect resolution (function of smaller batch sizes and faster feedback cycle -> less
triage)
Reduced production outages due to badly planned/executed changes through improved ways of working,
automation and continuous deployment, self-healing architectures, modularised IT, consistent infrastructure
across environments
Reduced production downtime to support releases
Copyright © 2016 Accenture. All rights reserved. 9
DevOps Capabilities: Automated Release of Software
Leading Practices
1 2 3Source Code
Version Control
and Traceability
Deployment
Process
Deployment
Artifact
Management
Long-lived branches
discouraged – replaced with
feature toggling and smaller
units of change.
Zero touch, zero-downtime
deployment
Automatic rolled back of
failed changes
Artifact repository tool (e.g.
nexus) is consistently used
and accessible form all
environments.
Copyright © 2016 Accenture. All rights reserved. 10
DevOps Capabilities: Continuous Integration
Leading Practices
1 2 3
Traceability
Continuous
Integration
Code Quality &
Unit Test
Builds traceable to source
code and requirements.
Test-cases traceable to
requirements.
Release notes generated from
tools
Fully automated builds on
every check-in which triggers
continuous delivery pipeline if
quality gates met
Build is typically green – CI
tooling automatically
reverses the failed change
Maintaining or improving
static code analysis is a
quality gate
Copyright © 2016 Accenture. All rights reserved. 11
DevOps Capabilities: Continuous Delivery Pipelines (Incl. Automated QA)
Leading Practices
1 2 3 4
Test Strategy Test Automation
Test Data
Management
Deployment
Pipelines
Final test phase conducted in
production environment with
a portion of traffic
Tests automated and run
within the pipeline – including
UAT, performance and
security tests
Test data (and test scripts)
version-controlled and
released via pipeline
Deployment pipeline is
consistently used across all
environment and includes all
phases of the SDLC and
automated QA
Copyright © 2016 Accenture. All rights reserved. 12
Continuous Delivery vs. Continuous Deployment
Dev
Application
Test
Integration
Test
Acceptance
Test
Production
Dev
Application
Test
Integration
Test
Acceptance
Test
Production
Automatic
trigger
Manual
trigger
Continuous Delivery
Continuous Deployment
Copyright © 2016 Accenture. All rights reserved. 13
SDLC: Agile + DevOps Tool Sets
13
14
Accenture DevOps Platform
Pre-configured tools, environments, automation blueprints and security features to increase the speed of adoption
Cloud-hosted development
environment integrated to
source code repository via
code review server
Autonomous build and
testing of code submissions
ContinuousIntegration
Quality gates enforced using
standardized tests against re-
usable components and
libraries Continuous Delivery
Managed roll-out of new
features via A/B testing
ContinuousDeployment
Cloud-based hosting and access to application services through Accenture Cloud Platform
Code Analysis
(Sonar and Black
Duck)
Integrated
Development
Environment
(Eclipse, X-code)
Source Code
Repository
(Git / Gerrit)
Continuous
Integration
(Jenkins)
Deploy
(Chef and Docker)
Test
(Selenium, Grid,
Cucumber)
Enabling tools
Development
Source
Control
Code
Review
Build
Code
Quality
Deploy Testing
A/B
Test
Release
https://www.youtube.com/watch?v=cI1RpzdsDQI - https://github.com/accenture
ANZ Testing
Symposium 2015
DevOps becomes a natural part of the Agile journey
15Copyright © 2015 Accenture All rights reserved.
Formal
Establishment of
Agile Initiative
and creation of
Agile framework
2010Before 2010
Agile Training
roll-out, Central
Coaching Team
established
Simple Projects
in Customer
facing
applications
Complex, Multi-
Vendor Agile
program initiated
Test
Automation
project
Move from
centralized to
decentralized
coaching model
Governance
and Metrics
including
productivity
KPI’s
2011 2012 2013 2014
Bottom-up driven
Agile pilots in
pockets
2010Before 2010
Technical
practice
assessment for
main applications
SAFe as guiding
methodology for
scaling, including
SAFe training
Agile updates to
financial
governance
Transition to
broader IT
operating
model
transformation
2011 2012 2013 2014
Phase 1: Adopting Agile and Scaling
Phase 2: Adopting DevOps
Phase 3: New IT Op Model
ANZ Testing
Symposium 2015
The Delivery models are evolving
Model 1:
Automated Application
Deployment into long-lived
Environments
Model 2:
Cloud provisioning of
Environments is part of the
Deployment process achieving
zero-downtime deployments
Model 3:
Container-based deployment of
Microservice based application
services
DevOps Maturity Model – Framework
Copyright © 2015 Accenture All rights reserved. 1717
DELIVERY
ORGANISATION AND
METHODOLOGY
• Release Frequency
• Delivery Organisation
• Delivery Process & Methodology
• Metrics & Governance
LEAN DELIVERY
GOVERNANCE &
PROCESSES
• Governance Approach
• Continuous Improvement
• Product Management
• Delivery & Change Control
AUTOMATED RELEASE
OF SOFTWARE
• Source Code Version Control
• Deployment Process
• Deployment Artefact Management
CONTINUOUS
INTEGRATION
• Traceability
• Continuous Integration
• Code Quality & Unit Test
CONTINUOUS DELIVERY
(INCL AUTOMATED QA)
• Test Strategy
• Test Automation
• Test Data Management
• Deployment Pipelines
AUTOMATED
OPERATIONS
• Monitoring
• Organisational Considerations
• Resilience
SW DEFINED
INFRASTRUCTURE &
CLOUD
• Environments
• Infrastructure Suitability
• Responsiveness
PLATFORM/APPLICATION
ARCHITECTURE
• Architecture
• Impact of Component Failure
• Business Enablement
Architecture
Automated
Operations
Methodology
Lean Governance & Process
Automate
d Release
of SW
Continuous
Integration
Continuous
Delivery
Pipelines
SW Defined
Infrastructure
DevOps Maturity Model - Overview
Copyright © 2015 Accenture All rights reserved. 18
DELIVERY
ORGANISATION
AND
METHODOLOGY
Release scope poorly
defined; subject to
catastrophic and ad hoc
change requests
Releases duration
exceeds business need;
releases face disruptive
change
Release cadences well
defined but exceeds
business need;
Requirements are stable;
Release on demand,
multi-speed releases;
time-box meets to
business need (eg:
monthly)
Small changes pushed
through the pipeline ;
Continuous deployment
enables innovation
LEAN DELIVERY
GOVERNANCE &
PROCESSES
No defined or consistent
applied delivery approach
Delivery approach is well
defined, but largely
manually governed
Industrialised project
delivery; governance
integrated into delivery
and product management
established
Blamefree culture
embedded in governance
that uses real-time data
rather than manual inputs
Continuous Delivery /
Deployment supporting
agile business change
with automated
governance
AUTOMATED
RELEASE OF
SOFTWARE
Mostly manual
deployments
Some CIs automated,
environment tailoring
required, no enterprise
tools
Fully automated Single-
touch deployments into
environments.
Functioning environments
can be build from nothing
programmatically.
Zero-touch zero-
downtime deployments
CONTINUOUS
INTEGRATION
No consistent use of
version control – builds
cannot be traced back to
source code
Source code consistently
managed in VCS;
releases traceable to
source
Developers integrate
changes by checking into
trunk on regular basis
(daily)
Build is typically green – if
build breaks developers
do not make other
changes until resolved
Build is typically green – if
build breaks the CI tooling
automatically reverses the
failed change
CONTINUOUS
DELIVERY (INCL
AUTOMATED QA)
Fully manual test scripts Testers run a harness /
suite
Test harness / suite run
automatically for some
envs
Automated test suites
enforce a quality gate
Tests run as functional
monitoring
AUTOMATED
OPERATIONS
No monitoring tools Tools in place, but not
configured beyond basic
OS checks
Functional monitoring in
place and DR is available
Environment and
application health
monitored and proactively
managed
Service level monitoring
(perf, usage) integrated
with infrastructure and
self-healing available
SW DEFINED
INFRASTRUCTURE
& CLOUD
Environments are
managed ad-hoc without
consistent blueprint
Environments follow
standards but are
manually created
Environments can be
created automatically and
follow common blueprint
SW defined infrastructure
that closely resembles
Production throughout
SDLC
Utility based computing
that leverages auto-
scaling for several SDLC
aspects
PLATFORM/APPLICA
TION
ARCHITECTURE
Big monolithic application
architecture
Architecture based on
platforms, business
requires IT for every
change
Resilient Architecture
minimising single point of
failures
Modular and scalable
architecture, that allows
for some business self
service configuration
Microservice based
architecture supported by
end-to-end ownership in
teams
REPEATABLE CONSISTENT OPTIMISEDAD-HOC LEADING0 1 2-1 3
If you want to know more, there is a lot of free information on our DevOps site:
https://www.accenture.com/us-en/service-devops-services-overview.aspx
My personal blog: http://notafactoryanymore.com
Feel free to follow me: @mircohering
Thank you
Copyright © 2015 Accenture All rights reserved. 19

Dev ops in agile - 1st Conference Melbourne

  • 1.
    DevOps Achieving speed tomarket by adding DevOps to your Agile methods
  • 3.
    IT organizations typically spendmore time testing, deploying and releasing software than designing and building it A high proportion of production incidents are a result of human errors in the manual release of software IT Development and IT Operations have different values and ways of working that are often not in alignment “IT Speed: The Crisis and the Savior of the Enterprise,” A Forrester Consulting study commissionedby Chef, December 2013 3Copyright © 2016 Accenture All rights reserved. Challenges . . . Only 17% of IT teams can deliver fast enough*
  • 4.
    ANZ Testing Symposium 2015 Bothdigital and enterprise applications must move faster to keep pace Multi-Modal IT – A new reality (at least for a while) 3Copyright © 2015 Accenture All rights reserved. • Digital and mobile applications require fast changes to respond to short feedback cycles. • Legacy systems need to be streamlined through automated deployment approaches. • IT must adopt fundamentally new ways to build software including innovative engineering practices to compete with agility and speed.
  • 5.
    ANZ Testing Symposium 2015 Whilecompanies are flocking in ever-increasing numbers to cloud’s “everything-as-a-service” promise, a reliance on traditional, in-house IT systems and applications still exists. The Legacy Complication…and need for multi-modal IT 6 Channels & Customer Experience “High Speed Agility” DECOUPLING Core Services “Low Speed Stability” Partners Channels & Customer Experience Core Services Typical project Front Back - Today - Cost & Pace of change led by front & backend changes - Tomorrow - Pace of change led by front end changes only; backend work is separate. • High flexibility to customer needs • Short-time to market • Differentiation from competition • Back-end for internal process • High level of standardization • Efficiency and low cost
  • 6.
    ANZ Testing Symposium 2015 Differencebetween Agile and DevOps 6 Wall of Conflict Wanting Change Development • Create effective change • Add/Modify features Wanting Stability Operations • Create stability • Enhance services Wall of Conflict Wanting Flexibility Customers • Create flexibility • Improve time to market Agile Development DevOps Benefits: Alignment between Business & IT Flexibility More effective solutions Reduction in Risk (Speed to market – through smaller batches) Benefits: Speed to Market Increased Throughput Reduction in Risk Faster Feedback (Reduced Cost)
  • 7.
    ANZ Testing Symposium 2015 AdoptingDevOps principles compliments Agile delivery to enable faster delivery and speed to market Why DevOps – example in an Agile delivery context 7Copyright © 2015 Accenture All rights reserved. Team B Backlog Release Iteration Planning Iteration Planning Iteration 1 Iteration 3 Iteration 2 Team A Backlog Iteration 1 Iteration 3 Iteration 2 Working software Working software Working software Working software Working software Working software ! Wait ! Wait ! Wait ! Wait Wallofconfusion Developers Ops Month 1 Month 2 Month 3 Month 4 Month 5 Month 6 Release 1 Release 2 Want Change Want Stability
  • 8.
    ANZ Testing Symposium 2015 BenefitsDependency Network for Continuous Delivery Vision Objectives Benefits Implement a DevOps enabled optimised IT delivery organisation Increase Business Agility Reduced requirement creep (largely a function of development schedule) Reduced cost of experimentation - in turn reducing the investment hurdle challenge (not rate) Reduce Time to Market Increased velocity and faster time to market Reduced risk of building the wrong thing (and not finding out until too late) Reduced WIP Reduce Running Costs Reduced deployment effort (cost)/Reduced deployment duration (time) Reduced risk of deployment failureIncrease Delivery Productivity Reduced idea - realisation cycle time Continuous Improvement of delivery (as we cycle many times, rather than once a year) Productivity (as a function of specialisation/standardisation) Earlier regression test through CI/shift left Faster defect resolution (function of smaller batch sizes and faster feedback cycle -> less triage) Reduced production outages due to badly planned/executed changes through improved ways of working, automation and continuous deployment, self-healing architectures, modularised IT, consistent infrastructure across environments Reduced production downtime to support releases
  • 9.
    Copyright © 2016Accenture. All rights reserved. 9 DevOps Capabilities: Automated Release of Software Leading Practices 1 2 3Source Code Version Control and Traceability Deployment Process Deployment Artifact Management Long-lived branches discouraged – replaced with feature toggling and smaller units of change. Zero touch, zero-downtime deployment Automatic rolled back of failed changes Artifact repository tool (e.g. nexus) is consistently used and accessible form all environments.
  • 10.
    Copyright © 2016Accenture. All rights reserved. 10 DevOps Capabilities: Continuous Integration Leading Practices 1 2 3 Traceability Continuous Integration Code Quality & Unit Test Builds traceable to source code and requirements. Test-cases traceable to requirements. Release notes generated from tools Fully automated builds on every check-in which triggers continuous delivery pipeline if quality gates met Build is typically green – CI tooling automatically reverses the failed change Maintaining or improving static code analysis is a quality gate
  • 11.
    Copyright © 2016Accenture. All rights reserved. 11 DevOps Capabilities: Continuous Delivery Pipelines (Incl. Automated QA) Leading Practices 1 2 3 4 Test Strategy Test Automation Test Data Management Deployment Pipelines Final test phase conducted in production environment with a portion of traffic Tests automated and run within the pipeline – including UAT, performance and security tests Test data (and test scripts) version-controlled and released via pipeline Deployment pipeline is consistently used across all environment and includes all phases of the SDLC and automated QA
  • 12.
    Copyright © 2016Accenture. All rights reserved. 12 Continuous Delivery vs. Continuous Deployment Dev Application Test Integration Test Acceptance Test Production Dev Application Test Integration Test Acceptance Test Production Automatic trigger Manual trigger Continuous Delivery Continuous Deployment
  • 13.
    Copyright © 2016Accenture. All rights reserved. 13 SDLC: Agile + DevOps Tool Sets 13
  • 14.
    14 Accenture DevOps Platform Pre-configuredtools, environments, automation blueprints and security features to increase the speed of adoption Cloud-hosted development environment integrated to source code repository via code review server Autonomous build and testing of code submissions ContinuousIntegration Quality gates enforced using standardized tests against re- usable components and libraries Continuous Delivery Managed roll-out of new features via A/B testing ContinuousDeployment Cloud-based hosting and access to application services through Accenture Cloud Platform Code Analysis (Sonar and Black Duck) Integrated Development Environment (Eclipse, X-code) Source Code Repository (Git / Gerrit) Continuous Integration (Jenkins) Deploy (Chef and Docker) Test (Selenium, Grid, Cucumber) Enabling tools Development Source Control Code Review Build Code Quality Deploy Testing A/B Test Release https://www.youtube.com/watch?v=cI1RpzdsDQI - https://github.com/accenture
  • 15.
    ANZ Testing Symposium 2015 DevOpsbecomes a natural part of the Agile journey 15Copyright © 2015 Accenture All rights reserved. Formal Establishment of Agile Initiative and creation of Agile framework 2010Before 2010 Agile Training roll-out, Central Coaching Team established Simple Projects in Customer facing applications Complex, Multi- Vendor Agile program initiated Test Automation project Move from centralized to decentralized coaching model Governance and Metrics including productivity KPI’s 2011 2012 2013 2014 Bottom-up driven Agile pilots in pockets 2010Before 2010 Technical practice assessment for main applications SAFe as guiding methodology for scaling, including SAFe training Agile updates to financial governance Transition to broader IT operating model transformation 2011 2012 2013 2014 Phase 1: Adopting Agile and Scaling Phase 2: Adopting DevOps Phase 3: New IT Op Model
  • 16.
    ANZ Testing Symposium 2015 TheDelivery models are evolving Model 1: Automated Application Deployment into long-lived Environments Model 2: Cloud provisioning of Environments is part of the Deployment process achieving zero-downtime deployments Model 3: Container-based deployment of Microservice based application services
  • 17.
    DevOps Maturity Model– Framework Copyright © 2015 Accenture All rights reserved. 1717 DELIVERY ORGANISATION AND METHODOLOGY • Release Frequency • Delivery Organisation • Delivery Process & Methodology • Metrics & Governance LEAN DELIVERY GOVERNANCE & PROCESSES • Governance Approach • Continuous Improvement • Product Management • Delivery & Change Control AUTOMATED RELEASE OF SOFTWARE • Source Code Version Control • Deployment Process • Deployment Artefact Management CONTINUOUS INTEGRATION • Traceability • Continuous Integration • Code Quality & Unit Test CONTINUOUS DELIVERY (INCL AUTOMATED QA) • Test Strategy • Test Automation • Test Data Management • Deployment Pipelines AUTOMATED OPERATIONS • Monitoring • Organisational Considerations • Resilience SW DEFINED INFRASTRUCTURE & CLOUD • Environments • Infrastructure Suitability • Responsiveness PLATFORM/APPLICATION ARCHITECTURE • Architecture • Impact of Component Failure • Business Enablement Architecture Automated Operations Methodology Lean Governance & Process Automate d Release of SW Continuous Integration Continuous Delivery Pipelines SW Defined Infrastructure
  • 18.
    DevOps Maturity Model- Overview Copyright © 2015 Accenture All rights reserved. 18 DELIVERY ORGANISATION AND METHODOLOGY Release scope poorly defined; subject to catastrophic and ad hoc change requests Releases duration exceeds business need; releases face disruptive change Release cadences well defined but exceeds business need; Requirements are stable; Release on demand, multi-speed releases; time-box meets to business need (eg: monthly) Small changes pushed through the pipeline ; Continuous deployment enables innovation LEAN DELIVERY GOVERNANCE & PROCESSES No defined or consistent applied delivery approach Delivery approach is well defined, but largely manually governed Industrialised project delivery; governance integrated into delivery and product management established Blamefree culture embedded in governance that uses real-time data rather than manual inputs Continuous Delivery / Deployment supporting agile business change with automated governance AUTOMATED RELEASE OF SOFTWARE Mostly manual deployments Some CIs automated, environment tailoring required, no enterprise tools Fully automated Single- touch deployments into environments. Functioning environments can be build from nothing programmatically. Zero-touch zero- downtime deployments CONTINUOUS INTEGRATION No consistent use of version control – builds cannot be traced back to source code Source code consistently managed in VCS; releases traceable to source Developers integrate changes by checking into trunk on regular basis (daily) Build is typically green – if build breaks developers do not make other changes until resolved Build is typically green – if build breaks the CI tooling automatically reverses the failed change CONTINUOUS DELIVERY (INCL AUTOMATED QA) Fully manual test scripts Testers run a harness / suite Test harness / suite run automatically for some envs Automated test suites enforce a quality gate Tests run as functional monitoring AUTOMATED OPERATIONS No monitoring tools Tools in place, but not configured beyond basic OS checks Functional monitoring in place and DR is available Environment and application health monitored and proactively managed Service level monitoring (perf, usage) integrated with infrastructure and self-healing available SW DEFINED INFRASTRUCTURE & CLOUD Environments are managed ad-hoc without consistent blueprint Environments follow standards but are manually created Environments can be created automatically and follow common blueprint SW defined infrastructure that closely resembles Production throughout SDLC Utility based computing that leverages auto- scaling for several SDLC aspects PLATFORM/APPLICA TION ARCHITECTURE Big monolithic application architecture Architecture based on platforms, business requires IT for every change Resilient Architecture minimising single point of failures Modular and scalable architecture, that allows for some business self service configuration Microservice based architecture supported by end-to-end ownership in teams REPEATABLE CONSISTENT OPTIMISEDAD-HOC LEADING0 1 2-1 3
  • 19.
    If you wantto know more, there is a lot of free information on our DevOps site: https://www.accenture.com/us-en/service-devops-services-overview.aspx My personal blog: http://notafactoryanymore.com Feel free to follow me: @mircohering Thank you Copyright © 2015 Accenture All rights reserved. 19