SlideShare a Scribd company logo
1 of 85
Download to read offline
The Path to Continuous
Delivery
Pedro Pimentel
”zukunftsalick” 

in most social apps
Continuous Delivery
to the Pub
1
I'll send an email to everyone asking who wants
to go to the pub after work.
1
I'll send an email to everyone asking who wants
to go to the pub after work.
2
I’m in.
1
I'll send an email to everyone asking who wants
to go to the pub after work.
5 6
4
32
I’m in.
1
I'll send an email to everyone asking who wants
to go to the pub after work.
5 6
4
32
I’m in.
7
I just need to finish a few things off.
Can you wait 5 minutes?
1
I'll send an email to everyone asking who wants
to go to the pub after work.
5 6
4
32
I’m in.
7
I just need to finish a few things off.
Can you wait 5 minutes?
8
I'll see you there, I'm gonna be here
another half an hour at least.
5 minutes later
7
Sorry! I'll just be a couple more
minutes late.
1
4
3
5
2
6
7
Sorry! I'll just be a couple more
minutes late.
1
4
3
5
2
6
9 If you wait for me, I’ll come too.
7
Sorry! I'll just be a couple more
minutes late.
1
4
3
5
2
6
9 If you wait for me, I’ll come too.
8 I’m nearly done! Wait for me!!!
By this time...
By this time...
Half an hour has passed since #1 to #6 were ready to go.
By this time...
Half an hour has passed since #1 to #6 were ready to go.
#7 has already finished his work and joined the others.
By this time...
Half an hour has passed since #1 to #6 were ready to go.
#7 has already finished his work and joined the others.
All of them are around #9 desk, waiting for him.
By this time...
Half an hour has passed since #1 to #6 were ready to go.
#7 has already finished his work and joined the others.
All of them are around #9 desk, waiting for him.
#8 joins the waiting crowd a few minutes later.
A few more minutes
later
9 I’m done! Let’s go!
9 I’m done! Let’s go!
5 Oh Sh**! I forgot to send an email.
#4 goes to the toilet
#4 goes to the toilet
In the meantime #5 comes back.
#4 goes to the toilet
In the meantime #5 comes back.
#1 is already regretting sending out the invitation.
One hour and fifteen minutes later.
1 43
5
2
6
Lift
7 8 9
1 43
5
2
6 7 8 9
Only one! We need three
cabs! Let’s wait!
1 43
5
2
6 7 8 9
#3 now has to go home to feed his cat.
It’s already 9:30pm, all other venues are packed so
everyone else also goes home, unhappy and thirsty.
#3 now has to go home to feed his cat.
Does it Sound
Familiar?
1
I'm off to the pub in 5 minutes sharp.There's
some spaces in the cab.Anyone wanna join me?
1
I'm off to the pub in 5 minutes sharp.There's
some spaces in the cab.Anyone wanna join me?
4
32
I’m in.
1
I'm off to the pub in 5 minutes sharp.There's
some spaces in the cab.Anyone wanna join me?
4
32
I’m in.
5
6
Who’s next?
1
I'm off to the pub in 5 minutes sharp.There's
some spaces in the cab.Anyone wanna join me?
4
32
I’m in.
7
I just need to finish a few things off.
Can you wait 5 minutes?
5
6
Who’s next?
1
I'm off to the pub in 5 minutes sharp.There's
some spaces in the cab.Anyone wanna join me?
4
32
I’m in.
7
I just need to finish a few things off.
Can you wait 5 minutes?
8
I'll see you there, I'm gonna be here
another half an hour at least.
5
6
Who’s next?
1
43
2
It’s ok. Let’s move
to the next one.
In the mean time...
#5 and #6 decided to wait for #7 to share a taxi.
In the mean time...
#5 and #6 decided to wait for #7 to share a taxi.
#8 says the same thing “oh, wait for me, I’m nearly done”
In the mean time...
#5 and #6 decided to wait for #7 to share a taxi.
#8 says the same thing “oh, wait for me, I’m nearly done”
#9 says “I’m almost done too, you three go first and I split
a taxi with #8”
In the mean time...
At the pub
1
4 3
2
At the pub
1
4 3
2 5
6
7
#8 and #9 are coming, we
should make space for them
Continuous Delivery!!!
Applying to
software delivery
Can you think of examples?
Are you one of the thirsty workers that could
go to the pub but is still waiting for everyone?
Can you think of examples?
Do you have working pieces of code, ready
for deploy, that are waiting for colleagues?
Are you one of the thirsty workers that could
go to the pub but is still waiting for everyone?
Can you think of examples?
Is the group of thirsty workers so big that
whenever the chosen pub is closed, finding
another pub in the busiest time is a difficult
task?
Can you think of examples?
Are the changes you deploy so big, that when
something unexpected happens, you have to
re-sync and deploy everything again?
Is the group of thirsty workers so big that
whenever the chosen pub is closed, finding
another pub in the busiest time is a difficult
task?
Can you think of examples?
Do the pubs close or are packed before
thirsty workers finally organize themselves
and get out of the office?
Can you think of examples?
Do you loose your opportunity window
getting all teams in sync for a release?
Do the pubs close or are packed before
thirsty workers finally organize themselves
and get out of the office?
Suggestions
Find a pub that’s not far from the office.
Have an agreement that every evening, if
someone is thirsty, they just head to the pub,
rather than organizing an outing.
Suggestions
Find a pub that’s not far from the office.
Have an agreement that every evening, if
someone is thirsty, they just head to the pub,
rather than organizing an outing.
Working at the pub?
1/2
Software
Craftsmanship
Not only working software
but also well-crafted software
Not only responding to change
but also steadily adding value
Not only individuals and interactions
but a community of professionals
Not only customer collaboration
but also productive partnerships
Well-crafted software.
Steadily adding value == Continuous Delivery
Give Back to the world

