SlideShare a Scribd company logo
1 of 34
Agile Testing
D A Y 1 – A G I L E P R O C E S S E S
S H U C H I S I N G L A , P M I - A C P , I T I L ( F ) A N D I S E B
1
Agenda - Day 1
Introduction to Agile
Test Approach – Agile Way
Roles in Agile
Exercise
2
Waterfall’s Demise
3
Problem
Serialized Process
Planning far in advance
Lack of visibility
Project Timeline
Static Requirements
Consequences
Strict sequential chain of the project phases.
Previous phase has to be completed before starting the next phase.
Products no longer match reality by the time they are released
Teams don’t realize they are behind schedule until end
Working model can only be seen at end
Timeline is planned at the start. If one phase is delayed all other phases are also delayed.
Requirements cannot be changed or modified in middle.
In larger and complex projects about 60% of the initial requirements are changed
throughout the project
Agile’s Rise
4
Problem
Serialized Process
Planning far in advance
Lack of visibility
Project Timeline
Static Requirements
Agile’s Solution
Iterative approach with tasks broken into small increments
Plan for what we know, and we have left sufficient allowance in our plans for what we don’t
know.
Allows customer feedback throughout the process. Expectations of the customer are reset
at the beginning of each new iteration based on the previous iteration.
Delivers working software frequently, from couple of weeks to months; with preference for
shorter time scale
Scope is never closed; Continual reassessment of requirement priorities by the business
Agile an Introduction
5
Agile - Introduction
6
Agile is an alternative to traditional waterfall, It helps teams respond to unpredictability through
incremental, iterative work cadences, known as sprints.
12 Principles..
Our highest priority is to satisfy the customer through early and continuous
delivery of valuable software.
Welcome changing requirements, even late in development. Agile processes
harness change for the customer's competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of months,
with a preference to the shorter timescale.
Business people and developers must work together daily throughout the project.
Build projects around motivated individuals. Give them the environment and
support they need, and trust them to get the job done.
The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation.
7
12 Principles..
Working software is the primary measure of progress.
Agile processes promote sustainable development. The sponsors, developers, and
users should be able to maintain a constant pace indefinitely.
Continuous attention to technical excellence and good design enhances agility.
Simplicity — the art of maximizing the amount of work not done — is essential.
The best architectures, requirements, and designs emerge from self-organizing
teams.
At regular intervals, the team reflects on how to become more effective, then tunes
and adjusts its behavior accordingly.
8
Agile Manifesto
9
Agile Manifesto
We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
10
Individuals and interactions over
processes and tools
Focus on empowered, self-managing teams
Autonomous teams do not need the day-to-day intervention of management
Management protects team from outside interference
Agile teams are amalgamation of varied professional skills
Agile team members are able to step in for each other as necessary
11
Working software over comprehensive
documentation
Traditionally we measure progress by the percent complete of the functional milestones
Agile teams provide actual working product as a status report, “product review”
Design changes as the system is built, results in outdated documentation
Agile teams prefer face-to-face communication over documentation which is simpler, faster,
and more reliable
12
Customer collaboration over contract
negotiation
Contract negotiation, Identify and define everything and spells out the payment and date
specifications
Customers become a part of the development process
Writing specs down and throwing them over the fence is simply not effective
13
Responding to change over following a
plan
It’s much easier to respond to change when the organization and the customer share a clear
understanding of the project’s status
In plan-driven environments, all requirements are specified up front, broken down to the task
level and estimated
Agile plans follow more of a rolling wave approach using top-down planning
14
Agile Methodology
15
Introduction to Agile Methodology
Agile methodologies embrace iterations
Small teams work together with stakeholders to describe requirements for the iteration,
develops the code, and defines and runs integrated test scripts, and the users verify the
results
It promotes adaptive planning, evolutionary development & delivery, a time-boxed iterative
approach, and encourages rapid and flexible response to change
16
DSDM
17
Dynamic Systems Development Method focuses on:
Delivery of the business solution, rather than just team activity.
Ensure the feasibility of a project before it is created.
It stresses cooperation and collaboration between all interested parties.
Makes heavy use of prototyping to make sure interested parties have a clear picture of all aspects of
the system.
DSDM
18
Scrum
19
Test Approach – Agile Way
20
Test Approach – Agile Way
21
Session Based Testing
A method specifically designed to make
exploratory testing auditable and
measurable on a wider scale.
Session Based Structure
Charter
Session
ReportDebrief
Parsing
Results
Agile Quality – A Team Deliverable
Agile Practice Benefits
Whole Team • Quality is not just a tester responsibility
• Quality is more than just testing
• Testing role shifts to quality infusion throughout
project life cycle
Continuous Integration • Developers cannot check in code with failing tests
Continuous Testing • Avoids long delays with “big-bang” testing after the
“final build”
• Bugs found closer to when they are introduced
making them easier to fix
Agile Testing Challenges
Team may not value testers
Testers may not value team
Unclear role of testers on team
Testing is often squeezed as deadlines approach
Developers and testers are often in different operational silos
Team may not have the skills or domain expertise to develop/test effectively
Agile Testing Approach
Testers are first class citizens on agile teams and part of the “whole team”
supporting customers, business stakeholders, developers and other team
members
Testers support quality infusion through entire team and product cycle
Test tasks and stories are planned and executed like development tasks and
stories
Automate where possible and use session-based testing for exploratory
testing
Communicate through information radiators
CritiquesProduct
SupportsDevelopment
Brian Marick’s Agile Testing Matrix
Functional Tests
Customer Tests
Story Tests/Examples
User Acceptance Tests
Exploratory Tests
Usability Tests
Unit Tests
Integration Tests
Performance Tests
Load Tests
Customer Facing
Technology Facing
Automate
Tools
Manual
Q1
Q2 Q3
Q4
Automate
CritiquesProduct
SupportsDevelopment
Tester Activities
Product Specifications
Test Ideas
Testing
UAT Design
Exploratory Testing
Usability Testing
Test Ideas
Test Development
Testing
Test Scripts
Testing
Test Analysis
Customer Facing
Technology Facing
Product Owner
Collaboration
IT
Collaboration
Customer
Collaboration
Developer
Collaboration
Q1
Q2 Q3
Q4
Agile Testing Iterations
Previous
Iteration
Stories
Working
Product
Q3, Q4:
Product
Testing
Current
Iteration
Stories
Working
Product
Q1:
Testing &
Collaboration
Next
Iteration
Stories
Working
Product
Q2:
Planning &
Test Ideas
Roles in Agile
30
Agile Team
31
Product Owner
Single person responsible for maximizing the return on investment (ROI)
of the development effort
Responsible for product vision
Constantly re-prioritizes the Product Backlog
Final arbiter of requirements questions
Accepts or rejects each product increment
Decides whether to ship
Decides whether to continue development
Considers stakeholder interests
Scrum Development Team
Cross-functional (e.g., includes members with testing skills, and often others not traditionally
called developers: business analysts, domain experts, etc.)
Self-organizing / self-managing, without externally assigned roles
Negotiates commitments with the Product Owner, one Sprint at a time
Intensely collaborative
Most successful when located in one team room, particularly for the first few Sprints
7 ± 2 members
Has a leadership role
Scrum Master
Facilitates the Scrum process
Helps resolve impediments
Creates an environment conducive to team self-organization
Captures empirical data to adjust forecasts
Shields the team from external interference and distractions to keep it in group flow (a.k.a. the
zone)
Enforces timeboxes
Keeps Scrum artifacts visible
Has no management authority over the team
Has a leadership role

