74
Joining up Agile and ITIL ® for DevOps success In association with Unicom Seminars

Joining up Agile and ITIL for DevOps success

Embed Size (px)

DESCRIPTION

To many people ITIL seems like the antithesis of Agile, with process-heavy, manual checks and approval gates a blocker to rapid delivery. However, at its core ITIL recommends iterative and continual improvement of software services based on the 'Plan, Do, Check, Act' (PDCA) cycle of Deming, an approach also central to DevOps. In this webinar we'll explore how - if implemented appropriately - ITIL and Agile can complement each other for a DevOps approach to iterative evolution of successful software systems.

Citation preview

Page 1: Joining up Agile and ITIL for DevOps success

Joining up Agile and ITIL®

for DevOps success

In association with Unicom Seminars

Page 2: Joining up Agile and ITIL for DevOps success

Agile (Scrum), ITIL®, DevOpsAligning Scrum and ITIL®

Focus on feedbackPractical steps for Agile + ITIL®

Page 3: Joining up Agile and ITIL for DevOps success

Skelton ThatcherIntroduction and Services Overview

Page 4: Joining up Agile and ITIL for DevOps success

‘Cloud’ changes the way we mustdesign, deliver, and operate

our software systems

Page 5: Joining up Agile and ITIL for DevOps success

Changes for ‘cloud’

Page 6: Joining up Agile and ITIL for DevOps success

Agile, ITIL®, DevOpsAligning Agile and ITIL®

Focus on feedbackPractical steps for Agile + ITIL®

Page 7: Joining up Agile and ITIL for DevOps success

Terminology

Page 8: Joining up Agile and ITIL for DevOps success

Agile

Page 9: Joining up Agile and ITIL for DevOps success

AgileIterative, early delivery

Collaboration with stakeholdersRespond to changes“Working software”

Page 10: Joining up Agile and ITIL for DevOps success

Jeff Patton, agileproductdesign.com

Page 11: Joining up Agile and ITIL for DevOps success

Jeff Patton, agileproductdesign.com

Page 12: Joining up Agile and ITIL for DevOps success

ITIL®

Page 13: Joining up Agile and ITIL for DevOps success

ITIL®

A library of good practices for ITSMNot a prescriptive framework!

Continual improvementOngoing services, not finished s/w

ITIL® is a Registered Trade Mark of AXELOS Limited

Page 14: Joining up Agile and ITIL for DevOps success

DevOps

Page 15: Joining up Agile and ITIL for DevOps success

DevOpsPractices & approaches

Effective web-scale softwareThemes: Culture, Automation, Measurement, Sharing

Avoiding handover

Page 16: Joining up Agile and ITIL for DevOps success

Not DevOps:“Automation”

“Build & Release”“Infrastructure Development”

“System Administration”

Page 17: Joining up Agile and ITIL for DevOps success

DevOps“Highly effective, daily collaboration between

software developers and IT operations people to produce relevant, working systems” *

*also QA/Testing, IT Service Desk, Programme Management, Commercial, Marketing, etc.

Page 18: Joining up Agile and ITIL for DevOps success

Agile, ITIL®, DevOpsA shared focus on working software

Iterative improvementCollaboration

Page 19: Joining up Agile and ITIL for DevOps success

Agile, ITIL®, DevOpsAligning Agile and ITIL®

Focus on feedbackPractical steps for Agile + ITIL®

Page 20: Joining up Agile and ITIL for DevOps success

Aligning Agile and ITIL®

Page 21: Joining up Agile and ITIL for DevOps success

Feedback in Agile (Scrum)

Page 22: Joining up Agile and ITIL for DevOps success

Feedback in ITIL®

Page 23: Joining up Agile and ITIL for DevOps success

Agile and ITIL®

Page 24: Joining up Agile and ITIL for DevOps success

Agile, ITIL®, DevOpsAligning Agile and ITIL®

Focus on feedbackPractical steps for Agile + ITIL®

Page 25: Joining up Agile and ITIL for DevOps success

Focus on feedback

Page 26: Joining up Agile and ITIL for DevOps success

Feedback for improved control

Page 27: Joining up Agile and ITIL for DevOps success

Plan – Do – Check – Act

Page 28: Joining up Agile and ITIL for DevOps success

Agile and ITIL®

Page 29: Joining up Agile and ITIL for DevOps success

Mapping Agile & ITIL® to PDCA

Page 30: Joining up Agile and ITIL for DevOps success

DevOps feedback

Gene Kim, http://itrevolution.com/the-three-ways-principles-underpinning-devops/

Page 31: Joining up Agile and ITIL for DevOps success

DevOps feedback

Gene Kim, http://itrevolution.com/the-three-ways-principles-underpinning-devops/

Page 32: Joining up Agile and ITIL for DevOps success

DevOps feedback

Gene Kim, http://itrevolution.com/the-three-ways-principles-underpinning-devops/

Page 33: Joining up Agile and ITIL for DevOps success
Page 34: Joining up Agile and ITIL for DevOps success

Focus on feedbackFeedback is essential for effective software

Agile: feedback during devITIL®: feedback during operation

DevOps: feedback during dev and operation

