SlideShare uma empresa Scribd logo
1 de 16
Agile Software Development 
- Test Driven Development 
David Putman 
Community Event : 30th October 2014 
agil8 2014 0
David Putman 
• Agile Consultant since 2001 
• SAFe Programme Consultant 
• Certified ScrumMaster 
• Agile Award Nominee in 
2011: Agile Coach of the Year 
• Agile Award Winner in 2012: 
Special Recognition 
david.putman@agil8.com 
agil8 2014 1
Certified Scrum Developer 
• Certified Scrum Developer (Agile Software 
Development) – 3 day training course 
– Hands on coding skills 
– Emergent Agile Design 
– Test Driven Development 
– Refactoring 
– Continuous Integration Etc. 
• Delegates taking this course can apply for CSD 
status when the also have CSM or CSPO 
• 21 SEUs (Scrum Education Units) towards CSP 
agil8 2014 2
R.I.P 
TDD The Death of 
TDD? 
david.putman@agil8.com
Agenda 
• Introduction 
• The Agile Equation 
• It all starts with a story 
• Testing from the outside-in 
• Introducing Jedward 
• Testing from the inside-out 
• Are you mocking me? 
• Improving the design 
• And back out again 
• Putting it all together 
• Next Steps and Further Reading 
agil8 2014 4
The Agile Equation 
Scrum == XP – (difficult bits) 
Release 
Planning 
Retrospectives 
User Stories 
On Site 
Customer 
Test 
First 
Simple 
Design 
Small 
Releases 
Acceptance 
Testing 
One 
Team 
Iterations 
Open 
Workspace 
Coding 
Standards 
Collective 
Ownership 
Continuous 
Integration 
Sustainable 
Pace 
Metaphor 
Pair 
Programming Refactoring 
agil8 2014 5
It all starts with a Story… 
• Collaboration is the key 
• Consensus on the problem 
we’re trying to solve 
• A shared vision of what 
we’re going to build 
• Reducing the risk of 
building the wrong thing 
• Anti-patterns: missing or 
wrong value statement, 
stories only for one user, 
stories written in isolation, 
no acceptance criteria 
agil8 2014 6
Testing from the Outside In 
• Building the right thing 
• Automating the agreed 
acceptance criteria 
• Customer-focused 
acceptance testing 
• The beauty of 
automation 
• Anti-patterns: no 
automation, no tests, UI 
only tests, lack of 
customer involvement. 
agil8 2014 7
Introducing JEDWARD 
• Just Enough Design, 
With All the Right Developers 
• Agile modelling using CRC 
and/or dynamic UML 
techniques 
• Consensus again – a shared 
vision of how we’re going to 
build it, everybody going in the 
same direction 
• Anti-patterns: not doing design, 
design in isolation, team 
working on multiple stories. 
agil8 2014 8
Testing from the Inside Out 
• Building the thing 
right 
• Engineering tests 
• Building quality in 
• A double entry 
system 
• Anti-patterns: slow 
tests, linked tests, 
broken tests, smoke 
tests 
agil8 2014 9
Improving the Design 
• Refactoring 
• “It works!” is just not 
good enough 
• Implies you know what 
‘good’ design is 
• Not doing design is the 
worst sin of all 
• Anti-pattern: refactoring 
as a separate activity, 
treating principles as 
rules, the Golden 
Hammer 
agil8 2014 10
Are you Mocking me? 
• Mocking for hard to 
test items 
• Canonicality 
• How often do we 
really need to use 
them? 
• Anti-patterns: overuse 
of mocks, fragmented 
codebase 
agil8 2014 11
and Back out Again 
• Anti-patterns: 
not following the 
process 
Red 
Lion 
agil8 2014 12
Putting it all Together 
• Continuous integration 
• Single mainline 
• Pipelines 
• Continuous delivery 
• DevOps 
• The new yardstick 
• Anti-patterns: branching, long 
integration or deployment cycles 
plan build integrate deliver operate 
agil8 2014 13
TDD is Dead 
Long live TDD! 
More and more 
organisations are 
understanding the benefits 
of building quality in 
More and more engineers 
are understanding the 
benefits of disciplined 
delivery 
But only if you do it 
right! 
agil8 2014 14
Next Steps & Further Reading 
User Stories Applied: Mike Cohn 
Clean Code: Robert C Martin 
Growing Object-Oriented Software: Steve 
Freeman, Nat Pryce 
Refactoring: Martin Fowler 
Continuous Delivery: Jez Humble, David Farley 
agil8 2014 15