More Related Content

What's hot

Software Testing Services
Software Testing ServicesSoftware Testing Services
Software Testing ServicesFuad Mak
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Simplilearn
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projectssriks7
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Lars Thorup
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
Site reliability engineering - Lightning Talk
Site reliability engineering - Lightning TalkSite reliability engineering - Lightning Talk
Site reliability engineering - Lightning TalkMichae Blakeney
 
Agile process (Scrum Framework)
Agile process (Scrum Framework)Agile process (Scrum Framework)
Agile process (Scrum Framework)Jakir Hosen Khan
 
DevOps 101 - an Introduction to DevOps
DevOps 101  - an Introduction to DevOpsDevOps 101  - an Introduction to DevOps
DevOps 101 - an Introduction to DevOpsRed Gate Software
 
Site Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet SugathadasaSite Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet SugathadasaKeet Sugathadasa
 
Overview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practicesOverview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practicesAshutosh Agarwal
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Janusz Nowak
 
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...ITSM Academy, Inc.
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrumPrudentialSolutions
 
SRE 101 (Site Reliability Engineering)
SRE 101 (Site Reliability Engineering)SRE 101 (Site Reliability Engineering)
SRE 101 (Site Reliability Engineering)Hussain Mansoor
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentationCarl Bruiners
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8a34sharm
 