Page 35: Joining up Agile and ITIL for DevOps success

Agile, ITIL®, DevOpsAligning Agile and ITIL®

Feedback loopsPractical steps for Agile + ITIL®

Page 36: Joining up Agile and ITIL for DevOps success

Practical steps for Agile + ITIL®

Page 37: Joining up Agile and ITIL for DevOps success

Practical steps for Agile + ITIL®

Run Book collaborationChoose tools that encourage collaboration

Test early for operational readinessSingle product backlog

Keep changes smallRotate people through Dev and Ops teams

Page 38: Joining up Agile and ITIL for DevOps success

Run Book / Ops Manual•Detailed description of how the system operates•Maintenance•Repair•Error recovery

Page 39: Joining up Agile and ITIL for DevOps success

Run Book / Ops Manual• 1 Table of Contents

• 2 System Overv iew • 2.1 Serv ice Overv iew• 2.2 Contr ibu t ing Appl ica t ions, Daemons, and Windows Serv ices• 2.3 Hours of Opera t ion• 2.4 Execut ion Des ign• 2.5 In f ras t ructure and Network Des ign• 2.6 Res i l i ence, Fau l t To le rance and High -Ava i lab i l i ty• 2.7 Throt t l i ng and Par t ia l Shutdown• 2.8 Requ i red Resources• 2.9 Expected Tra f f ic and Load

• 2.9 .1 Hot or Peak Per iods• 2.9.2 Warm Per iods• 2.9 .3 Cool or Qu ie t Per iods

• 2.10 Env i ronmenta l D i f fe rences• 2.11 Too ls

• 3 Secur i ty and Access Contro l

• 4 System Conf igurat ion • 4.1 Conf igura t ion Management

• 5 System Backup and Restore • 5.1 Backup Requ i rements

• 5.1 .1 Spec ia l F i l es

• 5.2 Backup Procedures• 5.3 Restore Procedures

• 6 Moni tor ing and Aler t ing • 6.1 Er ror Messages

• 6.2 Events• 6.3 Hea l th Checks• 6.4 Other Messages

• 7 Operat ional Tasks • 7.1 Deployment• 7.2 Batch Process ing• 7.3 Power Procedures• 7.4 Rout ine Checks

• 7.4 .1 Sys tem Rebu i l ds

• 7.5 Troubleshoot ing

• 8 Maintenance Tasks • 8.1 Ma in tenance Procedures

• 8.1.1 Patch ing • 8.1 .1 .1 No rma l C y c l e

• 8.1 .1 .2 Ze ro -D ay Vu l ne r ab i l i t i e s

• 8.1 .2 GMT/BST t ime changes• 8.1 .3 Cleardown Act i v i t i es

• 8.1 .3 .1 Log R o t a t i on

• 8.2 Test ing • 8.2 .1 Techn ica l Tes t ing• 8.2 .2 Pos t -Dep loymen t

• 9 Fai lure and Recovery Procedures • 9.1 Fa i lover• 9.2 Recovery• 9.3 Troubleshoot ing Fa i lover and Recovery

• 10 Contact Detai ls

Page 40: Joining up Agile and ITIL for DevOps success

Run Book / Ops Manual2.1 Service Overview2.2 Contributing Applications, Daemons, and Windows Services

2.3 Hours of Operation

2.4 Execution Design2.5 Infrastructure and Network Design

2.6 Resilience, Fault Tolerance and High-Availability

2.7 Throttling and Partial Shutdown

2.8 Required Resources

2.9 Expected Traffic and Load

Page 41: Joining up Agile and ITIL for DevOps success

Run Book collaboration•The Dev team is responsible for the first draft• “But I know nothing about Production!”•Encourages collaboration with Ops team

Page 42: Joining up Agile and ITIL for DevOps success

Run Book collaboration• It’s not about documentation!•A means to an end•Builds trust and understanding•Aim to throw it away when complete!•Automate more over time•See http://runbookcollab.info/

Page 43: Joining up Agile and ITIL for DevOps success

Practical steps for Agile + ITIL®

Run Book collaborationChoose tools that encourage collaboration

Test early for operational readinessSingle product backlog

Keep changes smallRotate people through Dev and Ops teams

Page 44: Joining up Agile and ITIL for DevOps success
Page 45: Joining up Agile and ITIL for DevOps success
Page 46: Joining up Agile and ITIL for DevOps success
Page 47: Joining up Agile and ITIL for DevOps success
Page 48: Joining up Agile and ITIL for DevOps success

http://rashidkpc.github.io/Kibana/images/screenshots/searchss.png

Page 49: Joining up Agile and ITIL for DevOps success
Page 50: Joining up Agile and ITIL for DevOps success

“How does [the use of] this tool help people to collaborate*?”

* Work together, at the same keyboard/screen

Page 51: Joining up Agile and ITIL for DevOps success

‘How to choose tools for DevOps and Continuous Delivery’

http://bit.ly/ChooseDevOpsTools

‘DZone guide to Continuous Delivery 2014’

http://bit.ly/DZoneCDreport

Page 52: Joining up Agile and ITIL for DevOps success

