SlideShare une entreprise Scribd logo
1  sur  9
Promo%ng	
  Agility	
  with	
  
Running	
  Tested	
  Features	
  
Camille	
  Bell	
  
Agile	
  Coach	
  
cbell@CamilleBellConsul0ng.com	
  
Twi5er	
  @agilecamille	
  
B’more	
  On	
  Rails	
  Lightening	
  Talk	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  March	
  8,	
  2011	
  
Running	
  Tested	
  Features	
  Defini9on	
  
1.  The	
  desired	
  so,ware	
  is	
  broken	
  down	
  into	
  named	
  features	
  
(requirements,	
  stories),	
  which	
  are	
  part	
  of	
  what	
  it	
  means	
  to	
  
deliver	
  the	
  desired	
  system.	
  	
  
2.  For	
  each	
  named	
  feature,	
  there	
  are	
  one	
  or	
  more	
  automated	
  
acceptance	
  tests	
  which,	
  when	
  they	
  work,	
  will	
  show	
  that	
  
the	
  feature	
  in	
  quesAon	
  is	
  implemented.	
  
3.  The	
  RTF	
  metric	
  shows,	
  at	
  every	
  moment	
  in	
  the	
  project,	
  how	
  
many	
  features	
  are	
  passing	
  all	
  their	
  acceptance	
  tests.	
  	
  
Ron	
  Jeffries,	
  A	
  Metric	
  Leading	
  to	
  Agility	
  	
  
Calcula9ng	
  RTF	
  is	
  Simple	
  
•  No	
  weigh9ng	
  -­‐	
  No	
  par9als	
  credit:	
  	
  	
  A	
  Feature	
  is	
  
either	
  all	
  running	
  &	
  passing	
  all	
  tests	
  or	
  it	
  isn’t.	
  
•  So	
  a	
  feature	
  either	
  counts	
  as	
  0	
  or	
  1.	
  
•  Add	
  up	
  the	
  1s.	
  
•  Run	
  all	
  tests	
  for	
  each	
  measurement.	
  
•  Track	
  over	
  9me.	
  
RTF	
  Works	
  on	
  any	
  Project,	
  even	
  Waterfall	
  
RTF	
  on	
  Agile	
  soQware	
  
development	
  projects	
  
should	
  steadily	
  increase	
  
over	
  9me	
  	
  
RTF	
  on	
  Waterfall	
  
development	
  only	
  
increases	
  at	
  project	
  end	
  
Example	
  1:	
  Buggy	
  New	
  Feature	
  Breaks	
  Old	
  	
  
Monday	
  6	
  running	
  tested	
  
features.	
  Tuesday	
  no	
  new	
  
features	
  added,	
  but	
  
exis9ng	
  features	
  s9ll	
  pass	
  
tests.	
  
On	
  Wednesday,	
  new	
  
feature	
  added	
  which	
  fails	
  
test	
  and	
  causes	
  side	
  effect	
  
that	
  causes	
  pre-­‐exis9ng	
  
feature	
  to	
  also	
  fail	
  tests.	
  
On	
  Thursday,	
  new	
  tests	
  
added	
  to	
  old	
  feature	
  and	
  
new	
  feature	
  fixed.	
  All	
  tests	
  
pass.	
  
Example	
  2:	
  New	
  Feature	
  Breaks	
  Everything	
  
Monday	
  6	
  running	
  tested	
  
features.	
  Tuesday	
  no	
  new	
  
features	
  added,	
  but	
  
exis9ng	
  features	
  s9ll	
  pass	
  
tests.	
  
On	
  Wednesday,	
  new	
  
feature	
  added	
  which	
  
breaks	
  the	
  build,	
  crashes	
  
system,	
  corrupts	
  DB	
  or	
  
something	
  similarly	
  
catastrophic.	
  
On	
  Thursday,	
  new	
  tests	
  
added	
  and	
  new	
  feature	
  
fixed.	
  All	
  tests	
  pass.	
  
•  Don’t	
  lie	
  –	
  RTF	
  doesn’t	
  count	
  unless	
  
– It’s	
  a	
  user	
  feature	
  
– Integrated	
  and	
  running	
  
– Has	
  automated	
  tests	
  and	
  passing	
  all	
  of	
  them	
  
•  Many	
  developers	
  don’t	
  test	
  very	
  well	
  
– Don’t	
  think	
  beyond	
  the	
  happy	
  path	
  
– Don’t	
  think	
  about	
  nega9ve,	
  boundary,	
  data	
  tes9ng,	
  
performance,	
  etc.	
  
– Improves	
  with	
  educa9on	
  and	
  experience	
  
Cau9ons:	
  Gaming	
  the	
  RTF	
  
•  Adding	
  automated	
  tests	
  to	
  exis9ng	
  untested	
  