What's hot (20)

Software Testing Services
Software Testing ServicesSoftware Testing Services
Software Testing Services
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
 
"DevOps > CI+CD "
"DevOps > CI+CD ""DevOps > CI+CD "
"DevOps > CI+CD "
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
Site reliability engineering - Lightning Talk
Site reliability engineering - Lightning TalkSite reliability engineering - Lightning Talk
Site reliability engineering - Lightning Talk
 
Agile process (Scrum Framework)
Agile process (Scrum Framework)Agile process (Scrum Framework)
Agile process (Scrum Framework)
 
DevOps 101 - an Introduction to DevOps
DevOps 101  - an Introduction to DevOpsDevOps 101  - an Introduction to DevOps
DevOps 101 - an Introduction to DevOps
 
Agile testing
Agile testingAgile testing
Agile testing
 
DevOps
DevOps DevOps
DevOps
 
Site Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet SugathadasaSite Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
 
Overview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practicesOverview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practices
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrum
 
SRE 101 (Site Reliability Engineering)
SRE 101 (Site Reliability Engineering)SRE 101 (Site Reliability Engineering)
SRE 101 (Site Reliability Engineering)
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8
 

Similar to Agile Testing

Introduction to Agile and Lean Software Development
Introduction to Agile and Lean Software DevelopmentIntroduction to Agile and Lean Software Development
Introduction to Agile and Lean Software DevelopmentThanh Nguyen
 
Best Practices When Moving To Agile Project Management
Best Practices When Moving To Agile Project ManagementBest Practices When Moving To Agile Project Management
Best Practices When Moving To Agile Project ManagementRobert McGeachy
 
Agile adoption julen c. mohanty
Agile adoption   julen c. mohantyAgile adoption   julen c. mohanty
Agile adoption julen c. mohantyJulen Mohanty
 
Presentation by lavika upadhyay
Presentation by lavika upadhyayPresentation by lavika upadhyay
Presentation by lavika upadhyayPMI_IREP_TP
 
Agile Project Management Essential
Agile Project Management EssentialAgile Project Management Essential
Agile Project Management EssentialReema
 
Agile software development
Agile software developmentAgile software development
Agile software developmentpradeeppatelpmp
 
About Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
About Agile & PMI Agile Certified Practitioner (PMI-ACP) OverviewAbout Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
About Agile & PMI Agile Certified Practitioner (PMI-ACP) OverviewAleem Khan
 
Robert Mc Geachy Common Pitfalls Agile
Robert Mc Geachy Common Pitfalls AgileRobert Mc Geachy Common Pitfalls Agile
Robert Mc Geachy Common Pitfalls AgileRobert McGeachy
 
Agile project management 101 (tai lieu tham khao)
Agile project management 101 (tai lieu tham khao)Agile project management 101 (tai lieu tham khao)
Agile project management 101 (tai lieu tham khao)nguyenanvuong2007
 
Using Agile in the Classroom
Using Agile in the ClassroomUsing Agile in the Classroom
Using Agile in the ClassroomCindy Royal
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development MethodologiesPradeep Patel, PMP®
 
Changing landscape of software project management
Changing landscape of software project managementChanging landscape of software project management
Changing landscape of software project managementPramesh Vaidya
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development ProcessSoftware Park Thailand
 
Essence of agile part 1
Essence of agile part 1Essence of agile part 1
Essence of agile part 1Parul Jain
 
Software Development Methodologies Pros, Cons, & Use Cases
Software Development Methodologies Pros, Cons, & Use CasesSoftware Development Methodologies Pros, Cons, & Use Cases
Software Development Methodologies Pros, Cons, & Use CasesPolyxer Systems
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overviewguestb4c770
 
Integrating agile into sdlc presentation pmi v2
Integrating agile into sdlc presentation   pmi v2Integrating agile into sdlc presentation   pmi v2
Integrating agile into sdlc presentation pmi v2pmimkecomm
 

Similar to Agile Testing (20)

Introduction to Agile and Lean Software Development
Introduction to Agile and Lean Software DevelopmentIntroduction to Agile and Lean Software Development
Introduction to Agile and Lean Software Development
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Best Practices When Moving To Agile Project Management
Best Practices When Moving To Agile Project ManagementBest Practices When Moving To Agile Project Management
Best Practices When Moving To Agile Project Management
 
Agile adoption julen c. mohanty
Agile adoption   julen c. mohantyAgile adoption   julen c. mohanty
Agile adoption julen c. mohanty
 
