implementing devops and making it stick

81
AT2 Concurrent Session 11/14/2013 10:15 AM "Implementing DevOps and Making It Stick" Presented by: Alex Papadimoulis Inedo Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888Ͳ268Ͳ8770 ͼ 904Ͳ278Ͳ0524 ͼ [email protected] ͼ www.sqe.com

Upload: techwellpresentations

Post on 30-Oct-2014

259 views

Category:

Technology


0 download

DESCRIPTION

If you’ve ever been involved in promoting cultural change within an organization, you may have experienced something even more disheartening than flat-out rejection—a full rollback of hard-won cultural change followed by a decade-long resentment of anyone remotely associated with the implementation. This has happened at countless organizations with agile, with SOA, with virtualization—and it’s starting to happen with DevOps. How can such a simple idea that’s been so successful at so many organizations become such a resounding failure at others? It’s not the organization, and it’s certainly not DevOps. The problem lies in the implementation, and ultimately, with its promoters and champions. Alex Papadimoulis discusses what this "DevOps thing" is all about, goes over the technical and organizational strategies for a successful long-term DevOps implementation, shares a few big failures at big companies, and covers the common and not-so-common pitfalls when promoting this type of cultural change.

TRANSCRIPT

Page 1: Implementing DevOps and Making It Stick

AT2 Concurrent�Session�11/14/2013�10:15�AM�

�����

"Implementing DevOps and Making It Stick"

���

Presented by:

Alex Papadimoulis Inedo

��������

Brought�to�you�by:��

��

340�Corporate�Way,�Suite�300,�Orange�Park,�FL�32073�888Ͳ268Ͳ8770�ͼ�904Ͳ278Ͳ0524�ͼ�[email protected]�ͼ�www.sqe.com

Page 2: Implementing DevOps and Making It Stick

Alex Papadimoulis Inedo

Alex Papadimoulis is a speaker and writer who's passionate about looking beyond the code to build great software. Through the years, he’s served in many different roles (from developer to executive), in different industries (from healthcare to manufacturing), at a variety of companies (from a one-man shop to a megabank). He’s seen his share of successful projects and failures—undoubtedly contributing to some. Alex believes failure is a powerful lesson and founded The Daily WTF, a site which chronicles bad code and other failures in IT. Alex recently founded Inedo, a company that builds software tools to help organizations effectively and responsibly implement agile software delivery and DevOps methodologies.

Page 3: Implementing DevOps and Making It Stick

Implementing DevOps… and Actually Making it Stick!

ADC East 2013 Alex Papadimoulis

@apapadimoulis

Page 4: Implementing DevOps and Making It Stick
Page 5: Implementing DevOps and Making It Stick

10 PRINT "ALEX IS COOL"

20 GOTO 10

Page 6: Implementing DevOps and Making It Stick

