Dealing with Zombies
João Cravo - Build Master @ Blip <[email protected]>
• Zombie Killer
whoami• Zombie Killer
• João Cravo, 25 years old
• Zombie Killer
• João Cravo, 25 years old
• Philosopher
whoami
We are doing
what we do
• Zombie Killer
• João Cravo, 25 years old
• Philosopher• Pipeline Nazi
whoami
• Zombie Killer
• João Cravo, 25 years old
• Philosopher• Pipeline Nazi
• Build Master
whoami
“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”
Principles behind the Agile Manifesto
About Continuous Delivery…
“If it hurts, do it more often.”wisdom of the internet
“Just ship, baby.”Kent Beck
About Continuous Delivery…
Version Control
Build&
Unit Tests
Automated acceptance
tests
Release to Production…
A bit of history…
Before – August 1st, 2012• 3 Products• 1 Pipeline• Around 500 tests• One release every fortnight• Release branches• 40 People focused on the same project
Before – August 1st, 2012• 3 Products• 1 Pipeline• Around 500 tests• One release every fortnight• Release branches• 40 People focused on the same project
Doing Agile… and Continuous Delivery…
"How long would it take your organization to deploy a
change that involves just one single line of code? Do you
do this on a repeatable, reliable basis?Implementing Lean Software Development
Measuring Continuous Delivery
Before – August, 2012• 3 Products• 1 Pipeline• Around 500 tests
• One release every fortnight• Release branches• 40 People focused on the same project
Doing Agile… and Continuous Delivery…
Hashbang Team Meeting March 2013
Hashbang Team Meeting March 2013One year goals:
Everyone can do releases Automate everything
Hashbang Team Meeting March 2013One year goals:
Everyone can do releases Automate everything
Drinking a beer all the time because we automated all the things!
Hashbang Team Meeting March 2013One year goals:
Everyone can do releases
Automate everything ?!?!
Drinking a beer all the time because we automated all the things!
Today• 25 Products • 25 Pipeline• “Over 9000” tests in parallel • Multi releases every week• Master branch • 170 people working in different projects
Today• 25 Products • 25 Pipeline• “Over 9000” tests in parallel• Multi releases every week• Master branch• 170 people working in different projects
• Reaching CD - 50 min to release to production
… ZOMBIES …
Human eater
Decomposing skin
Frail Legs
Very bad smell
No reasonNo reflexionNo humanity
Weapon: they catch you
What do zombies have to do with Continuous Delivery?
Human eater
Decomposing skin
Frail Legs
Very bad smell
No reasonNo reflexionNo humanity
Weapon: they catch you
CD
Human eater
Decomposing skin
Frail Legs
Very bad smell
No reasonNo reflexionNo humanity
Weapon: they catch you
CDHuman time eater
Human eater
Decomposing skin
Frail Legs
Very bad smell
No reasonNo reflexionNo humanity
Weapon: they catch you
CDHuman time eater
Frail code Frail process
Human eater
Decomposing skin
Frail Legs
Very bad smell
No reasonNo reflexionNo humanity
Weapon: they catch you
CDHuman time eater
Frail code Frail process
Human eater
Decomposing skin
Frail Legs
Very bad smell
No reasonNo reflexionNo humanity
Weapon: copy & paste
CDHuman time eater
Frail code Frail process
Human eater
Tends to get worst
Frail Legs
Very bad smell
No reasonNo reflexionNo humanity
Weapon: copy & paste
CDHuman time eater
Frail code Frail process
Human time eater
Tends to get worst
Frail code Frail process
Very bad smell
No reasonNo reflexionNo humanity
Weapon: copy & paste
CD
1st Zombie
The Sprint (Real) Goal
1st Zombie
The Sprint (Real) Goal
We make money by delivering quality software to customers! So I think that is exactly what we should all be focused on.
James Betteley's Devops Ramblings
2nd Zombie
The Super Hiper Mega Repetitive Manual Step
You
You
2nd Zombie The Super Hyper Mega Repetitive Manual Step
Automate it!
2nd Zombie The Super Hyper Mega Repetitive Manual Step
Automate it!
Share it!
3rd Zombie
It (doesn’t) works on my computer
3rd Zombie It (doesn’t) works on my computer
Do it again.
3rd Zombie It (doesn’t) works on my computer
Do it again. Ask help to people next to you.
3rd Zombie It (doesn’t) works on my computer
Do it again. Ask help to people next to you.
Do it again.
3rd Zombie It (doesn’t) works on my computer
Do it again. Ask help to people next to you.
Do it again.Get up from your chair.
4th Zombie
That feature that is missing in that tool
4th Zombie
That feature that is missing in that tool
Start using the latest version now!
4th Zombie
That feature that is missing in that tool
5th Zombie
Jobs Definitions
5th Zombie Jobs Definitions
• Frontend developerMy role is to do some HTML and JS
• ManagerI do programming in excel and email
• BackendI work on Java. I’m not a designer
• OperationsThe problem is on the code. I just deploy it!
5th Zombie Jobs Definitions
Don’t be a definition Don’t label others by his/her roleLearnShare
GET THE THINGS DONE
6th Zombie
My favorite pattern: Copy and paste
6th Zombie
My favorite pattern: Copy and paste
copy and paste bad example
http://programmers.stackexchange.com/questions/87696/is-copy-paste-programming-bad
http://programmers.stackexchange.com/questions/87696/is-copy-paste-programming-bad
6th Zombie
My favorite pattern: Copy and paste
Like the alcohol, use it with moderation
Recap…
What should you do when you see a Zombie?
What should you do when you see a Zombie?
KILL IT!
What should you do when you see a Zombie?
KILL IT!When?
What should you do when you see a Zombie?
KILL IT!When?
AS EARLY AS POSSIBLE!
What should you do when you see a Zombie?
KILL IT!When?
AS EARLY AS POSSIBLE!Who?
What should you do when you see a Zombie?
KILL IT!When?
AS EARLY AS POSSIBLE!Who?
YOURSELF!