Agile Development
Agile DevelopmentAgile Development
Agile Development
 
Presentation by lavika upadhyay
Presentation by lavika upadhyayPresentation by lavika upadhyay
Presentation by lavika upadhyay
 
Agile Project Management Essential
Agile Project Management EssentialAgile Project Management Essential
Agile Project Management Essential
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
About Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
About Agile & PMI Agile Certified Practitioner (PMI-ACP) OverviewAbout Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
About Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
 
Robert Mc Geachy Common Pitfalls Agile
Robert Mc Geachy Common Pitfalls AgileRobert Mc Geachy Common Pitfalls Agile
Robert Mc Geachy Common Pitfalls Agile
 
Agile project management 101 (tai lieu tham khao)
Agile project management 101 (tai lieu tham khao)Agile project management 101 (tai lieu tham khao)
Agile project management 101 (tai lieu tham khao)
 
Using Agile in the Classroom
Using Agile in the ClassroomUsing Agile in the Classroom
Using Agile in the Classroom
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
Changing landscape of software project management
Changing landscape of software project managementChanging landscape of software project management
Changing landscape of software project management
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development Process
 
Essence of agile part 1
Essence of agile part 1Essence of agile part 1
Essence of agile part 1
 
Software Development Methodologies Pros, Cons, & Use Cases
Software Development Methodologies Pros, Cons, & Use CasesSoftware Development Methodologies Pros, Cons, & Use Cases
Software Development Methodologies Pros, Cons, & Use Cases
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overview
 
Agile+Slides.pdf
Agile+Slides.pdfAgile+Slides.pdf
Agile+Slides.pdf
 
Integrating agile into sdlc presentation pmi v2
Integrating agile into sdlc presentation   pmi v2Integrating agile into sdlc presentation   pmi v2
Integrating agile into sdlc presentation pmi v2
 

More from Shuchi Singla AKT,SPC4,PMI-ACP,ITIL(F),CP-AAT (11)

BFS Commodities Management Solution
BFS Commodities Management SolutionBFS Commodities Management Solution
BFS Commodities Management Solution
 
Agile - How it let's you sleep better
Agile - How it let's you sleep better Agile - How it let's you sleep better
Agile - How it let's you sleep better
 
Training program BaffleSol academy of learning
Training program BaffleSol academy of learningTraining program BaffleSol academy of learning
Training program BaffleSol academy of learning
 
Agile for Non-IT
Agile for Non-ITAgile for Non-IT
Agile for Non-IT
 
PMI-Agile for Distributed Teams
PMI-Agile for Distributed TeamsPMI-Agile for Distributed Teams
PMI-Agile for Distributed Teams
 
Tracking through kanban
Tracking through kanbanTracking through kanban
Tracking through kanban
 
Scrum best practices
Scrum best practicesScrum best practices
Scrum best practices
 
Need for scaling agile
Need for scaling agileNeed for scaling agile
Need for scaling agile
 
Agile for Infrastructure Projects
Agile for Infrastructure ProjectsAgile for Infrastructure Projects
Agile for Infrastructure Projects
 
ISTQB foundation level - day 2
ISTQB foundation level - day 2ISTQB foundation level - day 2
ISTQB foundation level - day 2
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 