features	
  
•  Breaking	
  larger	
  user	
  stories	
  into	
  lots	
  of	
  small	
  
stories	
  
•  Integra9ng	
  	
  earlier	
  
•  Tes9ng	
  earlier	
  
•  Shortening	
  itera9ons	
  
Other	
  RTF	
  Gaming	
  Is	
  OK	
  
Camille	
  Bell	
  
Agile	
  Technical	
  Coaching	
  	
  
Scrum,	
  XP,	
  Kanban	
  &	
  Lean	
  
Consul9ng	
  
Retrospec9ves	
  
Agile	
  Boot	
  Camps	
  	
  
Agile	
  Training	
  
or	
  just	
  to	
  chat	
  about	
  things	
  agile	
  
cbell@CamilleBellConsul0ng.com	
  

Contenu connexe

Tendances

Tendances (20)

Improving the Quality of Existing Software
Improving the Quality of Existing SoftwareImproving the Quality of Existing Software
Improving the Quality of Existing Software
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)
 
Production code without tests
Production code without testsProduction code without tests
Production code without tests
 
Developer Testing
Developer TestingDeveloper Testing
Developer Testing
 
Automated Acceptance Tests in .NET
Automated Acceptance Tests in .NETAutomated Acceptance Tests in .NET
Automated Acceptance Tests in .NET
 
Selenium + Specflow
Selenium + SpecflowSelenium + Specflow
Selenium + Specflow
 
Behavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shiftBehavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shift
 
Automated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choiceAutomated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choice
 
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
 
TDD Basics with Angular.js and Jasmine
TDD Basics with Angular.js and JasmineTDD Basics with Angular.js and Jasmine
TDD Basics with Angular.js and Jasmine
 
WE are Doing it Wrong - Dmitry Sharkov
WE are Doing it Wrong - Dmitry SharkovWE are Doing it Wrong - Dmitry Sharkov
WE are Doing it Wrong - Dmitry Sharkov
 
Test Driven Development with Laravel
Test Driven Development with LaravelTest Driven Development with Laravel
Test Driven Development with Laravel
 
I Don't Test Often ...
I Don't Test Often ...I Don't Test Often ...
I Don't Test Often ...
 
BDD for APIs
BDD for APIsBDD for APIs
BDD for APIs
 
Bdd with Cucumber and Mocha
Bdd with Cucumber and MochaBdd with Cucumber and Mocha
Bdd with Cucumber and Mocha
 
Bdd and spec flow
Bdd and spec flowBdd and spec flow
Bdd and spec flow
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Web based automation testing on Node.js environment
Web based automation testing on Node.js environmentWeb based automation testing on Node.js environment
Web based automation testing on Node.js environment
 
Promises in JavaScript with jQuery
Promises in JavaScript with jQueryPromises in JavaScript with jQuery
Promises in JavaScript with jQuery
 
Selenium Frameworks
Selenium FrameworksSelenium Frameworks
Selenium Frameworks
 

Similaire à Promoting Agility with Running Tested Features - Lightening Talk

Hybrid Automation Framework Developement
Hybrid Automation Framework DevelopementHybrid Automation Framework Developement
Hybrid Automation Framework Developement
Glasdon Falcao
 
What are the features in qtp
What are the features in qtpWhat are the features in qtp
What are the features in qtp
Ramu Palanki
 
Qtp interview questions and answers
Qtp interview questions and answersQtp interview questions and answers
Qtp interview questions and answers
Ramu Palanki
 
Qtp interview questions and answers
Qtp interview questions and answersQtp interview questions and answers
Qtp interview questions and answers
Ramu Palanki
 
Continuous delivery @ hi q
Continuous delivery @ hi qContinuous delivery @ hi q
Continuous delivery @ hi q
Tomas Riha
 

Similaire à Promoting Agility with Running Tested Features - Lightening Talk (20)

Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...
Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...
Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...
 
Building Quality In in SAFe – The Testing Organization’s Perspective
Building Quality In in SAFe – The Testing Organization’s Perspective	  Building Quality In in SAFe – The Testing Organization’s Perspective
Building Quality In in SAFe – The Testing Organization’s Perspective
 
Promoting Agility with Running Tested Features - Paper
Promoting Agility with Running Tested Features - PaperPromoting Agility with Running Tested Features - Paper
Promoting Agility with Running Tested Features - Paper
 
A brief history of automation in Software Engineering
A brief history of automation in Software EngineeringA brief history of automation in Software Engineering
A brief history of automation in Software Engineering
 
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
 
Qa workshop
Qa workshopQa workshop
Qa workshop
 
Automation Testing Project and Framework Details
Automation Testing Project and Framework DetailsAutomation Testing Project and Framework Details
Automation Testing Project and Framework Details
 
