disciplined devops: pragmatic strategies for the enterprise

30
Scott W. Ambler Disciplined Agile Fellow scott [at] scottambler.com @scottwambler Disciplined DevOps: Pragmatic Strategies for the Enterprise

Upload: scott-w-ambler

Post on 26-Jan-2017

493 views

Category:

Software


1 download

TRANSCRIPT

Scott W. Ambler Disciplined Agile Fellow

scott [at] scottambler.com

@scottwambler

Disciplined DevOps: Pragmatic Strategies for the Enterprise

© Disciplined Agile Consortium 2

© Disciplined Agile Consortium 3

Agenda

•  DevOps Gap •  Why DevOps? •  Defining DevOps

–  Continuous Delivery –  Development + Operations –  Disciplined DevOps –  Our Definition

•  The DevOps Mindset •  How Disciplined DevOps Affects the Rest of IT

–  In “Straightforward” Situations –  At Scale

•  Strategies for adopting Disciplined DevOps •  Parting Thoughts

Do You Have a DevOps Gap?

© 2016 Disciplined Agile Consortium

Development Operations

Change Requests

Production Releases

•  Production releases are seen as risky •  Collaboration between development and operations is strained •  Development doesn’t appreciate the realities of operations •  Operations doesn’t understand new development strategies

4

Why DevOps?

•  Decreased time to market (reduced cycle time) •  Decreased cost to deploy •  Improved mean time between deployments (deploy more often) •  Improved quality •  Improved market competitiveness •  Improved decision making

© 2016 Disciplined Agile Consortium 5

Defining DevOps

© Disciplined Agile Consortium 6

One View: Continuous Delivery

•  Practices: –  Automated regression testing –  Continuous integration (CI) –  Continuous deployment (CD) –  Canary tests –  Split (A/B) tests

•  Operations-friendly features: –  Feature toggles –  Feature-level access control –  Built-in monitoring –  Self testing –  Self recovery

© 2016 Disciplined Agile Consortium 7

A Better View: Agile Delivery + Operations

© 2016 Disciplined Agile Consortium

•  Multi-modal approach to software development

•  Operations activities are also streamlined and “leaned out”

•  Some teams will adopt a “you build it, you run it” philosophy, but a common operational infrastructure still required

8

Our View: Disciplined DevOps

© 2016 Disciplined Agile Consortium 9

Disciplined DevOps: A Definition

Disciplined DevOps is the streamlining of IT solution development and IT operations activities, and supporting enterprise-IT

activities, to provide more effective outcomes to an organization.

© 2016 Disciplined Agile Consortium 10

The DevOps Mindset

© 2016 Disciplined Agile Consortium 11

1.  Streamline the end-to-end flow 2.  Reduce the feedback cycle 3.  Flexible people 4.  Multidisciplinary “generalizing specialists” 5.  Standardized infrastructure 6.  Automation and tools 7.  Standardized development guidelines 8.  You build it, you run it

DevOps Changes Your Relationship with the Business

•  Your business and IT processes must be integrated –  Plans must be high-level with the details coming just in time (JIT) –  Emphasize delivery of value via a consumable solution rather than

transitory work products of questionable value –  Schedules and estimates must be given in ranges –  Traditional business approaches will eliminate most benefits of

agile/DevOps •  The new relationship with the business:

–  They must be actively involved with development all the way through the lifecycle

–  The greater visibility and control that they now have implies the need for greater accountability on their part

–  They often don’t understand the implications of what they ask for, you need to educate them

–  You need to demonstrate that disciplined agile delivery is not cowboy programming. It is very likely far more disciplined than their current processes

© 2016 Disciplined Agile Consortium 12

How Disciplined DevOps Affects the Rest of IT

© Disciplined Agile Consortium

How DevOps Affects Development

•  Adopt common development practices such as automated regression testing, continuous integration (CI), continuous delivery (CD), deployment testing, and development intelligence (automated dashboards)

•  Adopt “new” practices such as canary tests, split tests

•  Build in operations-friendly features such as feature access control, application instrumentation, feature toggles, self testing components, support alerts, and self-recovering components

© Disciplined Agile Consortium 14

How DevOps Affects Operations •  Adopt common operations practices:

–  Solution monitoring –  Standard platforms –  Operations intelligence (automated

dashboards) –  Disaster planning

•  At scale: –  Scheduled disaster simulation –  Unscheduled disaster simulations

(e.g. chaos monkey)

© Disciplined Agile Consortium 15