Agile Testing

  • 1. Agile Testing D A Y 1 – A G I L E P R O C E S S E S S H U C H I S I N G L A , P M I - A C P , I T I L ( F ) A N D I S E B 1
  • 2. Agenda - Day 1 Introduction to Agile Test Approach – Agile Way Roles in Agile Exercise 2
  • 3. Waterfall’s Demise 3 Problem Serialized Process Planning far in advance Lack of visibility Project Timeline Static Requirements Consequences Strict sequential chain of the project phases. Previous phase has to be completed before starting the next phase. Products no longer match reality by the time they are released Teams don’t realize they are behind schedule until end Working model can only be seen at end Timeline is planned at the start. If one phase is delayed all other phases are also delayed. Requirements cannot be changed or modified in middle. In larger and complex projects about 60% of the initial requirements are changed throughout the project
  • 4. Agile’s Rise 4 Problem Serialized Process Planning far in advance Lack of visibility Project Timeline Static Requirements Agile’s Solution Iterative approach with tasks broken into small increments Plan for what we know, and we have left sufficient allowance in our plans for what we don’t know. Allows customer feedback throughout the process. Expectations of the customer are reset at the beginning of each new iteration based on the previous iteration. Delivers working software frequently, from couple of weeks to months; with preference for shorter time scale Scope is never closed; Continual reassessment of requirement priorities by the business
  • 6. Agile - Introduction 6 Agile is an alternative to traditional waterfall, It helps teams respond to unpredictability through incremental, iterative work cadences, known as sprints.
  • 7. 12 Principles.. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 7
  • 8. 12 Principles.. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity — the art of maximizing the amount of work not done — is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 8
  • 10. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. 10
  • 11. Individuals and interactions over processes and tools Focus on empowered, self-managing teams Autonomous teams do not need the day-to-day intervention of management Management protects team from outside interference Agile teams are amalgamation of varied professional skills Agile team members are able to step in for each other as necessary 11
  • 12. Working software over comprehensive documentation Traditionally we measure progress by the percent complete of the functional milestones Agile teams provide actual working product as a status report, “product review” Design changes as the system is built, results in outdated documentation Agile teams prefer face-to-face communication over documentation which is simpler, faster, and more reliable 12
  • 13. Customer collaboration over contract negotiation Contract negotiation, Identify and define everything and spells out the payment and date specifications Customers become a part of the development process Writing specs down and throwing them over the fence is simply not effective 13
  • 14. Responding to change over following a plan It’s much easier to respond to change when the organization and the customer share a clear understanding of the project’s status In plan-driven environments, all requirements are specified up front, broken down to the task level and estimated Agile plans follow more of a rolling wave approach using top-down planning 14
  • 16. Introduction to Agile Methodology Agile methodologies embrace iterations Small teams work together with stakeholders to describe requirements for the iteration, develops the code, and defines and runs integrated test scripts, and the users verify the results It promotes adaptive planning, evolutionary development & delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change 16
  • 17. DSDM 17 Dynamic Systems Development Method focuses on: Delivery of the business solution, rather than just team activity. Ensure the feasibility of a project before it is created. It stresses cooperation and collaboration between all interested parties. Makes heavy use of prototyping to make sure interested parties have a clear picture of all aspects of the system.
  • 20. Test Approach – Agile Way 20
  • 21. Test Approach – Agile Way 21
  • 22. Session Based Testing A method specifically designed to make exploratory testing auditable and measurable on a wider scale.
  • 24. Agile Quality – A Team Deliverable Agile Practice Benefits Whole Team • Quality is not just a tester responsibility • Quality is more than just testing • Testing role shifts to quality infusion throughout project life cycle Continuous Integration • Developers cannot check in code with failing tests Continuous Testing • Avoids long delays with “big-bang” testing after the “final build” • Bugs found closer to when they are introduced making them easier to fix
  • 25. Agile Testing Challenges Team may not value testers Testers may not value team Unclear role of testers on team Testing is often squeezed as deadlines approach Developers and testers are often in different operational silos Team may not have the skills or domain expertise to develop/test effectively
  • 26. Agile Testing Approach Testers are first class citizens on agile teams and part of the “whole team” supporting customers, business stakeholders, developers and other team members Testers support quality infusion through entire team and product cycle Test tasks and stories are planned and executed like development tasks and stories Automate where possible and use session-based testing for exploratory testing Communicate through information radiators
  • 27. CritiquesProduct SupportsDevelopment Brian Marick’s Agile Testing Matrix Functional Tests Customer Tests Story Tests/Examples User Acceptance Tests Exploratory Tests Usability Tests Unit Tests Integration Tests Performance Tests Load Tests Customer Facing Technology Facing Automate Tools Manual Q1 Q2 Q3 Q4 Automate
  • 28. CritiquesProduct SupportsDevelopment Tester Activities Product Specifications Test Ideas Testing UAT Design Exploratory Testing Usability Testing Test Ideas Test Development Testing Test Scripts Testing Test Analysis Customer Facing Technology Facing Product Owner Collaboration IT Collaboration Customer Collaboration Developer Collaboration Q1 Q2 Q3 Q4
  • 29. Agile Testing Iterations Previous Iteration Stories Working Product Q3, Q4: Product Testing Current Iteration Stories Working Product Q1: Testing & Collaboration Next Iteration Stories Working Product Q2: Planning & Test Ideas
  • 32. Product Owner Single person responsible for maximizing the return on investment (ROI) of the development effort Responsible for product vision Constantly re-prioritizes the Product Backlog Final arbiter of requirements questions Accepts or rejects each product increment Decides whether to ship Decides whether to continue development Considers stakeholder interests
  • 33. Scrum Development Team Cross-functional (e.g., includes members with testing skills, and often others not traditionally called developers: business analysts, domain experts, etc.) Self-organizing / self-managing, without externally assigned roles Negotiates commitments with the Product Owner, one Sprint at a time Intensely collaborative Most successful when located in one team room, particularly for the first few Sprints 7 ± 2 members Has a leadership role
  • 34. Scrum Master Facilitates the Scrum process Helps resolve impediments Creates an environment conducive to team self-organization Captures empirical data to adjust forecasts Shields the team from external interference and distractions to keep it in group flow (a.k.a. the zone) Enforces timeboxes Keeps Scrum artifacts visible Has no management authority over the team Has a leadership role