Mais conteúdo relacionado

Mais procurados

Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015Raghu Karnati
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme ProgrammingKnoldus Inc.
 
Tech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDDTech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDDDUONG Trong Tan
 
Teaching Kids Programming
Teaching Kids ProgrammingTeaching Kids Programming
Teaching Kids ProgrammingLynn Langit
 
Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)Fatkul Amri
 
TDD vs. ATDD - What, Why, Which, When & Where
TDD vs. ATDD - What, Why, Which, When & WhereTDD vs. ATDD - What, Why, Which, When & Where
TDD vs. ATDD - What, Why, Which, When & WhereDaniel Davis
 
Test driven development
Test driven developmentTest driven development
Test driven developmentNascenia IT
 
Why Test Driven Development?
Why Test Driven Development?Why Test Driven Development?
Why Test Driven Development?Naresh Jain
 
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...DevOps.com
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven DevelopmentMike Douglas
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentguestc8093a6
 
Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming PresentationThoughtWorks
 
Architecture In An Agile World
Architecture In An Agile WorldArchitecture In An Agile World
Architecture In An Agile WorldJames Cooper
 
A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD) A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD) CodeOps Technologies LLP
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQASymphony
 
Agile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsAgile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsVipul Gupta
 

Mais procurados (20)

Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Tech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDDTech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDD
 
Teaching Kids Programming
Teaching Kids ProgrammingTeaching Kids Programming
Teaching Kids Programming
 
Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)
 
TDD vs. ATDD - What, Why, Which, When & Where
TDD vs. ATDD - What, Why, Which, When & WhereTDD vs. ATDD - What, Why, Which, When & Where
TDD vs. ATDD - What, Why, Which, When & Where
 
Test Strategy
Test StrategyTest Strategy
Test Strategy
 
Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
What is Agile Testing?
What is Agile Testing? What is Agile Testing?
What is Agile Testing?
 
Why Test Driven Development?
Why Test Driven Development?Why Test Driven Development?
Why Test Driven Development?
 
Agile Testing
Agile Testing  Agile Testing
Agile Testing
 
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
 
Architecture In An Agile World
Architecture In An Agile WorldArchitecture In An Agile World
Architecture In An Agile World
 
A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD) A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD)
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the Enterprise
 
Agile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsAgile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroids
 

Destaque

Agil8 Agile Story Writing - Impact Mapping - David Hicks - 30 Oct 2014
Agil8 Agile Story Writing - Impact Mapping - David Hicks - 30 Oct 2014Agil8 Agile Story Writing - Impact Mapping - David Hicks - 30 Oct 2014
Agil8 Agile Story Writing - Impact Mapping - David Hicks - 30 Oct 2014agil8 Ltd
 
Test-Driven Development Fundamentals on Force.com
Test-Driven Development Fundamentals on Force.comTest-Driven Development Fundamentals on Force.com
Test-Driven Development Fundamentals on Force.comSalesforce Developers
 
Test Driven Development (TDD) - CVCC 2011
Test Driven Development (TDD) - CVCC 2011Test Driven Development (TDD) - CVCC 2011
Test Driven Development (TDD) - CVCC 2011Tom Steele
 
An Introduction To Software Development - Test Driven Development, Part 1
An Introduction To Software Development - Test Driven Development, Part 1An Introduction To Software Development - Test Driven Development, Part 1
An Introduction To Software Development - Test Driven Development, Part 1Blue Elephant Consulting
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentnikhil sreeni
 
Software architecture...Yes, on tests!
Software architecture...Yes, on tests!Software architecture...Yes, on tests!
Software architecture...Yes, on tests!Codemotion
 
London SDET Meetup (April 2016) - M&S Digital Test Journey
London SDET Meetup (April 2016) - M&S Digital Test JourneyLondon SDET Meetup (April 2016) - M&S Digital Test Journey
London SDET Meetup (April 2016) - M&S Digital Test JourneyRichard Chernanko
 
Pratap Kumar Nallamothu SDET2
Pratap Kumar Nallamothu SDET2Pratap Kumar Nallamothu SDET2
Pratap Kumar Nallamothu SDET2pratap kumar
 
