SlideShare a Scribd company logo
Agile And Test Driven
Development
Agenda
1. Waterfall vs Agile
2. Agile intro
3. SCRUM
4. Test-Driven Development
● You complete one phase (e.g. Design) before moving on to the next phase
(e.g. Development)
● You rarely aim to revisit a 'phase' once it's completed
Waterfall development
But ..
● You don't realize any value until the end of the project
● You leave the testing until the end
● You don't seek approval from the stakeholders until late in the day
This approach is highly risky, often more costly and generally less efficient than
agile approaches
Waterfall Vs Agile
● Waterfall model
phase by phase:
analysis > design > development >
testing and delivery of whole
functionality
● Agile model
analysis > design > development >
testing and delivery of a small
functional pieces in with short
cycles (Sprints)
Agile
what is agile ?
● In 1970, Dr. Winston Royce presented a paper entitled “Managing the
Development of Large Software Systems.
● In February 2001, seventeen software developers met at the Snowbird resort
in Utah to discuss lightweight development methods. They published the
Manifesto for Agile Software Development.
● agile methodology is described as “iterative” and “incremental.”
what is agile ? ,continue
● In an agile paradigm, every aspect of development — requirements, design,
etc. — is continually revisited throughout the lifecycle.
● Agile methodology is an alternative to traditional project management,
typically used in software development. It helps teams respond to
unpredictability through incremental, iterative work cadences, known as
sprints. Agile methodologies are an alternative to waterfall, or traditional
sequential development.
Agile Development Cycle
● the initial planning
● analysis is kept to a
very high level
● analysing, designing,
developing and
testing
● An iteration is simply a fixed, short period of time that the team chooses to
work within.
● Typically for agile teams, an iteration is between 1 week and 30 days.
● Strictly speaking, the Scrum agile development methodology advocates 30
days .
● The Extreme Programming agile methodology advocates 1 week.
● inspect-and-adapt
● analysis paralysis
● Agile and stakeholders
Benefits of Agile
Types of agile:
● Scrum
● Kanban
● Extreme programming
● Lean software development
Agile principles
The Agile Manifesto is based on twelve principles:
1. Customer satisfaction by early and continuous delivery of useful software
2. Welcome changing requirements, even in late development
3. Working software is delivered frequently (weeks rather than months)
4. Close, daily cooperation between business people and developers
5. Projects are built around motivated individuals, who should be trusted
6. Face-to-face conversation is the best form of communication (co-location)
Agile principles ,continue
7. Working software is the principal measure of progress
8. Sustainable development, able to maintain a constant pace
9. Continuous attention to technical excellence and good design10.
10. Simplicity—the art of maximizing the amount of work not done—is essential
11. self-organizing teams
12. Regular adaptation to changing circumstance
Evolutions
● In 2009, Later, Ken Schwaber with others founded the Scrum Alliance and
created the Certified Scrum Master programs and its derivatives.
Scrum
Scrum
● Split your organization
● Split your work
● Split time
Things we do in Scrum ..
● Backlog
● User stories
● Work estimation
● Roadmap
● Daily scrum meeting
Daily Scrum meeting
Scrum planning example
● Iteration cycle of weeks
● Working hour per day is 8
● Product backlog of 20 stories
● Each story effort is 10 hrs
Total hours of work iteration can accommodate
= 8hrs x 5days x 3weeks = 120 hrs
● Iteration backlog or number of stories per iteration 12 user story
Test-Driven Development (TDD)
What is Test-Driven Development?
● In principle, it is just about writing the test before the program
● But in consequence, it leads the developer to:
○ first think about “how to use” the component (why do we need the component, what’s it for?)
○ and only then about “how to implement”.
● So, it’s a testing technique as well as a design technique
○ It results into components that are easy to test and enhance.
● In the end, there is no code without a test.
Motivation
● If you intend to test after you‘ve developed the system, you won‘t have the
time for testing. => Write the tests before the code!
● If things get complicated, you might fear that „the system“ doesn‘t work.
=> Execute the tests and get positive feedback (everything still works) or get
pointed to the bit that does not / no longer work.
● If you don‘t have tests for the code, you shouldn‘t use it / ship it.
=> This can‘t happen if you write the test first (so you reach
better test coverage than with functional tests).
Mechanics of TDD
● Always start with a failing test
● Quickly write the simplest code needed to pass the test
● Remove duplication
● Repeat as needed to meet requirements
● Test everything that could possibly break
What should be tested?
● Valid inputs
● Invalid inputs
● Errors, exceptions, and events
● Boundary conditions
● Everything that could possibly break!
TDD Benefits for Developers
● Much less debug time
● Code proven to meet requirements
● Don’t write any un-necessary code
Getting started with TDD
● Get some training
● Start with a small visible project
● Shoot for 100% test coverage
● Don’t expect to be perfect
● Expect to improve dramatically in time
● Measure the results
Thanks !