Editor's Notes

  1. Failure to meet the purpose / solve the problem it was designed for - DSDM allows for user testing all through the development process, thus allowing developers to get prompt feedback on the usability and suitability of the product. Cost outweighs benefits, or cost is too high altogether - In DSDM, a Business Study is done at the beginning of the project, greatly decreasing the likelihood of late surprises in the financial realm. Poor communication between involved parties - DSDM stresses communication and collaboration between all interested parties - developers, users, etc. The users finds the program either too hard to use that it does not work as expected - DSDM allows for user testing all through the development process, thus allowing developers to get prompt feedback on the usability and suitability of the product. Hidden flaws surface in the system due to poor design or implementation - In DSDM, prototyping helps to ensure that the system is designed correctly and that everyone knows how it will work. Unit testing helps to uncover hidden bugs, and incremental development allows for user testing all through the development process. Users resist the instantiation of the system, either for political reasons, or a lack of commitment to it - In DSDM, since the users are actively involved in the development of the system, they are more likely to embrace it and take it on. The system is in-flexible and/or un-maintainable, and unable to adapt to change - Since DSDM emphasizes flexibility in design, this is not likely to happen with DSDM.
  2. Scrum, occurs in small pieces, with each piece building upon previously created pieces. Scrum emphasizes empirical feedback, team self management, and striving to build properly tested product increments within short iterations. Unlike XP, Scrum methodology includes both managerial and development processes. this emphasis on an ongoing assessment of completed work is largely responsible for its popularity with managers and developers alike. But what allows the Scrum methodology to really work is a set of roles, responsibilities, and meetings that never change. If Scrum’s capacity for adaption and flexibility makes it an appealing option, the stability of its practices give teams something to lean on when development gets chaotic.
  3. Team sprint focus is to get a failing customer to pass. Team daily focus is to get failing developer tests to pass and then refactor.
  4. Q1: Test Driven Development Measure “internal quality” of system Small unit tests drive design of small part of code. Larger integration tests drive system design Automated, in same language, done by programmers Run often and at every checkin Q2: Story Driven Development Measure “external quality” of system Story tests drive higher level system design Tests are more functional; more examples & combinations Tests boundary conditions, error handling, presentation Q3: Some tests in Q2 may be incorrect or incomplete Team may misunderstand, agile customer may omit or forget something Emulate how a real user would use the system Manual testing – requires a human Exploratory/session based testing Q4: Performance, robustness, security etc. Sometimes not given enough focus on agile teams Often requires specialized tools & expertise * Tests on right hand side feed into stories/tasks for left hand side
  5. Q1: Test Driven Development Measure “internal quality” of system Small unit tests drive design of small part of code. Larger integration tests drive system design Automated, in same language, done by programmers Run often and at every checkin Q2: Story Driven Development Measure “external quality” of system Story tests drive higher level system design Tests are more functional; more examples & combinations Tests boundary conditions, error handling, presentation Q3: Some tests in Q2 may be incorrect or incomplete Team may misunderstand, agile customer may omit or forget something Emulate how a real user would use the system Manual testing – requires a human Exploratory/session based testing Q4: Performance, robustness, security etc. Sometimes not given enough focus on agile teams Often requires specialized tools & expertise * Tests on right hand side feed into stories/tasks for left hand side
  6. pair testers with developers for: exploratory testing testing bug fixes recreating newly found bugs automating tests fixing and testing "trivial" bugs as they are found - bugs that will only get fixed in geological timeframes have testers report on overall product quality (I was recently introduced to "Low Tech Testing Dashboards" by Paul Carvalho that is perfect for this) use testers as "consultants" and treat them as experts shift testers to a lead role directing whole team testing close to release use cards to drive exploratory test sessions consider bringing in "outside" testers for fresh perspectives voids the waste of tracking