SlideShare a Scribd company logo
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

More Related Content

What's hot

Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015
Raghu Karnati
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
Knoldus 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 TDD
DUONG Trong Tan
 
Teaching Kids Programming
Teaching Kids ProgrammingTeaching Kids Programming
Teaching Kids Programming
Lynn 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 & Where
Daniel Davis
 
Test Strategy
Test StrategyTest Strategy
Test Strategy
Zbyszek Mockun
 
Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
Mikalai Alimenkou
 
Test driven development
Test driven developmentTest driven development
Test driven development
Nascenia IT
 
What is Agile Testing?
What is Agile Testing? What is Agile Testing?
What is Agile Testing?
Dr. Alexander Schwartz
 
Why Test Driven Development?
Why Test Driven Development?Why Test Driven Development?
Why Test Driven Development?
Naresh Jain
 
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...
DevOps.com
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
Mike Douglas
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
guestc8093a6
 
Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
ThoughtWorks
 
Architecture In An Agile World
Architecture In An Agile WorldArchitecture In An Agile World
Architecture In An Agile World
James 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 Enterprise
QASymphony
 
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
Vipul Gupta
 

What's hot (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
 

Viewers also liked

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
agil8 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.com
Salesforce Developers
 
Test Driven Development (TDD) - CVCC 2011
Test Driven Development (TDD) - CVCC 2011Test Driven Development (TDD) - CVCC 2011
Test Driven Development (TDD) - CVCC 2011
Tom 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 1
Blue Elephant Consulting
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
nikhil 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 Journey
Richard Chernanko
 
Pratap Kumar Nallamothu SDET2
Pratap Kumar Nallamothu SDET2Pratap Kumar Nallamothu SDET2
Pratap Kumar Nallamothu SDET2
pratap kumar
 
Testing without Testers
Testing without TestersTesting without Testers
Testing without Testers
Alan Page
 
Appium & Robot Framework
Appium & Robot FrameworkAppium & Robot Framework
Appium & Robot Framework
Furkan 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 Framework
Miro Wengner
 
Belajar Postman test runner
Belajar Postman test runnerBelajar Postman test runner
Belajar Postman test runner
Fachrul Choliluddin
 
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
Mika Tavi
 
Robot framework
Robot frameworkRobot framework
Robot framework
Prayoch Rujira
 
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
Lemi Orhan Ergin
 
Robot Framework
Robot FrameworkRobot Framework
Robot Framework
Onur Baskirt
 
Tdd ver.2
Tdd ver.2Tdd ver.2
Tdd ver.2
Henry Lee
 
TDD
TDDTDD
The automated tests inside Openshift
The automated tests inside OpenshiftThe automated tests inside Openshift
The automated tests inside Openshift
Oleg Popov
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
Pekka Klärck
 

Viewers also liked (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
 

Similar to 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 discussion
Mary Jiang
 
Adopting Agile
Adopting AgileAdopting Agile
Adopting Agile
Coverity
 
Agile Way to First Iteration
Agile Way to First IterationAgile Way to First Iteration
Agile Way to First Iteration
Mikalai Alimenkou
 
clean code - uncle bob
clean code - uncle bobclean code - uncle bob
clean code - uncle bob
saber tabatabaee
 
Kanban testing
Kanban testingKanban testing
Kanban testing
Cprime
 
Agile Fundamentals
Agile FundamentalsAgile Fundamentals
Agile Fundamentals
Graham Dick
 
Java DevOps at Enterprise Scale
Java DevOps at Enterprise ScaleJava DevOps at Enterprise Scale
Java DevOps at Enterprise Scale
Ryan 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 Kumar
oGuild .
 
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 Values
Kamal 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 4
Marvin 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
 
New model
New modelNew model
New model
TEST Huddle
 
A New Model For Testing
A New Model For TestingA New Model For Testing
A New Model For Testing
TEST Huddle
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
vodQA
 
DevTestOps
DevTestOpsDevTestOps
DevTestOps
Paul Mateos
 
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
Codecamp 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 delivery
Naveen 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 Approach
Ampersand
 

Similar to 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
 

Recently uploaded

Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
Data Hops
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
Edge AI and Vision Alliance
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 

Recently uploaded (20)

Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 

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