More Related Content

What's hot

From Gatekeeper to Partner by Kelsey Shannahan
From Gatekeeper to Partner by Kelsey ShannahanFrom Gatekeeper to Partner by Kelsey Shannahan
From Gatekeeper to Partner by Kelsey Shannahan
QA or the Highway
 
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzieHey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
QA or the Highway
 
Agile Programming Systems # TDD intro
Agile Programming Systems # TDD introAgile Programming Systems # TDD intro
Agile Programming Systems # TDD intro
Vitaliy Kulikov
 
A Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven DevelopmentA Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven Development
Shawn Jones
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Orbit One - We create coherence
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Sachithra Gayan
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Hicham El Hammouchi
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
guestc8093a6
 
Unit testing for project managers
Unit testing for project managersUnit testing for project managers
Unit testing for project managers
Zend by Rogue Wave Software
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are done
Aleksey Solntsev
 
Test drive on driven development process
Test drive on driven development processTest drive on driven development process
Test drive on driven development process
Muralidharan Deenathayalan
 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)
David Ehringer
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
Knoldus Inc.
 
XP Injection
XP InjectionXP Injection
XP Injection
Aleksey Solntsev
 
What is Agile Testing?
What is Agile Testing? What is Agile Testing?
What is Agile Testing?
Dr. Alexander Schwartz
 
Code review
Code reviewCode review
Code review
Aleksey Solntsev
 
Test driven development
Test driven developmentTest driven development
Test driven developmentShalabh Saxena
 
Tdd
TddTdd
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
Sharafat Ibn Mollah Mosharraf
 

What's hot (20)

From Gatekeeper to Partner by Kelsey Shannahan
From Gatekeeper to Partner by Kelsey ShannahanFrom Gatekeeper to Partner by Kelsey Shannahan
From Gatekeeper to Partner by Kelsey Shannahan
 
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzieHey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
 
Agile Programming Systems # TDD intro
Agile Programming Systems # TDD introAgile Programming Systems # TDD intro
Agile Programming Systems # TDD intro
 
A Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven DevelopmentA Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven Development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Unit testing for project managers
Unit testing for project managersUnit testing for project managers
Unit testing for project managers
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are done
 
Test drive on driven development process
Test drive on driven development processTest drive on driven development process
Test drive on driven development process
 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
XP Injection
XP InjectionXP Injection
XP Injection
 
What is Agile Testing?
What is Agile Testing? What is Agile Testing?
What is Agile Testing?
 
Code review
Code reviewCode review
Code review
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Tdd
TddTdd
Tdd
 
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
 

Viewers also liked

PHP Experience 2016 - [Workshop] Agile: Test Driven Development
PHP Experience 2016 - [Workshop] Agile: Test Driven DevelopmentPHP Experience 2016 - [Workshop] Agile: Test Driven Development
PHP Experience 2016 - [Workshop] Agile: Test Driven Development
iMasters
 
Test-Driven Development in the Corporate Workplace
Test-Driven Development in the Corporate WorkplaceTest-Driven Development in the Corporate Workplace
Test-Driven Development in the Corporate Workplace
Ahmed Owian
 
ODD: Extending Agile 1.3
ODD: Extending Agile 1.3ODD: Extending Agile 1.3
ODD: Extending Agile 1.3
Jonathan Herring
 
ABAPCodeRetreat 23.7.2016 - TDD
ABAPCodeRetreat 23.7.2016 - TDDABAPCodeRetreat 23.7.2016 - TDD
ABAPCodeRetreat 23.7.2016 - TDD
ABAPCodeRetreat
 
Context driven agile tester - from outsourcing to startup world – EclipseCon ...
Context driven agile tester - from outsourcing to startup world – EclipseCon ...Context driven agile tester - from outsourcing to startup world – EclipseCon ...
Context driven agile tester - from outsourcing to startup world – EclipseCon ...
Dragan Spiridonov
 
Informed & Agile: Test Driven Design w/ Jon Innes
Informed & Agile: Test Driven Design w/ Jon InnesInformed & Agile: Test Driven Design w/ Jon Innes
Informed & Agile: Test Driven Design w/ Jon Innes
UserZoom
 
Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016
Lemi Orhan Ergin
 

