agile practice in a devops world
TRANSCRIPT
AGILE PRACTICEIN A
DEVOPS WORLDMagnus Hedemark
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.