== 

Community of Professionals
Productive Partnership (aka the extra mile)
Core practices
BDD
Behaviour Driven Development
“I want to save 40%
on operational costs”
It has to be a description of a
requirement and its business
benefit, and a set of criteria by
which we all agree that it is
“done”
Dan North
Story: Account Holder withdraws cash
Story: Account Holder withdraws cash
As an Account Holder
I want to withdraw cash from an ATM
So that I can get money when the bank is closed
Story: Account Holder withdraws cash
As an Account Holder
I want to withdraw cash from an ATM
So that I can get money when the bank is closed
Scenario 1: Account has sufficient funds
Given the account balance is $100
  And the card is valid
  And the machine contains enough money
When the Account Holder requests $20
Then the ATM should dispense $20
  And the account balance should be $80
  And the card should be returned
TDD
Test Driven Development
TDD practices
Define the API you want to use
Write code based on facts
Write just enough code to make test pass
Read the tests to learn about someone’s else code
TDD practices
Assert First
One Assertion per test
Faking/Stubbing/Mocking
Triangulation
Red Green Refactor
Influence Diagrams
Pair Programming
eXtreme Programming
Giles Bowkett blog
Sometimes in trio
Or in groups
Pair Rotation
Why?
Economics
Design Quality
Satisfaction
Learning
Team building / Communication
Recapping
BDD TDDPair Programming
Software Craftsmanship
Steadily Adding Value
Thank you

More Related Content

Similar to The Path to Continuous Delivery

Iex 3e tests_preint_answerkey
Iex 3e tests_preint_answerkeyIex 3e tests_preint_answerkey
Iex 3e tests_preint_answerkeyceco
 
Express In English
Express In EnglishExpress In English
Express In EnglishVansight
 
Business Idioms
Business IdiomsBusiness Idioms
Business IdiomsTeach TEFL
 
What's another way to say that?
What's another way to say that?What's another way to say that?
What's another way to say that?Teach TEFL
 
future-4-main-verbs-used-clt-communicative-language-teaching-resources-gram_8...
future-4-main-verbs-used-clt-communicative-language-teaching-resources-gram_8...future-4-main-verbs-used-clt-communicative-language-teaching-resources-gram_8...
future-4-main-verbs-used-clt-communicative-language-teaching-resources-gram_8...shanador
 