Viewers also liked (7)

PHP Experience 2016 - [Workshop] Agile: Test Driven Development
PHP Experience 2016 - [Workshop] Agile: Test Driven DevelopmentPHP Experience 2016 - [Workshop] Agile: Test Driven Development
PHP Experience 2016 - [Workshop] Agile: Test Driven Development
 
Test-Driven Development in the Corporate Workplace
Test-Driven Development in the Corporate WorkplaceTest-Driven Development in the Corporate Workplace
Test-Driven Development in the Corporate Workplace
 
ODD: Extending Agile 1.3
ODD: Extending Agile 1.3ODD: Extending Agile 1.3
ODD: Extending Agile 1.3
 
ABAPCodeRetreat 23.7.2016 - TDD
ABAPCodeRetreat 23.7.2016 - TDDABAPCodeRetreat 23.7.2016 - TDD
ABAPCodeRetreat 23.7.2016 - TDD
 
Context driven agile tester - from outsourcing to startup world – EclipseCon ...
Context driven agile tester - from outsourcing to startup world – EclipseCon ...Context driven agile tester - from outsourcing to startup world – EclipseCon ...
Context driven agile tester - from outsourcing to startup world – EclipseCon ...
 
Informed & Agile: Test Driven Design w/ Jon Innes
Informed & Agile: Test Driven Design w/ Jon InnesInformed & Agile: Test Driven Design w/ Jon Innes
Informed & Agile: Test Driven Design w/ Jon Innes
 
Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016
 

Similar to Agile and test driven development

Software Development Methodologies
Software Development Methodologies Software Development Methodologies
Software Development Methodologies
Frances Coronel
 
Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...
Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...
Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...
Fibonalabs
 
Agile
AgileAgile
Agile
Komal2525
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
Knoldus Inc.
 
What is xp
What is xpWhat is xp
What is xp
Simone Federici
 
Managing software projects & teams effectively
Managing software projects & teams effectivelyManaging software projects & teams effectively
Managing software projects & teams effectively
Ashutosh Agarwal
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
AhmadSajjad34
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
Muhammad Shoaib
 
Agile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxAgile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptx
PerumalPitchandi
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineeringZeeshan Masood S
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
Zeeshan Masood S
 
Agile Model & Methodology
Agile Model & MethodologyAgile Model & Methodology
Agile Model & Methodology
yasirkhan_77
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
AllianceMSFourOneEig
 
Test strategy
Test strategyTest strategy
Test strategy
adarsh j
 
TDD in Agile
TDD in AgileTDD in Agile
TDD in Agile
Atish Narlawar
 
Agile Methodologies by TechDesti
Agile Methodologies by TechDestiAgile Methodologies by TechDesti
Agile Methodologies by TechDesti
TechDesti
 
Scrum intro
Scrum intro Scrum intro
Scrum intro
Elad Sofer
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
Giampiero Bonifazi
 
Agile practices for management
Agile practices for managementAgile practices for management
Agile practices for management
Icalia Labs
 

Similar to Agile and test driven development (20)

Software Development Methodologies
Software Development Methodologies Software Development Methodologies
Software Development Methodologies
 
Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...
Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...
Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...
 
Agile
AgileAgile
Agile
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
What is xp
What is xpWhat is xp
What is xp
 
Managing software projects & teams effectively
Managing software projects & teams effectivelyManaging software projects & teams effectively
Managing software projects & teams effectively
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Agile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxAgile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptx
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Agile Model & Methodology
Agile Model & MethodologyAgile Model & Methodology
Agile Model & Methodology
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Test strategy
Test strategyTest strategy
Test strategy
 
TDD in Agile
TDD in AgileTDD in Agile
TDD in Agile
 
Agile Methodologies by TechDesti
Agile Methodologies by TechDestiAgile Methodologies by TechDesti
Agile Methodologies by TechDesti
 
Scrum intro
Scrum intro Scrum intro
Scrum intro
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Agile practices for management
Agile practices for managementAgile practices for management
Agile practices for management
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 