How DevOps Affects Support

•  Self service options: –  Online discussion forums –  Online information

•  Common support/help desk practices: –  Synchronous and asynchronous

support options –  Developer-led support (you build it, you

support it)

•  Advanced strategies –  Support alerts built into application –  Support sandbox (for issue simulations)

© Disciplined Agile Consortium 16

How DevOps Affects Release Management •  Common release practices:

–  Continuous release availability –  Release windows (quick cadence) –  Release train –  Release windows (slow cadence)

•  Common supporting practices include integrated deployment planning, testing environments consistent with production, release service streams/levels, and shared release strategies

•  At scale: –  Many teams: Release coordination –  Large teams: Release train –  Regulatory: Separation of concerns will require access

control, logging, and decision-based deployments © Disciplined Agile Consortium 17

How DevOps Affects Data Management

•  Data management, in particular database change deployment and data operations, is a key aspect of DevOps

•  Many data management organizations are sorely behind the rest of IT when it comes to adopting Agile, Lean, and DevOps-friendly strategies

•  Common practices: –  Data and information guidelines –  IT intelligence (automated dashboards)

•  “New” practices: –  Database regression testing –  Database refactoring –  Automated database deployments

© Disciplined Agile Consortium 18

DevOps Adoption Strategies

1.  Stakeholders. Engage with your stakeholders 2.  People. Educate, train, and coach your staff 3.  Visualize. Visualize your delivery process from

beginning to end (and back again) 4.  Focus. Identify your pain points and bottlenecks 5.  Focus some more. Identify a minimum viable

cluster of applications that can be enabled for DevOps, and start there

6.  Improve. Adopt a continuous learning/improvement mindset

7.  Think. Beware of vendors and consultants offering quick or easy solutions

© Disciplined Agile Consortium 19

© Disciplined Agile Consortium 20

© Disciplined Agile Consortium 21

Parting Thoughts

•  You don’t just do DevOps –  You must also have the DevOps mindset

•  DevOps improves IT’s ability to support the rest of the organization –  The rest of the business needs to evolve too

•  You have to build DevOps for yourself –  You cannot buy it

•  DevOps permeates IT –  You don’t have a “DevOps Group”, nor “DevOps

Engineers”

© 2016 Disciplined Agile Consortium 22

DevOps Critical Success Factors

1.  Build a collaborative and respectful culture across your entire IT organization

2.  Focus on people, but don’t forget process and tooling

3.  Choice is good

© 2016 Disciplined Agile Consortium 23

Important Resource

DisciplinedAgileDelivery.com/disciplineddevops/

© 2016 Disciplined Agile Consortium 24

Thank You! scott[at] scottambler.com

@scottwambler

AgileModeling.com AgileData.org Ambysoft.com

DisciplinedAgileConsortium.org DisciplinedAgileDelivery.com

ScottAmbler.com

Disciplined Agile Delivery

© Disciplined Agile Consortium 25

Scott W. Ambler

•  Pioneered Agile Modeling and Agile Database techniques in the early 2000s

•  Co-creator of the Disciplined Agile Delivery (DAD) framework

•  Executive Transformation Coach

•  scott [at] scottambler.com •  @scottwambler

© Disciplined Agile Consortium

Helps IT departments around the world become awesome

26

Disciplined Agile Delivery (DAD) is a process decision framework The key characteristics of DAD:

–  People-first –  Goal-driven –  Hybrid agile –  Learning-oriented –  Full delivery lifecycle –  Solution focused –  Risk-value lifecycle –  Enterprise aware

© Disciplined Agile Consortium 27

Shuhari and Disciplined Agile Certification

At the shu stage you are beginning to learn the techniques and philosophies of

disciplined agile development. Your goal is to build a strong foundation from

which to build upon.

At the ha stage you reflect upon and question why disciplined agile strategies work, seeking to understand the range

of strategies available to you and when they are best applied.

At the ri stage you seek to extend and

improve upon disciplined agile techniques, sharing your learnings with

others.

© Disciplined Agile Consortium 28

Would You Like This Presented to Your Organization?

Contact us at ScottAmbler.com

© Disciplined Agile Consortium 29

Scott Ambler + Associates is the thought leader behind the Disciplined Agile Delivery (DAD) framework and its application. We are a boutique IT management consulting firm that advises organizations to be more

effective applying disciplined agile and lean processes within the context of your business.

Our website is ScottAmbler.com

We can help

© Disciplined Agile Consortium 30