Testing without Testers
Testing without TestersTesting without Testers
Testing without TestersAlan Page
 
Appium & Robot Framework
Appium & Robot FrameworkAppium & Robot Framework
Appium & Robot FrameworkFurkan Ertürk
 
JavaOne 2016 :: Bringing Robot online with Robo4j Framework
JavaOne 2016 :: Bringing Robot online with Robo4j FrameworkJavaOne 2016 :: Bringing Robot online with Robo4j Framework
JavaOne 2016 :: Bringing Robot online with Robo4j FrameworkMiro Wengner
 
Rf meetup 16.3.2017 tampere share
Rf meetup 16.3.2017 tampere shareRf meetup 16.3.2017 tampere share
Rf meetup 16.3.2017 tampere shareMika Tavi
 
The Engines of Software Development: Testing and Test Driven Development
The Engines of Software Development: Testing and Test Driven DevelopmentThe Engines of Software Development: Testing and Test Driven Development
The Engines of Software Development: Testing and Test Driven DevelopmentLemi Orhan Ergin
 
The automated tests inside Openshift
The automated tests inside OpenshiftThe automated tests inside Openshift
The automated tests inside OpenshiftOleg Popov
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot FrameworkPekka Klärck
 

Destaque (20)

Agil8 Agile Story Writing - Impact Mapping - David Hicks - 30 Oct 2014
Agil8 Agile Story Writing - Impact Mapping - David Hicks - 30 Oct 2014Agil8 Agile Story Writing - Impact Mapping - David Hicks - 30 Oct 2014
Agil8 Agile Story Writing - Impact Mapping - David Hicks - 30 Oct 2014
 
Test-Driven Development Fundamentals on Force.com
Test-Driven Development Fundamentals on Force.comTest-Driven Development Fundamentals on Force.com
Test-Driven Development Fundamentals on Force.com
 
Test Driven Development (TDD) - CVCC 2011
Test Driven Development (TDD) - CVCC 2011Test Driven Development (TDD) - CVCC 2011
Test Driven Development (TDD) - CVCC 2011
 
An Introduction To Software Development - Test Driven Development, Part 1
An Introduction To Software Development - Test Driven Development, Part 1An Introduction To Software Development - Test Driven Development, Part 1
An Introduction To Software Development - Test Driven Development, Part 1
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Software architecture...Yes, on tests!
Software architecture...Yes, on tests!Software architecture...Yes, on tests!
Software architecture...Yes, on tests!
 
London SDET Meetup (April 2016) - M&S Digital Test Journey
London SDET Meetup (April 2016) - M&S Digital Test JourneyLondon SDET Meetup (April 2016) - M&S Digital Test Journey
London SDET Meetup (April 2016) - M&S Digital Test Journey
 
Pratap Kumar Nallamothu SDET2
Pratap Kumar Nallamothu SDET2Pratap Kumar Nallamothu SDET2
Pratap Kumar Nallamothu SDET2
 
Testing without Testers
Testing without TestersTesting without Testers
Testing without Testers
 
Appium & Robot Framework
Appium & Robot FrameworkAppium & Robot Framework
Appium & Robot Framework
 
JavaOne 2016 :: Bringing Robot online with Robo4j Framework
JavaOne 2016 :: Bringing Robot online with Robo4j FrameworkJavaOne 2016 :: Bringing Robot online with Robo4j Framework
JavaOne 2016 :: Bringing Robot online with Robo4j Framework
 
Belajar Postman test runner
Belajar Postman test runnerBelajar Postman test runner
Belajar Postman test runner
 
Rf meetup 16.3.2017 tampere share
Rf meetup 16.3.2017 tampere shareRf meetup 16.3.2017 tampere share
Rf meetup 16.3.2017 tampere share
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
The Engines of Software Development: Testing and Test Driven Development
The Engines of Software Development: Testing and Test Driven DevelopmentThe Engines of Software Development: Testing and Test Driven Development
The Engines of Software Development: Testing and Test Driven Development
 
Robot Framework
Robot FrameworkRobot Framework
Robot Framework
 
Tdd ver.2
Tdd ver.2Tdd ver.2
Tdd ver.2
 
TDD
TDDTDD
TDD
 