The present tense
The present tenseThe present tense
The present tensechamber
 
Interesting College Essay Examples
Interesting College Essay ExamplesInteresting College Essay Examples
Interesting College Essay ExamplesHeather Lopez
 
Introduction to customer discovery open workshop for avatech - Sep 2015
Introduction to customer discovery  open workshop for avatech - Sep 2015Introduction to customer discovery  open workshop for avatech - Sep 2015
Introduction to customer discovery open workshop for avatech - Sep 2015ngolshan
 
How to prepare yourself online income starters guide
How to prepare yourself  online income starters guideHow to prepare yourself  online income starters guide
How to prepare yourself online income starters guideKhondoker Islam
 
Talk with your users! Presentation at STHLM Xperience Conference
Talk with your users! Presentation at STHLM Xperience ConferenceTalk with your users! Presentation at STHLM Xperience Conference
Talk with your users! Presentation at STHLM Xperience ConferenceAndrea Othilie Rognan
 
Memory Test for the Aging
Memory Test for the AgingMemory Test for the Aging
Memory Test for the Agingenderz5
 
Communicative approach
Communicative approachCommunicative approach
Communicative approachGenaFurman
 
FrenchBK Presents: C+C // The Inspiration Issue
FrenchBK Presents: C+C // The Inspiration IssueFrenchBK Presents: C+C // The Inspiration Issue
FrenchBK Presents: C+C // The Inspiration IssueAlisa Leonard
 
Topic 3 work - 2021
Topic 3   work - 2021Topic 3   work - 2021
Topic 3 work - 2021PremLearn
 
ANI | Agile Mindset Day @Bengaluru | Results, not Mindset: the Key to Achievi...
ANI | Agile Mindset Day @Bengaluru | Results, not Mindset: the Key to Achievi...ANI | Agile Mindset Day @Bengaluru | Results, not Mindset: the Key to Achievi...
ANI | Agile Mindset Day @Bengaluru | Results, not Mindset: the Key to Achievi...AgileNetwork
 

Similar to The Path to Continuous Delivery (20)

Iex 3e tests_preint_answerkey
Iex 3e tests_preint_answerkeyIex 3e tests_preint_answerkey
Iex 3e tests_preint_answerkey
 
Express In English
Express In EnglishExpress In English
Express In English
 
Business Idioms
Business IdiomsBusiness Idioms
Business Idioms
 
Unit13
Unit13Unit13
Unit13
 
What's another way to say that?
What's another way to say that?What's another way to say that?
What's another way to say that?
 
How to be a loser
How to be a loserHow to be a loser
How to be a loser
 
future-4-main-verbs-used-clt-communicative-language-teaching-resources-gram_8...
future-4-main-verbs-used-clt-communicative-language-teaching-resources-gram_8...future-4-main-verbs-used-clt-communicative-language-teaching-resources-gram_8...
future-4-main-verbs-used-clt-communicative-language-teaching-resources-gram_8...
 
The present tense
The present tenseThe present tense
The present tense
 
Interesting College Essay Examples
Interesting College Essay ExamplesInteresting College Essay Examples
Interesting College Essay Examples
 
Introduction to customer discovery open workshop for avatech - Sep 2015
Introduction to customer discovery  open workshop for avatech - Sep 2015Introduction to customer discovery  open workshop for avatech - Sep 2015
Introduction to customer discovery open workshop for avatech - Sep 2015
 
How to prepare yourself online income starters guide
How to prepare yourself  online income starters guideHow to prepare yourself  online income starters guide
How to prepare yourself online income starters guide
 
Talk with your users! Presentation at STHLM Xperience Conference
Talk with your users! Presentation at STHLM Xperience ConferenceTalk with your users! Presentation at STHLM Xperience Conference
Talk with your users! Presentation at STHLM Xperience Conference
 
Memory Test for the Aging
Memory Test for the AgingMemory Test for the Aging
Memory Test for the Aging
 
Spa 1.40
Spa 1.40Spa 1.40
Spa 1.40
 