Mykola Kovsh - Functional API automation with Jmeter
Mykola Kovsh - Functional API automation with JmeterMykola Kovsh - Functional API automation with Jmeter
Mykola Kovsh - Functional API automation with Jmeter
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
 
Selenium training in chennai
Selenium training in chennaiSelenium training in chennai
Selenium training in chennai
 
Hybrid Automation Framework Developement
Hybrid Automation Framework DevelopementHybrid Automation Framework Developement
Hybrid Automation Framework Developement
 
What are the features in qtp
What are the features in qtpWhat are the features in qtp
What are the features in qtp
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Testlink Test Management with Teamforge
Testlink Test Management with TeamforgeTestlink Test Management with Teamforge
Testlink Test Management with Teamforge
 
Qtp interview questions and answers
Qtp interview questions and answersQtp interview questions and answers
Qtp interview questions and answers
 
Qtp interview questions and answers
Qtp interview questions and answersQtp interview questions and answers
Qtp interview questions and answers
 
How to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery PipelineHow to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery Pipeline
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
Continuous delivery @ hi q
Continuous delivery @ hi qContinuous delivery @ hi q
Continuous delivery @ hi q
 
Functional_Testing_Part-1
Functional_Testing_Part-1Functional_Testing_Part-1
Functional_Testing_Part-1
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Dernier (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Promoting Agility with Running Tested Features - Lightening Talk

  • 1. Promo%ng  Agility  with   Running  Tested  Features   Camille  Bell   Agile  Coach   cbell@CamilleBellConsul0ng.com   Twi5er  @agilecamille   B’more  On  Rails  Lightening  Talk                                                                                                                            March  8,  2011  
  • 2. Running  Tested  Features  Defini9on   1.  The  desired  so,ware  is  broken  down  into  named  features   (requirements,  stories),  which  are  part  of  what  it  means  to   deliver  the  desired  system.     2.  For  each  named  feature,  there  are  one  or  more  automated   acceptance  tests  which,  when  they  work,  will  show  that   the  feature  in  quesAon  is  implemented.   3.  The  RTF  metric  shows,  at  every  moment  in  the  project,  how   many  features  are  passing  all  their  acceptance  tests.     Ron  Jeffries,  A  Metric  Leading  to  Agility    
  • 3. Calcula9ng  RTF  is  Simple   •  No  weigh9ng  -­‐  No  par9als  credit:      A  Feature  is   either  all  running  &  passing  all  tests  or  it  isn’t.   •  So  a  feature  either  counts  as  0  or  1.   •  Add  up  the  1s.   •  Run  all  tests  for  each  measurement.   •  Track  over  9me.  
  • 4. RTF  Works  on  any  Project,  even  Waterfall   RTF  on  Agile  soQware   development  projects   should  steadily  increase   over  9me     RTF  on  Waterfall   development  only   increases  at  project  end  
  • 5. Example  1:  Buggy  New  Feature  Breaks  Old     Monday  6  running  tested   features.  Tuesday  no  new   features  added,  but   exis9ng  features  s9ll  pass   tests.   On  Wednesday,  new   feature  added  which  fails   test  and  causes  side  effect   that  causes  pre-­‐exis9ng   feature  to  also  fail  tests.   On  Thursday,  new  tests   added  to  old  feature  and   new  feature  fixed.  All  tests   pass.  
  • 6. Example  2:  New  Feature  Breaks  Everything   Monday  6  running  tested   features.  Tuesday  no  new   features  added,  but   exis9ng  features  s9ll  pass   tests.   On  Wednesday,  new   feature  added  which   breaks  the  build,  crashes   system,  corrupts  DB  or   something  similarly   catastrophic.   On  Thursday,  new  tests   added  and  new  feature   fixed.  All  tests  pass.  
  • 7. •  Don’t  lie  –  RTF  doesn’t  count  unless   – It’s  a  user  feature   – Integrated  and  running   – Has  automated  tests  and  passing  all  of  them   •  Many  developers  don’t  test  very  well   – Don’t  think  beyond  the  happy  path   – Don’t  think  about  nega9ve,  boundary,  data  tes9ng,   performance,  etc.   – Improves  with  educa9on  and  experience   Cau9ons:  Gaming  the  RTF  
  • 8. •  Adding  automated  tests  to  exis9ng  untested   features   •  Breaking  larger  user  stories  into  lots  of  small   stories   •  Integra9ng    earlier   •  Tes9ng  earlier   •  Shortening  itera9ons   Other  RTF  Gaming  Is  OK  
  • 9. Camille  Bell   Agile  Technical  Coaching     Scrum,  XP,  Kanban  &  Lean   Consul9ng   Retrospec9ves   Agile  Boot  Camps     Agile  Training   or  just  to  chat  about  things  agile   cbell@CamilleBellConsul0ng.com