dev ops in agile - 1st conference melbourne

19
DevOps Achieving speed to market by adding DevOps to your Agile methods

Upload: mirco-hering

Post on 11-Apr-2017

377 views

Category:

Presentations & Public Speaking


0 download

TRANSCRIPT

DevOpsAchieving 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 commissioned by 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

DevelopmentDevOps

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

Rele

ase

Itera

tion

Pla

nn

ing

Itera

tion

Pla

nn

ing

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

Wall o

f confu

sio

n

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 3Traceability

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 4Test Strategy Test Automation

Test Data Management

Deployment Pipelines

Final test phase conducted in production environment with a portion of traffic

Tests automated and runwithin 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

DevApplication

TestIntegration

TestAcceptance

TestProduction

DevApplication

TestIntegration

TestAcceptance

TestProduction

Automatic trigger

Manual trigger

Continuous Delivery

Continuous Deployment

Copyright © 2016 Accenture. All rights reserved. 13

SDLC: Agile + DevOps Tool Sets

13

14

Accenture DevOps PlatformPre-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 submissionsContinuous Integration

Quality gates enforced using standardized tests against re-usable components and libraries Continuous Delivery

Managed roll-out of new features via A/B testingContinuous Deployment

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

DevelopmentSource Control

Code Review

BuildCode Quality

Deploy TestingA/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 DELIVERYGOVERNANCE & PROCESSES

• Governance Approach• Continuous Improvement• Product Management• Delivery & Change Control

AUTOMATED RELEASEOF 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

AUTOMATEDOPERATIONS

• 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 consistentapplied delivery approach

Delivery approach is welldefined, 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 integratechanges 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/APPLICATION 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