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