_________ _...._ .| \ |.' '-. __ .' |_ \ .'```'. '. .:--.'. .' \ | \ \ / | \ |'--. .-| | | | | `" __ | | | | ' | \ / . .'.''| | | | | |\`'-.-' .' / / | |_ | '. | | '-....-'` \ \._,\ '/ | /' .' '. `--' `" `'-' '-----------' ____ ____ ____ ___ _ _ _ ____ ____ ____ [__ | | |___ | | | | |__| |__/ |___ ___] |__| | | |_|_| | | | \ |___

Page 7: Implementing DevOps and Making It Stick
Page 8: Implementing DevOps and Making It Stick
Page 9: Implementing DevOps and Making It Stick
Page 10: Implementing DevOps and Making It Stick

• Approval Flag of "DUP"

• Attach "DUPVFY" instead of “DUPCHK"

Page 11: Implementing DevOps and Making It Stick

function flagForApproval(code) { if (code == "DUP") { attachSupplemental("DUPCHK"); } }

Page 12: Implementing DevOps and Making It Stick

function flagForApproval(code) { if (code == "DUP") { attachSupplemental("DUPCHKVFY"); } }

Page 13: Implementing DevOps and Making It Stick

You did what!?

Page 14: Implementing DevOps and Making It Stick
Page 15: Implementing DevOps and Making It Stick

• Estimation • Internal Prioritization • Prioritization Review • Approach Write-up • Approach Review & Approval • Implementation Write-up • Implementation Review & Approval • Prioritization Evaluation • Code Assignment

Page 16: Implementing DevOps and Making It Stick
Page 17: Implementing DevOps and Making It Stick

53 More Steps!

Page 18: Implementing DevOps and Making It Stick

There has to be a better way.

Page 19: Implementing DevOps and Making It Stick
Page 20: Implementing DevOps and Making It Stick

Extreme!!~!1!

Page 21: Implementing DevOps and Making It Stick
Page 22: Implementing DevOps and Making It Stick
Page 23: Implementing DevOps and Making It Stick
Page 24: Implementing DevOps and Making It Stick
Page 25: Implementing DevOps and Making It Stick
Page 26: Implementing DevOps and Making It Stick
Page 27: Implementing DevOps and Making It Stick

“Agile”

Page 28: Implementing DevOps and Making It Stick

Agile Principles

1. Smaller Changes

2. Sooner

Page 29: Implementing DevOps and Making It Stick
Page 30: Implementing DevOps and Making It Stick

Sooner

Page 31: Implementing DevOps and Making It Stick
Page 33: Implementing DevOps and Making It Stick
Page 34: Implementing DevOps and Making It Stick
Page 35: Implementing DevOps and Making It Stick
Page 36: Implementing DevOps and Making It Stick

There has to be a better way.

Page 37: Implementing DevOps and Making It Stick

Dev Ops

Page 38: Implementing DevOps and Making It Stick

SCM Integration Testing QA Production

Page 39: Implementing DevOps and Making It Stick

DevOps

1. Increased Collaboration

2. Automation

Page 40: Implementing DevOps and Making It Stick

SCM Integration Testing QA Production Dev Ops QA

Mgmt

Page 41: Implementing DevOps and Making It Stick

QA

Dev

Ops

Mgmt

Page 42: Implementing DevOps and Making It Stick
Page 43: Implementing DevOps and Making It Stick
Page 44: Implementing DevOps and Making It Stick
Page 45: Implementing DevOps and Making It Stick
Page 46: Implementing DevOps and Making It Stick
Page 47: Implementing DevOps and Making It Stick
Page 48: Implementing DevOps and Making It Stick
Page 49: Implementing DevOps and Making It Stick
Page 50: Implementing DevOps and Making It Stick
Page 51: Implementing DevOps and Making It Stick
Page 52: Implementing DevOps and Making It Stick
Page 53: Implementing DevOps and Making It Stick
Page 54: Implementing DevOps and Making It Stick
Page 55: Implementing DevOps and Making It Stick
Page 56: Implementing DevOps and Making It Stick

Identify

Step 1

Page 57: Implementing DevOps and Making It Stick

Policies

Page 58: Implementing DevOps and Making It Stick

People

Page 59: Implementing DevOps and Making It Stick

People

Page 60: Implementing DevOps and Making It Stick

Assess

Step 2

Page 61: Implementing DevOps and Making It Stick

Champions

Page 62: Implementing DevOps and Making It Stick

Anti-Champions

Page 63: Implementing DevOps and Making It Stick

Adversaries

Page 64: Implementing DevOps and Making It Stick

Opponent

Page 65: Implementing DevOps and Making It Stick

Skeptic

Page 66: Implementing DevOps and Making It Stick

Expert

Page 67: Implementing DevOps and Making It Stick

Frantic

Page 68: Implementing DevOps and Making It Stick

Tinkerer

Page 69: Implementing DevOps and Making It Stick

Hoarder

Page 70: Implementing DevOps and Making It Stick

Align

Step 3

Page 71: Implementing DevOps and Making It Stick

Aha!

Page 72: Implementing DevOps and Making It Stick

Enable

Page 73: Implementing DevOps and Making It Stick

Politics

Page 74: Implementing DevOps and Making It Stick

Execute

Step 4

Page 75: Implementing DevOps and Making It Stick

Prioritize I. Development Structure

II. Build Automation

III. Deployment Automation

IV. Process Automation

V. Infrastructure Automation

Page 76: Implementing DevOps and Making It Stick

Incremental Change

Page 77: Implementing DevOps and Making It Stick

Group by Group

Page 78: Implementing DevOps and Making It Stick

Failure Happens

Page 79: Implementing DevOps and Making It Stick

Summary

1. Identify

2. Assess

3. Align

4. Execute

Page 80: Implementing DevOps and Making It Stick
Page 81: Implementing DevOps and Making It Stick

Focus on Business Value

Alex Papadimoulis