agile practice in a devops world

35
AGILE PRACTICE IN A DEVOPS WORLD Magnus Hedemark @Magnus919 [email protected] https://www.linkedin.com/in/hedemark

Upload: magnus-hedemark

Post on 28-Jul-2015

373 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Agile Practice in a DevOps World

AGILE PRACTICEIN A

DEVOPS WORLDMagnus Hedemark

@[email protected]

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

Page 2: Agile Practice in a DevOps World

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.”

Page 3: Agile Practice in a DevOps World

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.

Page 4: Agile Practice in a DevOps World

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?

Page 5: Agile Practice in a DevOps World

Diet DevOpsDevelopers + Operations

Working Together

Page 6: Agile Practice in a DevOps World

DEVOPS IS COMPREHENSIVEDevOps success comes from full organizational alignment

around goals, values, cadence.

Page 7: Agile Practice in a DevOps World

CAMS

Page 8: Agile Practice in a DevOps World

CAMS

• Culture

• Automation

• Measurement

• Sharing

Page 9: Agile Practice in a DevOps World

CULTUREPeople and process first.

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

Page 10: Agile Practice in a DevOps World

AUTOMATIONVisibility -> Accountability -> Automation

Page 11: Agile Practice in a DevOps World

Visibility• Don’t automate what you

don’t understand.

Page 12: Agile Practice in a DevOps World

Accountability• Don’t automate what you

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

against desired state.

Page 13: Agile Practice in a DevOps World

Automation• Your environment must be

understood• Your desired state must be

verifiable• You’re now ready to

automate.

Page 14: Agile Practice in a DevOps World

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

Page 15: Agile Practice in a DevOps World

SHARINGThe loopback in the CAMS cycle

Page 16: Agile Practice in a DevOps World

THE THREE WAYS

Page 17: Agile Practice in a DevOps World

SYSTEMS THINKINGemphasizes the performance of the entire system, as

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

Page 18: Agile Practice in a DevOps World

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.

Page 19: Agile Practice in a DevOps World

CULTURE OF CONTINUALEXPERIMENTATION & LEARNING

Page 20: Agile Practice in a DevOps World

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

Page 21: Agile Practice in a DevOps World

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

participating?

Page 22: Agile Practice in a DevOps World

VALUES BEGET BEHAVIORS.Behaviors beget culture.

Page 23: Agile Practice in a DevOps World

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

Page 24: Agile Practice in a DevOps World

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

Page 25: Agile Practice in a DevOps World

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?

Page 26: Agile Practice in a DevOps World

What’s Right With Scrum?

• Effective standups

• Effective retrospectives

• Agile values & principles

Page 27: Agile Practice in a DevOps World

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.

Page 28: Agile Practice in a DevOps World

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

Page 29: Agile Practice in a DevOps World

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

Page 30: Agile Practice in a DevOps World

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?

Page 31: Agile Practice in a DevOps World

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

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

Page 32: Agile Practice in a DevOps World

MANTRA“Every git merge event represents a

potentially shippable increment of product.”

Page 33: Agile Practice in a DevOps World

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

through early and continuous delivery of valuable software.”

Page 34: Agile Practice in a DevOps World

NEGATIVE POLITICSCanary in the Coal Mine

Page 35: Agile Practice in a DevOps World

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.