Agile and test driven development

  • 1. Agile And Test Driven Development
  • 2. Agenda 1. Waterfall vs Agile 2. Agile intro 3. SCRUM 4. Test-Driven Development
  • 3. ● You complete one phase (e.g. Design) before moving on to the next phase (e.g. Development) ● You rarely aim to revisit a 'phase' once it's completed Waterfall development
  • 4.
  • 5. But .. ● You don't realize any value until the end of the project ● You leave the testing until the end ● You don't seek approval from the stakeholders until late in the day This approach is highly risky, often more costly and generally less efficient than agile approaches
  • 6. Waterfall Vs Agile ● Waterfall model phase by phase: analysis > design > development > testing and delivery of whole functionality ● Agile model analysis > design > development > testing and delivery of a small functional pieces in with short cycles (Sprints)
  • 7.
  • 9. what is agile ? ● In 1970, Dr. Winston Royce presented a paper entitled “Managing the Development of Large Software Systems. ● In February 2001, seventeen software developers met at the Snowbird resort in Utah to discuss lightweight development methods. They published the Manifesto for Agile Software Development. ● agile methodology is described as “iterative” and “incremental.”
  • 10. what is agile ? ,continue ● In an agile paradigm, every aspect of development — requirements, design, etc. — is continually revisited throughout the lifecycle. ● Agile methodology is an alternative to traditional project management, typically used in software development. It helps teams respond to unpredictability through incremental, iterative work cadences, known as sprints. Agile methodologies are an alternative to waterfall, or traditional sequential development.
  • 11. Agile Development Cycle ● the initial planning ● analysis is kept to a very high level ● analysing, designing, developing and testing
  • 12. ● An iteration is simply a fixed, short period of time that the team chooses to work within. ● Typically for agile teams, an iteration is between 1 week and 30 days. ● Strictly speaking, the Scrum agile development methodology advocates 30 days . ● The Extreme Programming agile methodology advocates 1 week.
  • 13.
  • 14. ● inspect-and-adapt ● analysis paralysis ● Agile and stakeholders Benefits of Agile
  • 15. Types of agile: ● Scrum ● Kanban ● Extreme programming ● Lean software development
  • 16. Agile principles The Agile Manifesto is based on twelve principles: 1. Customer satisfaction by early and continuous delivery of useful software 2. Welcome changing requirements, even in late development 3. Working software is delivered frequently (weeks rather than months) 4. Close, daily cooperation between business people and developers 5. Projects are built around motivated individuals, who should be trusted 6. Face-to-face conversation is the best form of communication (co-location)
  • 17. Agile principles ,continue 7. Working software is the principal measure of progress 8. Sustainable development, able to maintain a constant pace 9. Continuous attention to technical excellence and good design10. 10. Simplicity—the art of maximizing the amount of work not done—is essential 11. self-organizing teams 12. Regular adaptation to changing circumstance
  • 18. Evolutions ● In 2009, Later, Ken Schwaber with others founded the Scrum Alliance and created the Certified Scrum Master programs and its derivatives.
  • 19. Scrum
  • 20. Scrum ● Split your organization ● Split your work ● Split time
  • 21.
  • 22. Things we do in Scrum .. ● Backlog ● User stories ● Work estimation ● Roadmap ● Daily scrum meeting
  • 24. Scrum planning example ● Iteration cycle of weeks ● Working hour per day is 8 ● Product backlog of 20 stories ● Each story effort is 10 hrs Total hours of work iteration can accommodate = 8hrs x 5days x 3weeks = 120 hrs ● Iteration backlog or number of stories per iteration 12 user story
  • 26. What is Test-Driven Development? ● In principle, it is just about writing the test before the program ● But in consequence, it leads the developer to: ○ first think about “how to use” the component (why do we need the component, what’s it for?) ○ and only then about “how to implement”. ● So, it’s a testing technique as well as a design technique ○ It results into components that are easy to test and enhance. ● In the end, there is no code without a test.
  • 27. Motivation ● If you intend to test after you‘ve developed the system, you won‘t have the time for testing. => Write the tests before the code! ● If things get complicated, you might fear that „the system“ doesn‘t work. => Execute the tests and get positive feedback (everything still works) or get pointed to the bit that does not / no longer work. ● If you don‘t have tests for the code, you shouldn‘t use it / ship it. => This can‘t happen if you write the test first (so you reach better test coverage than with functional tests).
  • 28. Mechanics of TDD ● Always start with a failing test ● Quickly write the simplest code needed to pass the test ● Remove duplication ● Repeat as needed to meet requirements ● Test everything that could possibly break
  • 29. What should be tested? ● Valid inputs ● Invalid inputs ● Errors, exceptions, and events ● Boundary conditions ● Everything that could possibly break!
  • 30. TDD Benefits for Developers ● Much less debug time ● Code proven to meet requirements ● Don’t write any un-necessary code
  • 31. Getting started with TDD ● Get some training ● Start with a small visible project ● Shoot for 100% test coverage ● Don’t expect to be perfect ● Expect to improve dramatically in time ● Measure the results