Kelas x bab 3
Kelas x bab 3Kelas x bab 3
Kelas x bab 3
 
Communicative approach
Communicative approachCommunicative approach
Communicative approach
 
FrenchBK Presents: C+C // The Inspiration Issue
FrenchBK Presents: C+C // The Inspiration IssueFrenchBK Presents: C+C // The Inspiration Issue
FrenchBK Presents: C+C // The Inspiration Issue
 
Topic 3 work - 2021
Topic 3   work - 2021Topic 3   work - 2021
Topic 3 work - 2021
 
ANI | Agile Mindset Day @Bengaluru | Results, not Mindset: the Key to Achievi...
ANI | Agile Mindset Day @Bengaluru | Results, not Mindset: the Key to Achievi...ANI | Agile Mindset Day @Bengaluru | Results, not Mindset: the Key to Achievi...
ANI | Agile Mindset Day @Bengaluru | Results, not Mindset: the Key to Achievi...
 
Backpack
BackpackBackpack
Backpack
 

Recently uploaded

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 

Recently uploaded (20)

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 

The Path to Continuous Delivery

  • 1.
  • 2. The Path to Continuous Delivery
  • 5. 1 I'll send an email to everyone asking who wants to go to the pub after work.
  • 6. 1 I'll send an email to everyone asking who wants to go to the pub after work. 2 I’m in.
  • 7. 1 I'll send an email to everyone asking who wants to go to the pub after work. 5 6 4 32 I’m in.
  • 8. 1 I'll send an email to everyone asking who wants to go to the pub after work. 5 6 4 32 I’m in. 7 I just need to finish a few things off. Can you wait 5 minutes?
  • 9. 1 I'll send an email to everyone asking who wants to go to the pub after work. 5 6 4 32 I’m in. 7 I just need to finish a few things off. Can you wait 5 minutes? 8 I'll see you there, I'm gonna be here another half an hour at least.
  • 11.
  • 12. 7 Sorry! I'll just be a couple more minutes late. 1 4 3 5 2 6
  • 13. 7 Sorry! I'll just be a couple more minutes late. 1 4 3 5 2 6 9 If you wait for me, I’ll come too.
  • 14. 7 Sorry! I'll just be a couple more minutes late. 1 4 3 5 2 6 9 If you wait for me, I’ll come too. 8 I’m nearly done! Wait for me!!!
  • 16. By this time... Half an hour has passed since #1 to #6 were ready to go.
  • 17. By this time... Half an hour has passed since #1 to #6 were ready to go. #7 has already finished his work and joined the others.
  • 18. By this time... Half an hour has passed since #1 to #6 were ready to go. #7 has already finished his work and joined the others. All of them are around #9 desk, waiting for him.
  • 19. By this time... Half an hour has passed since #1 to #6 were ready to go. #7 has already finished his work and joined the others. All of them are around #9 desk, waiting for him. #8 joins the waiting crowd a few minutes later.
  • 20. A few more minutes later
  • 21. 9 I’m done! Let’s go!
  • 22. 9 I’m done! Let’s go! 5 Oh Sh**! I forgot to send an email.
  • 23.
  • 24. #4 goes to the toilet
  • 25. #4 goes to the toilet In the meantime #5 comes back.
  • 26. #4 goes to the toilet In the meantime #5 comes back. #1 is already regretting sending out the invitation.
  • 27. One hour and fifteen minutes later.
  • 29. 1 43 5 2 6 7 8 9 Only one! We need three cabs! Let’s wait!
  • 31. #3 now has to go home to feed his cat.
  • 32. It’s already 9:30pm, all other venues are packed so everyone else also goes home, unhappy and thirsty. #3 now has to go home to feed his cat.
  • 34. 1 I'm off to the pub in 5 minutes sharp.There's some spaces in the cab.Anyone wanna join me?
  • 35. 1 I'm off to the pub in 5 minutes sharp.There's some spaces in the cab.Anyone wanna join me? 4 32 I’m in.
  • 36. 1 I'm off to the pub in 5 minutes sharp.There's some spaces in the cab.Anyone wanna join me? 4 32 I’m in. 5 6 Who’s next?
  • 37. 1 I'm off to the pub in 5 minutes sharp.There's some spaces in the cab.Anyone wanna join me? 4 32 I’m in. 7 I just need to finish a few things off. Can you wait 5 minutes? 5 6 Who’s next?
  • 38. 1 I'm off to the pub in 5 minutes sharp.There's some spaces in the cab.Anyone wanna join me? 4 32 I’m in. 7 I just need to finish a few things off. Can you wait 5 minutes? 8 I'll see you there, I'm gonna be here another half an hour at least. 5 6 Who’s next?
  • 39. 1 43 2 It’s ok. Let’s move to the next one.
  • 40. In the mean time...
  • 41. #5 and #6 decided to wait for #7 to share a taxi. In the mean time...
  • 42. #5 and #6 decided to wait for #7 to share a taxi. #8 says the same thing “oh, wait for me, I’m nearly done” In the mean time...
  • 43. #5 and #6 decided to wait for #7 to share a taxi. #8 says the same thing “oh, wait for me, I’m nearly done” #9 says “I’m almost done too, you three go first and I split a taxi with #8” In the mean time...
  • 45. At the pub 1 4 3 2 5 6 7 #8 and #9 are coming, we should make space for them
  • 48. Can you think of examples? Are you one of the thirsty workers that could go to the pub but is still waiting for everyone?
  • 49. Can you think of examples? Do you have working pieces of code, ready for deploy, that are waiting for colleagues? Are you one of the thirsty workers that could go to the pub but is still waiting for everyone?
  • 50. Can you think of examples? Is the group of thirsty workers so big that whenever the chosen pub is closed, finding another pub in the busiest time is a difficult task?
  • 51. Can you think of examples? Are the changes you deploy so big, that when something unexpected happens, you have to re-sync and deploy everything again? Is the group of thirsty workers so big that whenever the chosen pub is closed, finding another pub in the busiest time is a difficult task?
  • 52. Can you think of examples? Do the pubs close or are packed before thirsty workers finally organize themselves and get out of the office?
  • 53. Can you think of examples? Do you loose your opportunity window getting all teams in sync for a release? Do the pubs close or are packed before thirsty workers finally organize themselves and get out of the office?
  • 54. Suggestions Find a pub that’s not far from the office. Have an agreement that every evening, if someone is thirsty, they just head to the pub, rather than organizing an outing.
  • 55. Suggestions Find a pub that’s not far from the office. Have an agreement that every evening, if someone is thirsty, they just head to the pub, rather than organizing an outing. Working at the pub?
  • 56. 1/2
  • 58. Not only working software but also well-crafted software Not only responding to change but also steadily adding value Not only individuals and interactions but a community of professionals Not only customer collaboration but also productive partnerships
  • 60. Steadily adding value == Continuous Delivery
  • 61. Give Back to the world
 == 
 Community of Professionals
  • 62. Productive Partnership (aka the extra mile)
  • 65.
  • 66. “I want to save 40% on operational costs”
  • 67. It has to be a description of a requirement and its business benefit, and a set of criteria by which we all agree that it is “done” Dan North
  • 68.
  • 69. Story: Account Holder withdraws cash
  • 70. Story: Account Holder withdraws cash As an Account Holder I want to withdraw cash from an ATM So that I can get money when the bank is closed
  • 71. Story: Account Holder withdraws cash As an Account Holder I want to withdraw cash from an ATM So that I can get money when the bank is closed Scenario 1: Account has sufficient funds Given the account balance is $100   And the card is valid   And the machine contains enough money When the Account Holder requests $20 Then the ATM should dispense $20   And the account balance should be $80   And the card should be returned
  • 73. TDD practices Define the API you want to use Write code based on facts Write just enough code to make test pass Read the tests to learn about someone’s else code
  • 74. TDD practices Assert First One Assertion per test Faking/Stubbing/Mocking Triangulation
  • 83. Recapping BDD TDDPair Programming Software Craftsmanship Steadily Adding Value
  • 84.