The automated tests inside Openshift
The automated tests inside OpenshiftThe automated tests inside Openshift
The automated tests inside Openshift
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
 

Semelhante a Agile Software Development and Test Driven Development: Agil8's Dave Putman 30 oct 2014

Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Kari Kakkonen
 
Agile testing quadrants discussion
Agile testing quadrants discussionAgile testing quadrants discussion
Agile testing quadrants discussionMary Jiang
 
Adopting Agile
Adopting AgileAdopting Agile
Adopting AgileCoverity
 
Agile Way to First Iteration
Agile Way to First IterationAgile Way to First Iteration
Agile Way to First IterationMikalai Alimenkou
 
Kanban testing
Kanban testingKanban testing
Kanban testingCprime
 
Agile Fundamentals
Agile FundamentalsAgile Fundamentals
Agile FundamentalsGraham Dick
 
Java DevOps at Enterprise Scale
Java DevOps at Enterprise ScaleJava DevOps at Enterprise Scale
Java DevOps at Enterprise ScaleRyan McGuinness
 
Refactoring Big Design Smells : Presented by Sanjay Kumar
Refactoring Big Design Smells : Presented by Sanjay KumarRefactoring Big Design Smells : Presented by Sanjay Kumar
Refactoring Big Design Smells : Presented by Sanjay KumaroGuild .
 
Agile Testing - What, why and how.
Agile Testing - What, why and how.Agile Testing - What, why and how.
Agile Testing - What, why and how.Asim Kazmi
 
Scrum and Agile Values
Scrum and Agile ValuesScrum and Agile Values
Scrum and Agile ValuesKamal Tejnani
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Marvin Heery
 
DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...
DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...
DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...GoDataDriven
 
A New Model For Testing
A New Model For TestingA New Model For Testing
A New Model For TestingTEST Huddle
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile TestingvodQA
 
Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .net
Iasi code camp 12 october 2013   corneliu rimboiu - bridging java and .netIasi code camp 12 october 2013   corneliu rimboiu - bridging java and .net
Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .netCodecamp Romania
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryNaveen Kumar Singh
 
Agile & Test Driven Development: The Ampersand Commerce Approach
Agile & Test Driven Development: The Ampersand Commerce ApproachAgile & Test Driven Development: The Ampersand Commerce Approach
Agile & Test Driven Development: The Ampersand Commerce ApproachAmpersand
 

Semelhante a Agile Software Development and Test Driven Development: Agil8's Dave Putman 30 oct 2014 (20)

Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle
 
Agile testing quadrants discussion
Agile testing quadrants discussionAgile testing quadrants discussion
Agile testing quadrants discussion
 
Adopting Agile
Adopting AgileAdopting Agile
Adopting Agile
 
Agile Way to First Iteration
Agile Way to First IterationAgile Way to First Iteration
Agile Way to First Iteration
 
clean code - uncle bob
clean code - uncle bobclean code - uncle bob
clean code - uncle bob
 
Kanban testing
Kanban testingKanban testing
Kanban testing
 
Agile Fundamentals
Agile FundamentalsAgile Fundamentals
Agile Fundamentals
 
Java DevOps at Enterprise Scale
Java DevOps at Enterprise ScaleJava DevOps at Enterprise Scale
Java DevOps at Enterprise Scale
 
Refactoring Big Design Smells : Presented by Sanjay Kumar
Refactoring Big Design Smells : Presented by Sanjay KumarRefactoring Big Design Smells : Presented by Sanjay Kumar
Refactoring Big Design Smells : Presented by Sanjay Kumar
 
Agile Testing - What, why and how.
Agile Testing - What, why and how.Agile Testing - What, why and how.
Agile Testing - What, why and how.
 
Scrum and Agile Values
Scrum and Agile ValuesScrum and Agile Values
Scrum and Agile Values
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...
DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...
DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...
 
New model
New modelNew model
New model
 
A New Model For Testing
A New Model For TestingA New Model For Testing
A New Model For Testing
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
DevTestOps
DevTestOpsDevTestOps
DevTestOps
 
Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .net
Iasi code camp 12 october 2013   corneliu rimboiu - bridging java and .netIasi code camp 12 october 2013   corneliu rimboiu - bridging java and .net
Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .net
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful delivery
 