Practical steps for Agile + ITIL®

Run Book collaborationChoose tools that encourage collaboration

Test early for operational readinessSingle product backlog

Keep changes smallRotate people through Dev and Ops teams

Page 53: Joining up Agile and ITIL for DevOps success

Operational readiness•Network testing•Security testing•Performance testing•Auxiliary infrastructure testing:•Monitoring•Log aggregation

•… (see http://softwareoperability.com/)

Page 54: Joining up Agile and ITIL for DevOps success

Network testing• iTrinegy network emulators•Scripted setup and automated test runs•http://www.itrinegy.com/

•Saboteur: •Network fault injection tool•https://github.com/tomakehurst/saboteur

Page 55: Joining up Agile and ITIL for DevOps success

Security testing•Gauntlt: http://gauntlt.org/# nmap-simple.attack

Feature: simple nmap attack to check for open ports

Background:

Given "nmap" is installed

And the following profile:

| name | value |

| hostname | example.com |

Scenario: Check standard web ports

When I launch an "nmap" attack with:

"""

nmap -F <hostname>

"""

Then the output should match /80.tcp\s+open/

Then the output should not match:

"""

25\/tcp\s+open

"""

Page 56: Joining up Agile and ITIL for DevOps success

Deployment pipeline•Make operational testing visible

Page 57: Joining up Agile and ITIL for DevOps success

Run Book collaborationChoose tools that encourage collaboration

Test early for operational readinessSingle product backlog

Keep changes smallRotate people through Dev and Ops teams

Practical steps for Agile + ITIL®

Page 58: Joining up Agile and ITIL for DevOps success

Single product backlog

Page 59: Joining up Agile and ITIL for DevOps success

Single product backlog

Use ‘operational features’, not NFRs

Page 60: Joining up Agile and ITIL for DevOps success

Single product backlog

Features

Page 61: Joining up Agile and ITIL for DevOps success

Practical steps for Agile + ITIL®

Run Book collaborationChoose tools that encourage collaboration

Test early for operational readinessSingle product backlog

Keep changes smallRotate people through Dev and Ops teams

Page 62: Joining up Agile and ITIL for DevOps success

Keep changes small•Smaller changes are easier to comprehend*•People are fearful of large changes•Fear prevents clear thinking (psychology)•Small changes allow easier monitoring•Make changes monitorable

* There is also sound mathematics behind small change size

Page 63: Joining up Agile and ITIL for DevOps success

Practical steps for Agile + ITIL®

Run Book collaborationChoose tools that encourage collaboration

Test early for operational readinessSingle product backlog

Keep changes smallRotate people through Dev and Ops teams

Page 64: Joining up Agile and ITIL for DevOps success

Rotate people through teams•Developers sitting with Ops people•Ops people sitting with developers•Sharing on-call duties•Learning about:•Version control•Logging•etc.

Page 65: Joining up Agile and ITIL for DevOps success

Practical steps for Agile + ITIL®

Collaborate on draft Run BooksFavour tools that enable real collaboration

Test for operability in a deployment pipelineUser-visible & operational features togetherMonitoring tools enable small changes oftenRotate people through Dev and Ops teams

Page 66: Joining up Agile and ITIL for DevOps success

Recapitulation

Page 67: Joining up Agile and ITIL for DevOps success

Agile, ITIL®, DevOpsComplementary, not conflicting

All use iterative improvementAll aim for working software

Page 68: Joining up Agile and ITIL for DevOps success

Agile, ITIL®, DevOpsFocus on feedback loops

Shorten the feedback cyclesEncourage collaboration

Page 69: Joining up Agile and ITIL for DevOps success

Agile, ITIL®, DevOpsPractical steps to join up:

Run Book collaborationChoose tools for collaboration

Test for operability up frontA single backlog for user-visible and operational features

Use monitoring to increase confidence in changesShare on-call responsibilities

Page 70: Joining up Agile and ITIL for DevOps success

Joining up Agile + ITIL®

for DevOps successSee Agile & ITIL® as complementary

Test early for operabilityCollaborate on operational features

Shorten feedback cyclesUse monitoring to increase confidence

Page 71: Joining up Agile and ITIL for DevOps success

Further readingAgile and ITIL: and how they integrate[BCS]

http://bit.ly/BCSAgileITIL

Best practice in the cloud [Axelos]

http://bit.ly/CloudITIL

Page 72: Joining up Agile and ITIL for DevOps success

Further readingBuild Quality Inbuildqualityin.com

Forewords by Dave Farley and Patrick Debois

Discount for webinar attendees!https://leanpub.com/buildqualityin/c/UnicomSeminars

http://bit.ly/BQIUnicomSeminars

Valid until 14th January 2015

Page 73: Joining up Agile and ITIL for DevOps success

Effective DevOps for Leadershalf-day seminar, run by Skelton Thatcher

Locations: London & Leeds

http://effectivedevops.com/

Promo code ‘UNICOM’ – 10% discount

Page 74: Joining up Agile and ITIL for DevOps success

Thank you!

http://skeltonthatcher.com/

[email protected]

@SkeltonThatcher

+44 (0)20 8242 4103