SlideShare a Scribd company logo
Test First
What is this all about
 A game to help us understand the benefits of reducing test cycles
 Teaches us good design
 Helps us understand continuous integration
The Rules
 Each team will be given 30 Jenga blocks, numbered 1 to 30
 Each team is required to build a 3 Storied(3 floor) Structure using ALL the
blocks given to them
 Some of the blocks given to the teams will have defects
 The team is unaware of these defective blocks
 At the end of the iteration, teams are expected to have the ready structure
Iteration 1
 5 Minutes
 Once the team has built the structure, the team is informed about the
defective block
 Teams need to remove the defective blocks(bugs) from the tower
Iteration 2
 5 Minutes
 After every 10 blocks you place, you are told about one defective block
 At the end of 5 minutes, teams need to have the ready structure
Iteration 3
 5 minutes
 With every block the team proposes to place into the structure, the team is
informed weather or not the blocks is defective
 At the end of 5 minutes, teams need to have the structure ready
Learning
 Rework effort when tests are known late in the cycle
 Uncertainty increases with every piece of untested code goes into the
repository
 Right design –
 The one that exposes bugs(if any)
 The one that does not make the structure very brittle
 Blocks are not tightly coupled with each other or the structure
 Test First – RED-GREEN-REFACTOR

More Related Content

Viewers also liked

Scientix 9th SPNE Brussels 6 November 2015: fit4jobs
Scientix 9th SPNE Brussels 6 November 2015: fit4jobsScientix 9th SPNE Brussels 6 November 2015: fit4jobs
Scientix 9th SPNE Brussels 6 November 2015: fit4jobs
Brussels, Belgium
 
3º trimestre 2015 adolescentes lição 13
3º trimestre 2015 adolescentes lição 133º trimestre 2015 adolescentes lição 13
3º trimestre 2015 adolescentes lição 13
Joel de Oliveira
 
Saravanan Resume1
Saravanan Resume1Saravanan Resume1
Saravanan Resume1
saravanan shanmugamoorthy
 
Windows 7 installation
Windows 7 installation Windows 7 installation
Windows 7 installation
frexyanne
 
e-book available now: Being chief & confidently able with a heart! By Roderic...
e-book available now: Being chief & confidently able with a heart! By Roderic...e-book available now: Being chief & confidently able with a heart! By Roderic...
e-book available now: Being chief & confidently able with a heart! By Roderic...
Roderick Baturi Ramos
 
LIMITES AL INFINITO
LIMITES AL INFINITOLIMITES AL INFINITO
LIMITES AL INFINITO
jairito0922
 

Viewers also liked (6)

Scientix 9th SPNE Brussels 6 November 2015: fit4jobs
Scientix 9th SPNE Brussels 6 November 2015: fit4jobsScientix 9th SPNE Brussels 6 November 2015: fit4jobs
Scientix 9th SPNE Brussels 6 November 2015: fit4jobs
 
3º trimestre 2015 adolescentes lição 13
3º trimestre 2015 adolescentes lição 133º trimestre 2015 adolescentes lição 13
3º trimestre 2015 adolescentes lição 13
 
Saravanan Resume1
Saravanan Resume1Saravanan Resume1
Saravanan Resume1
 
Windows 7 installation
Windows 7 installation Windows 7 installation
Windows 7 installation
 
e-book available now: Being chief & confidently able with a heart! By Roderic...
e-book available now: Being chief & confidently able with a heart! By Roderic...e-book available now: Being chief & confidently able with a heart! By Roderic...
e-book available now: Being chief & confidently able with a heart! By Roderic...
 
LIMITES AL INFINITO
LIMITES AL INFINITOLIMITES AL INFINITO
LIMITES AL INFINITO
 

More from Deepak Gururaja

Have we crossed the chasm
Have we crossed the chasmHave we crossed the chasm
Have we crossed the chasm
Deepak Gururaja
 
5 Simple tools for effective retrospectives
5 Simple tools for effective retrospectives5 Simple tools for effective retrospectives
5 Simple tools for effective retrospectives
Deepak Gururaja
 
6 thinkinghats
6 thinkinghats6 thinkinghats
6 thinkinghats
Deepak Gururaja
 
Scaling agile using SOS
Scaling agile using SOSScaling agile using SOS
Scaling agile using SOS
Deepak Gururaja
 
Sprint planninng
Sprint planninngSprint planninng
Sprint planninng
Deepak Gururaja
 
Scrum roles
Scrum rolesScrum roles
Scrum roles
Deepak Gururaja
 
Daily standup
Daily standupDaily standup
Daily standup
Deepak Gururaja
 
Agile retrospectives
Agile retrospectivesAgile retrospectives
Agile retrospectives
Deepak Gururaja
 
Agile metrices
Agile metricesAgile metrices
Agile metrices
Deepak Gururaja
 
Agile estimation
Agile estimationAgile estimation
Agile estimation
Deepak Gururaja
 

More from Deepak Gururaja (10)

Have we crossed the chasm
Have we crossed the chasmHave we crossed the chasm
Have we crossed the chasm
 
5 Simple tools for effective retrospectives
5 Simple tools for effective retrospectives5 Simple tools for effective retrospectives
5 Simple tools for effective retrospectives
 
6 thinkinghats
6 thinkinghats6 thinkinghats
6 thinkinghats
 
Scaling agile using SOS
Scaling agile using SOSScaling agile using SOS
Scaling agile using SOS
 
Sprint planninng
Sprint planninngSprint planninng
Sprint planninng
 
Scrum roles
Scrum rolesScrum roles
Scrum roles
 
Daily standup
Daily standupDaily standup
Daily standup
 
Agile retrospectives
Agile retrospectivesAgile retrospectives
Agile retrospectives
 
Agile metrices
Agile metricesAgile metrices
Agile metrices
 
Agile estimation
Agile estimationAgile estimation
Agile estimation
 

Recently uploaded

Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
kalichargn70th171
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 

Recently uploaded (20)

Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 

Test first

  • 2. What is this all about  A game to help us understand the benefits of reducing test cycles  Teaches us good design  Helps us understand continuous integration
  • 3. The Rules  Each team will be given 30 Jenga blocks, numbered 1 to 30  Each team is required to build a 3 Storied(3 floor) Structure using ALL the blocks given to them  Some of the blocks given to the teams will have defects  The team is unaware of these defective blocks  At the end of the iteration, teams are expected to have the ready structure
  • 4. Iteration 1  5 Minutes  Once the team has built the structure, the team is informed about the defective block  Teams need to remove the defective blocks(bugs) from the tower
  • 5. Iteration 2  5 Minutes  After every 10 blocks you place, you are told about one defective block  At the end of 5 minutes, teams need to have the ready structure
  • 6. Iteration 3  5 minutes  With every block the team proposes to place into the structure, the team is informed weather or not the blocks is defective  At the end of 5 minutes, teams need to have the structure ready
  • 7. Learning  Rework effort when tests are known late in the cycle  Uncertainty increases with every piece of untested code goes into the repository  Right design –  The one that exposes bugs(if any)  The one that does not make the structure very brittle  Blocks are not tightly coupled with each other or the structure  Test First – RED-GREEN-REFACTOR