Agile & Test Driven Development: The Ampersand Commerce Approach
Agile & Test Driven Development: The Ampersand Commerce ApproachAgile & Test Driven Development: The Ampersand Commerce Approach
Agile & Test Driven Development: The Ampersand Commerce Approach
 

Último

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 interpreternaman860154
 
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...Miguel Araújo
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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...Martijn de Jong
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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 RobisonAnna Loughnan Colquhoun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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...Enterprise Knowledge
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Último (20)

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
 
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...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 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...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Agile Software Development and Test Driven Development: Agil8's Dave Putman 30 oct 2014

  • 1. Agile Software Development - Test Driven Development David Putman Community Event : 30th October 2014 agil8 2014 0
  • 2. David Putman • Agile Consultant since 2001 • SAFe Programme Consultant • Certified ScrumMaster • Agile Award Nominee in 2011: Agile Coach of the Year • Agile Award Winner in 2012: Special Recognition david.putman@agil8.com agil8 2014 1
  • 3. Certified Scrum Developer • Certified Scrum Developer (Agile Software Development) – 3 day training course – Hands on coding skills – Emergent Agile Design – Test Driven Development – Refactoring – Continuous Integration Etc. • Delegates taking this course can apply for CSD status when the also have CSM or CSPO • 21 SEUs (Scrum Education Units) towards CSP agil8 2014 2
  • 4. R.I.P TDD The Death of TDD? david.putman@agil8.com
  • 5. Agenda • Introduction • The Agile Equation • It all starts with a story • Testing from the outside-in • Introducing Jedward • Testing from the inside-out • Are you mocking me? • Improving the design • And back out again • Putting it all together • Next Steps and Further Reading agil8 2014 4
  • 6. The Agile Equation Scrum == XP – (difficult bits) Release Planning Retrospectives User Stories On Site Customer Test First Simple Design Small Releases Acceptance Testing One Team Iterations Open Workspace Coding Standards Collective Ownership Continuous Integration Sustainable Pace Metaphor Pair Programming Refactoring agil8 2014 5
  • 7. It all starts with a Story… • Collaboration is the key • Consensus on the problem we’re trying to solve • A shared vision of what we’re going to build • Reducing the risk of building the wrong thing • Anti-patterns: missing or wrong value statement, stories only for one user, stories written in isolation, no acceptance criteria agil8 2014 6
  • 8. Testing from the Outside In • Building the right thing • Automating the agreed acceptance criteria • Customer-focused acceptance testing • The beauty of automation • Anti-patterns: no automation, no tests, UI only tests, lack of customer involvement. agil8 2014 7
  • 9. Introducing JEDWARD • Just Enough Design, With All the Right Developers • Agile modelling using CRC and/or dynamic UML techniques • Consensus again – a shared vision of how we’re going to build it, everybody going in the same direction • Anti-patterns: not doing design, design in isolation, team working on multiple stories. agil8 2014 8
  • 10. Testing from the Inside Out • Building the thing right • Engineering tests • Building quality in • A double entry system • Anti-patterns: slow tests, linked tests, broken tests, smoke tests agil8 2014 9
  • 11. Improving the Design • Refactoring • “It works!” is just not good enough • Implies you know what ‘good’ design is • Not doing design is the worst sin of all • Anti-pattern: refactoring as a separate activity, treating principles as rules, the Golden Hammer agil8 2014 10
  • 12. Are you Mocking me? • Mocking for hard to test items • Canonicality • How often do we really need to use them? • Anti-patterns: overuse of mocks, fragmented codebase agil8 2014 11
  • 13. and Back out Again • Anti-patterns: not following the process Red Lion agil8 2014 12
  • 14. Putting it all Together • Continuous integration • Single mainline • Pipelines • Continuous delivery • DevOps • The new yardstick • Anti-patterns: branching, long integration or deployment cycles plan build integrate deliver operate agil8 2014 13
  • 15. TDD is Dead Long live TDD! More and more organisations are understanding the benefits of building quality in More and more engineers are understanding the benefits of disciplined delivery But only if you do it right! agil8 2014 14
  • 16. Next Steps & Further Reading User Stories Applied: Mike Cohn Clean Code: Robert C Martin Growing Object-Oriented Software: Steve Freeman, Nat Pryce Refactoring: Martin Fowler Continuous Delivery: Jez Humble, David Farley agil8 2014 15