Agile Practice in a DevOps World

Post on 28-Jul-2015

373 views 0 download

Tags:

Transcript of Agile Practice in a DevOps World

AGILE PRACTICEIN A

DEVOPS WORLDMagnus Hedemark

@Magnus919magnus@yonderway.com

https://www.linkedin.com/in/hedemark

What is DevOps?

“DevOps is a software development method that stresses communication, collaboration (information sharing and web service usage), integration, automation and measurement cooperation between software developers and other information-technology (IT) professionals.

“DevOps acknowledges the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services and to improve operations performance - quality assurance.”

Critical Mass

• John Allspaw spoke at Velocity Conference, 2009

• Flickr was deploying code 10+ times per day

• First DevOps unicorn?

• This is probably where everyone else started to take notice.

Over the Top

• “The Phoenix Project” was published in 2013

• Modern retelling of Goldratt’s “The Goal” applying DevOps principles to a software development project

• Has anyone here not read this yet?

Diet DevOpsDevelopers + Operations

Working Together

DEVOPS IS COMPREHENSIVEDevOps success comes from full organizational alignment

around goals, values, cadence.

CAMS

CAMS

• Culture

• Automation

• Measurement

• Sharing

CULTUREPeople and process first.

If you don’t have culture, all automation attempts will be fruitless.

AUTOMATIONVisibility -> Accountability -> Automation

Visibility• Don’t automate what you

don’t understand.

Accountability• Don’t automate what you

can’t validate.• Define the desired state.• Validate current state

against desired state.

Automation• Your environment must be

understood• Your desired state must be

verifiable• You’re now ready to

automate.

MEASUREMENTIf you can’t measure, you can’t improve.

SHARINGThe loopback in the CAMS cycle

THE THREE WAYS

SYSTEMS THINKINGemphasizes the performance of the entire system, as

opposed to the performance of a specific silo of work or department

AMPLIFY FEEDBACK LOOPSthis is about creating the right to left feedback loops. The goal of almost any process improvement initiative is to shorten and amplify feedback loops so

necessary corrections can be continually made.

CULTURE OF CONTINUALEXPERIMENTATION & LEARNING

IF SOMETHING HURTS……keep doing it until it’s easy.

DEVOPS IS HOLISTICHow effective is your Agile practice if IT Operations isn’t

participating?

VALUES BEGET BEHAVIORS.Behaviors beget culture.

OK, I GET IT. DEVOPS IS AWESOME.Do I have to abandon Agile?

WE’RE GONNA DO SCRUM!It’s going to be awesome. Right?

What’s wrong with Scrum?

• Sprint-based release cycle (as commonly practiced) vs continuous delivery of working software

• “Meetings for days” vs “Getting s*** done”

• Business asking for time estimates & actuals, which are never true. Where’s the value?

• Do you really need sprints? So much planning? Review?

What’s Right With Scrum?

• Effective standups

• Effective retrospectives

• Agile values & principles

Kanban

• Kanban emphasizes one-piece workflow, continuous just-in-time delivery of what customers want.

• Very visual so team and stakeholders know the state of all work.

• Frequent changes of ranking in the To Do pile are welcome.

• WIP is respected. Teams gets more done without working any harder.

• Measuring Lead Time / Cycle Time has true value.

Agile Heritage vs DevOps Heritage

• Came out of Software Development

• Well-defined values & principles

• Many well-defined processes

• Came out of nexus between Software Development and IT Operations

• Borrows heavily from auto manufacturing industry

• Not well-defined

• No specific processes defined

Service Oriented Architecture

• Is a logical representation of a repeatable business activity that has a specified outcome

• Is self-contained

• May be composed of other services

• Is a “black box” to consumers of the service

If the team is a black box……how do I make it Agile?

• There are many opportunities here to develop new Agile methodologies.

• Huge opportunity to develop a scaled framework that respects autonomy of team’s inner workings while prescribing true business requirements

• How do we request new value from a team?

• How do we validate value output of the team?

THE MENTAL LEAPCreating software isn’t all that different than building cars.

OK yes it is. But we can learn a lot anyway.

MANTRA“Every git merge event represents a

potentially shippable increment of product.”

SAY IT AGAIN“Our highest priority is to satisfy the customer

through early and continuous delivery of valuable software.”

NEGATIVE POLITICSCanary in the Coal Mine

Brief Note on Autism

• I am autistic.• No, I can’t do big math in my

head.• 1 to 2% of population is on-

spectrum.• Autism is disproportionately

present in Engineering professions

• presents some serious social challenges

• Agile and DevOps are inherently social practices

• You’ve probably already experienced this perfect storm, but didn’t know it.

• Empathy, patience, and kaizen would go a long way.