One Weird Trick
1)How DevOps Can Help Your Struggling Project
Dave Thompson, CTO @ RightBrain Networks6 December, 2016
What are we going to talk about?
l Failurel How to fail less
Projects Fail
l In a recent survey by Innotas[1], 55% of respondants reported they have experienced a failed project in the past 12 months.
l
l
l
l
l 1: https://www.innotas.com/wp-content/uploads/2016/05/The-Project-and-Portfolio-Management-Landscape-Report_2016_final.pdf
What is Project Failure?
l Proposed definition:l A project is a failure when it does not satisfy the
business objectives it was intended to achieve.
Why Do Projects Fail?
l Common factors include:l Poor alignment between projects, teams, and
business objectivesl Insufficient resourcesl Incomplete, contradictory, and unrealistic
requirements
How To Spot a Project in Danger
l High stress between teamsl Poor collaborationl Pattern of missed deadlinesl Too big to fail
There is a Solution!
l These are the problems that Agile set out to address, and that DevOps is continuing to battle.
But What Is DevOps?
DevOps Isn’t
l A bucket of toolsl A nifty new job title for systems engineersl Practices like CI, CD, etc.
How Much Would You Pay For...
l Predictable Deliveryl Improved Qualityl Collaboration Between Software and Systems
Engineers
We’ll Even Throw In
l Happier Engineers and Customers
Sounds Great, But How Do IDevOps?
Our Revolutionary, Patent-Pending DevOps Method
l Create a combined team of systems and software engineers
l Give them one important missionl Buy them a pizza occasionally
Wow, It’s That Easy!
Let’s See That Again in Slow Motion.
Create a Combined Team
l To do DevOps, it is necessary to combine Dev and Ops.
l You may be anxious, or even frightened. l This is normal. l Push those feelings deep, deep down. l Fun fact! Both Dev and Ops can smell your fear.
Give Them One Important Mission
l Under normal circumstances, Dev and Ops tribes would divide into homogeneous cliques and communicate only via highly-formalized rituals such as the Rite of Ticketing or the Circle of Blame.
l By tasking the combined group with a single urgent objective, you can temporarily overcome their mutual distrust.
l If it worked for Churchill, Stalin, and FDR, it can probably work for you!
Buy Them Pizza Occasionally
l For group cohesion, the new team should be small enough to feed with two pizzas* (per Bezos rule), so this isn’t too expensive.
l As BF Skinner, Father of Operant Conditioning taught us, itermittant reinforcement is most effective in conditioning a response.
l
l
l *Beer is also popular.
How It Works
l Forming a combined team facilitates cross-functional communication.
l A shared objective orients the whole team, creating alignment which encourages trust that everyone is on the same side.
l Delegating authority to the team fosters a sense of ownership, allowing rapid decision-making and fast delivery.
Act Now, and We’ll Include
l Source Control, Versioning, and Release Management
l Continuous Integration and Deliveryl Infrastructure as Codel Monitoring, Alerting, and Log Aggregationl
At No Extra Charge!
l These technical tools naturally emerge from the collaboration between software and systems experts in their effort to help each other to succeed as a team.
l They are an outcome, not a method, of DevOps
But How Does All This Junk Help My Project?
Oh, Right.
l Using the DevOps Method™, you’ve created a team with cross-functional skills, ready to take on a big mission.
l That big mission could be your project!
Scoping the Project
l Are the success criteria clear?l Is the size of the task appropriate for about 5-8
people?l Is it possible to delegate most decisions to the
team?l
Execution
l Typical Agile practices are recommended.l Servent leadership is critical to the success of
this model.l Clear priorities and ownership must be
maintained at all times.l Overcommunication is key.
But what If My Project is AlreadyFailing?
lThe War Room
l
l
l
The War Room
l This is probably obvious, but it’s easier to prevent a failure than to fix one.
l War Rooms are an extremely expensive emergency response. They should only be used in the face of catastrophe.
l
l Don’t Panic!l Identify the key contributorsl Form them into a team, per The Method™l Put them in a room togetherl Give them the mission of determining how to
make the project succeed.l Be generous with the pizza
How to War Room
How to War Room
l Be prepared for bad news. If you’re at this point, pleasant surprises are uncommon.
l To get back on track, you’ll probably need to radically cut scope, reset delivery expectations, make staffing changes, and other uncomfortable stuff.
What’s Next
l If your War Room effort has succeeded, you should take the team out to celebrate.
l You have just created a DevOps team the hard way!
Questions?