SlideShare a Scribd company logo
Scrum Session#6
HOSSAM HASSAN
KEEP IT SIMPLE & STRAIGHTFORWARD
Former Session
PART TWELVE - How we do Release Planning and Fixed-Price Contracts
PART THIRTEEN - How we combine Scrum with XP
Agenda Backlog 
PART FOURTEEN - How we do Testing
◦ You probably can’t get rid of the acceptance-test phase
◦ Minimize the acceptance-test phase
◦ Increase quality by putting testers in the Scrum team
◦ What does the tester do when there is nothing to test?
◦ Sprint cycles vs. acceptance-test cycles
◦ How do we deal with reported bugs?
◦ Alleviating the Testing Bottleneck
PART FOURTEEN
HOW WE DO TESTING
The Hardest Part
I’m not sure if it’s the hardest part of Scrum, or just the hardest part of software development
in general.
Testing is the part that probably will vary most between different organizations.
Depending on:
◦ How many testers you have,
◦ How much test automation you have,
◦ What type of system you have (just server and Web app or do you actually ship boxed software?), size
of release cycles,
◦ How critical the software is (blog server vs. flight control system), etc.
You probably can’t Get Rid of the
Acceptance-Test Phase
In the ideal Scrum world, a sprint results in a potentially deployable version of your system. So just
deploy it, right?
Wrong.
Our experience is that this usually doesn’t work. There will be nasty bugs.
If quality has any sort of value to you, some kind of manual acceptance testing phase is required.
You probably can’t Get Rid of the
Acceptance-Test Phase cont.
The test team will find bugs, the Scrum team will have to do bug-fix releases, and sooner or
later (hopefully sooner) you will be able to release a bug-fixed version 1.0.1 to the end users,
rather than the shaky version 1.0.0.
When I say “acceptance-test phase” I am referring to the whole period of testing, debugging,
and re-releasing until there is a version good enough for production release.
Minimize the Acceptance-Test Phase
The acceptance test phase hurts. It feels distinctly un-agile.
Although we can’t get rid of it, we can (and do) try to minimize it.
More specifically, minimize the amount of time needed for the acceptance test phase.
This is done by:
◦ Maximizing the quality of the code delivered by the Scrum team and
◦ Maximizing the efficiency of the manual test work (i.e. find the best testers, give them the best tools,
make sure they report time-wasting tasks that could be automated)
So how do we maximize the quality of the code delivered from the Scrum team?
Well, there are lots of ways. Here are two that we find work very well:
1. Put testers in the Scrum team.
2. Do less per sprint.
Increase Quality by Putting Testers in the
Scrum Team
Yes, I hear both objections:
• “But that’s obvious! Scrum teams are supposed to be cross-functional!”
• “Scrum teams are supposed to be role-less! We can’t have a guy who is only a tester!”
Let me clarify. What I mean by “tester” in this case is “a guy whose primary skill is testing”
rather than “a guy whose role is to do only testing”.
Developers are often quite lousy testers.
Especially developers testing their own code.
Cross-Functional
•This is an important point.
•“Cross-functional” doesn’t mean everyone knows everything.
•It just means that everyone is willing to do more than just their own thing.
•We want a nice mix of specialization and cross functionality.
•So the whole team is collectively responsible for the quality of their product, and just about
everyone will be involved in testing.
•The tester, however, will guide this work, pair with developers on test automation, and
personally do the more complex manual testing.
The Tester is the “Sign-off Guy”
•Nothing is considered “done” in a sprint until he says it’s done.
•In many cases it turns out that something a developer considered to be “done” wasn’t even
possible to test! Because it wasn’t checked in, or wasn’t deployed to the test server, or
couldn’t be started, or whatever.
•A nice side effect of this is that the team now has a guy who is perfectly suited to organize the
sprint demo
•I’m not a big fan of the sign-off guy pattern any more.
•It introduces a bottleneck and puts too much responsibility in the hands of one person.
•But I can see it being useful under some circumstances.
•Also, if anyone should sign off on the quality, it should be a real user..
What does the Tester do When there is
Nothing to Test?
•Mr. T: “Hey, Scrum master, there’s nothing to test at the moment, so what should I do?”
•Well, first of all, he should be preparing for tests. That is, writing test specs, preparing a test
environment, etc.
•If the team is doing TDD then people spend time writing test code from day one. The tester
should pair-program with developers that are writing test code.
•A good tester usually comes up with different types of tests than a good developer does, so
they complement each other.
•If not, your team will have to identify all non-programming tasks that need to be done in the
sprint.
Examples of Non-Programming Tasks
• Set up a test environment.
• Clarify requirements.
• Discuss deployment details with operations.
• Write deployment documents (release notes, or whatever your organization does).
• Contact with external resources (GUI designers for example).
• Improve build scripts.
• Further break down stories into tasks.
• Identify key questions from the developers and get them answered.
What do we do if Mr. T becomes a
Bottleneck?
•Let’s say we are on the last day of the sprint and suddenly lots of stuff is done and Mr. T
doesn’t have a chance to test everything.
•What do we do?
•Well we could make everybody in the team into Mr. T’s assistants.
•He decides which stuff he needs to do himself, and delegates grunt testing to the rest of the
team.
•That’s what cross-functional teams are all about!
•So yes, Mr. T does have a special role in the team, but he is still allowed to do other work, and
other team members are still allowed to do his work.
Increase Quality by doing Less per Sprint
If you have quality problems, or long acceptance-test cycles, do less per sprint!
This will almost automatically lead to:
◦ Higher quality,
◦ Shorter acceptance-test cycles,
◦ Fewer bugs affecting end users,
◦ and Higher productivity in the long run since the team can focus on new stuff all the time rather than
fixing old stuff that keeps breaking.
It is almost always cheaper to build less, but build it stable, rather than to build lots of stuff and
then have to do panic hot fixes.
Should Acceptance Testing be Part of the
Sprint?
Some of our teams include acceptance testing in the sprint.
Most of our teams, however, don’t, for two reasons:
• A sprint is time-boxed. Acceptance testing is very difficult to time box.
• If you have multiple Scrum teams working on the same product, the manual acceptance
testing must be done on the combined result of both team’s work.
This is by no means a perfect solution but good enough for us
in most cases.
Again, strive to make acceptance testing part of each sprint. It
takes a while to get there, but you won’t regret it.
Sprint Cycles vs. Acceptance-Test Cycles
In a perfect Scrum world
More realistic picture
Sprint Cycles vs. Acceptance-Test Cycles
cont.
• The problem remains even if you have an acceptance-test team.
• The only difference is that most of the bug reports will come
from the test team instead of from angry end users.
• That’s a huge difference from a business perspective, but for
developers it amounts to almost the same thing.
• Except that testers are usually less aggressive than end users.
Usually.
How do we deal with that?
How do we deal with reported bugs?
Approach 1: “Don’t start building new stuff until the old stuff is in production”
Approach 2: “OK to start building new stuff, but prioritize getting the old stuff into production”
Bad Approach: “Focus on building new stuff”
Approach 1: “Don’t start building new
stuff until the old stuff is in production”
•We would have to add a non time- boxed release period between sprints,
•Where we do only testing and debugging until we can make a production release.
•Even if you do manage to release continuously, you still need a way to deal with urgent bugs
coming in.
Approach 2: “OK to start building new stuff, but
prioritize getting the old stuff into production”
•This is our preferred approach.
•We were able to get fewer people involved when bugs did happen, so that the whole team
didn’t need to get disturbed each time.
Bad approach: “Focus on building new
stuff”
•This in effect means “focus on building new stuff rather than getting old stuff into production”.
•Who would want to do that?
Don’t outrun the slowest link in your
chain
•Let’s say your Acceptance-Test Team can test at most Three Features per week.
•And let’s say your Developers can develop Six New Features per week.
•It will be tempting for the managers or product owners (or maybe even the team) to schedule
development of Six New Features per week.
•Don’t! Reality will catch up to you one way or another, and it will hurt.
•Instead, schedule Three New Features per week and spend the rest of the time alleviating the
testing bottleneck.
Alleviating the Testing Bottleneck
• Have a few developers work as testers instead (oh, they will love you for that...).
• Implement tools and scripts that make testing easier. [Best for long term]
• Add more automated test code. [Best for long term]
• Increase sprint length and have acceptance tests included in sprint.
• Define some sprints as “test sprints” where the whole team works as an acceptance-test
team.
• Hire more testers (even if that means removing developers). [Not tried before]
Back to Reality
•I’ve probably given you the impression that we have testers in all Scrum teams, that we have a
huge acceptance test teams for each product that we release after each sprint, etc., etc.
•Well, we don’t.
•We’ve sometimes managed to do this stuff, and we’ve seen the positive effects of it.
•But we are still far from an acceptable quality-assurance process, and we still have a lot to
learn there.
Thank You 
Next:
• PART FIFTEEN - How we handle multiple Scrum teams

More Related Content

What's hot

Back To Basics: Agile Practices
Back To Basics: Agile PracticesBack To Basics: Agile Practices
Back To Basics: Agile Practices
Thomas Sarlandie
 
Scrum checklist
Scrum checklistScrum checklist
Scrum intro ILTechTalks
Scrum intro ILTechTalksScrum intro ILTechTalks
Scrum intro ILTechTalks
Elad Sofer
 
Mujeebur rahmansaher introduction-to-scrum_v2
Mujeebur rahmansaher introduction-to-scrum_v2Mujeebur rahmansaher introduction-to-scrum_v2
Mujeebur rahmansaher introduction-to-scrum_v2
Mujeebur Rahmansaher
 
How to make your daily stand-up more engaging
How to make your daily stand-up more engagingHow to make your daily stand-up more engaging
How to make your daily stand-up more engaging
Boris Kazarez
 
Scrumban
ScrumbanScrumban
Agile Checklist
Agile ChecklistAgile Checklist
Agile Checklist
Joshua A. Jack
 
Practicing Agile through Scrum
Practicing Agile through ScrumPracticing Agile through Scrum
Practicing Agile through Scrum
Naveen Kumar Singh
 
Scrum vs Kanban - Implementing Agility at Scale
Scrum vs Kanban - Implementing Agility at ScaleScrum vs Kanban - Implementing Agility at Scale
Scrum vs Kanban - Implementing Agility at Scale
Cory Foy
 
Scrum vs Kanban: Is there really a battle?
Scrum vs Kanban: Is there really a battle?Scrum vs Kanban: Is there really a battle?
Scrum vs Kanban: Is there really a battle?
Flavius Stef
 
Building Cross-Functional Scrum-Teams in a Hardware Project
Building Cross-Functional Scrum-Teams in a Hardware ProjectBuilding Cross-Functional Scrum-Teams in a Hardware Project
Building Cross-Functional Scrum-Teams in a Hardware Project
Stephanie Gasche
 
Scrumban
ScrumbanScrumban
Scrumban
CoachingSaga
 
Practical Scrum course day 1
Practical Scrum course day 1Practical Scrum course day 1
Practical Scrum course day 1
Ilan Kirschenbaum
 
Scrum
ScrumScrum
Bottom-up adoption through the prism of Flow
Bottom-up adoption through the prism of FlowBottom-up adoption through the prism of Flow
Bottom-up adoption through the prism of Flow
sweavo
 
Practical Scrum - day 1
Practical Scrum - day 1Practical Scrum - day 1
Practical Scrum - day 1
Anat (Alon) Salhov
 
It's not Scrum VS. Kanban! It is Scrum AND Kanban!
It's not Scrum VS. Kanban! It is Scrum AND Kanban!It's not Scrum VS. Kanban! It is Scrum AND Kanban!
It's not Scrum VS. Kanban! It is Scrum AND Kanban!
Mahesh Singh
 
Scrum
ScrumScrum
Scrumban - applying agile and lean practices for daily uncertainty by Vidas V...
Scrumban - applying agile and lean practices for daily uncertainty by Vidas V...Scrumban - applying agile and lean practices for daily uncertainty by Vidas V...
Scrumban - applying agile and lean practices for daily uncertainty by Vidas V...
Vidas Vasiliauskas
 

What's hot (19)

Back To Basics: Agile Practices
Back To Basics: Agile PracticesBack To Basics: Agile Practices
Back To Basics: Agile Practices
 
Scrum checklist
Scrum checklistScrum checklist
Scrum checklist
 
Scrum intro ILTechTalks
Scrum intro ILTechTalksScrum intro ILTechTalks
Scrum intro ILTechTalks
 
Mujeebur rahmansaher introduction-to-scrum_v2
Mujeebur rahmansaher introduction-to-scrum_v2Mujeebur rahmansaher introduction-to-scrum_v2
Mujeebur rahmansaher introduction-to-scrum_v2
 
How to make your daily stand-up more engaging
How to make your daily stand-up more engagingHow to make your daily stand-up more engaging
How to make your daily stand-up more engaging
 
Scrumban
ScrumbanScrumban
Scrumban
 
Agile Checklist
Agile ChecklistAgile Checklist
Agile Checklist
 
Practicing Agile through Scrum
Practicing Agile through ScrumPracticing Agile through Scrum
Practicing Agile through Scrum
 
Scrum vs Kanban - Implementing Agility at Scale
Scrum vs Kanban - Implementing Agility at ScaleScrum vs Kanban - Implementing Agility at Scale
Scrum vs Kanban - Implementing Agility at Scale
 
Scrum vs Kanban: Is there really a battle?
Scrum vs Kanban: Is there really a battle?Scrum vs Kanban: Is there really a battle?
Scrum vs Kanban: Is there really a battle?
 
Building Cross-Functional Scrum-Teams in a Hardware Project
Building Cross-Functional Scrum-Teams in a Hardware ProjectBuilding Cross-Functional Scrum-Teams in a Hardware Project
Building Cross-Functional Scrum-Teams in a Hardware Project
 
Scrumban
ScrumbanScrumban
Scrumban
 
Practical Scrum course day 1
Practical Scrum course day 1Practical Scrum course day 1
Practical Scrum course day 1
 
Scrum
ScrumScrum
Scrum
 
Bottom-up adoption through the prism of Flow
Bottom-up adoption through the prism of FlowBottom-up adoption through the prism of Flow
Bottom-up adoption through the prism of Flow
 
Practical Scrum - day 1
Practical Scrum - day 1Practical Scrum - day 1
Practical Scrum - day 1
 
It's not Scrum VS. Kanban! It is Scrum AND Kanban!
It's not Scrum VS. Kanban! It is Scrum AND Kanban!It's not Scrum VS. Kanban! It is Scrum AND Kanban!
It's not Scrum VS. Kanban! It is Scrum AND Kanban!
 
Scrum
ScrumScrum
Scrum
 
Scrumban - applying agile and lean practices for daily uncertainty by Vidas V...
Scrumban - applying agile and lean practices for daily uncertainty by Vidas V...Scrumban - applying agile and lean practices for daily uncertainty by Vidas V...
Scrumban - applying agile and lean practices for daily uncertainty by Vidas V...
 

Similar to Scrum and-xp-from-the-trenches 06 testing

Agile testing
Agile testingAgile testing
Agile testing
tanvir afzal
 
Agile testingandautomation
Agile testingandautomationAgile testingandautomation
Agile testingandautomation
jeisner
 
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
Yuval Yeret
 
DevOps
DevOpsDevOps
DevOps
Sunny Poswal
 
Invite the tester to the party
Invite the tester to the partyInvite the tester to the party
Invite the tester to the party
Allan Rennebo Jepsen
 
Team wide testing
Team wide testingTeam wide testing
Team wide testing
Ethan Huang
 
Pushing the Bottleneck: Predicting and Addressing the Next, Next Thing
Pushing the Bottleneck: Predicting and Addressing the Next, Next ThingPushing the Bottleneck: Predicting and Addressing the Next, Next Thing
Pushing the Bottleneck: Predicting and Addressing the Next, Next Thing
IBM UrbanCode Products
 
Software Testing, Everyone's responsibility
Software Testing, Everyone's responsibilitySoftware Testing, Everyone's responsibility
Software Testing, Everyone's responsibility
Kurt Bliefernich
 
Agile testing overview
Agile testing overviewAgile testing overview
Agile testing overview
raianup
 
Agile testingoverview
Agile testingoverviewAgile testingoverview
Agile testingoverview
Rangabashyam S
 
Scrum Practices
Scrum PracticesScrum Practices
Scrum Practices
Linchuan Wang
 
Creating testing tools to support development
Creating testing tools to support developmentCreating testing tools to support development
Creating testing tools to support development
Chema del Barco
 
I Run Out Of Silver Bullets, Now What?
I Run Out Of Silver Bullets, Now What?I Run Out Of Silver Bullets, Now What?
I Run Out Of Silver Bullets, Now What?
Yi Xu
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
ISsoft
 
Agile_basics
Agile_basicsAgile_basics
Agile_basics
Mithilesh Singh
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
ClareMcLennan
 
Methodology: IT test
Methodology: IT testMethodology: IT test
Methodology: IT test
Jean-François Nguyen
 
Overview of agile methodology
Overview of agile methodologyOverview of agile methodology
Overview of agile methodology
Phuong Pham
 
Exploratory testing and Dev Ops - best friends?
Exploratory testing and Dev Ops - best friends?Exploratory testing and Dev Ops - best friends?
Exploratory testing and Dev Ops - best friends?
Sven Schirmer
 
Sprint. Don't Waterfall
Sprint. Don't WaterfallSprint. Don't Waterfall
Sprint. Don't Waterfall
GiedriusTS
 

Similar to Scrum and-xp-from-the-trenches 06 testing (20)

Agile testing
Agile testingAgile testing
Agile testing
 
Agile testingandautomation
Agile testingandautomationAgile testingandautomation
Agile testingandautomation
 
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
 
DevOps
DevOpsDevOps
DevOps
 
Invite the tester to the party
Invite the tester to the partyInvite the tester to the party
Invite the tester to the party
 
Team wide testing
Team wide testingTeam wide testing
Team wide testing
 
Pushing the Bottleneck: Predicting and Addressing the Next, Next Thing
Pushing the Bottleneck: Predicting and Addressing the Next, Next ThingPushing the Bottleneck: Predicting and Addressing the Next, Next Thing
Pushing the Bottleneck: Predicting and Addressing the Next, Next Thing
 
Software Testing, Everyone's responsibility
Software Testing, Everyone's responsibilitySoftware Testing, Everyone's responsibility
Software Testing, Everyone's responsibility
 
Agile testing overview
Agile testing overviewAgile testing overview
Agile testing overview
 
Agile testingoverview
Agile testingoverviewAgile testingoverview
Agile testingoverview
 
Scrum Practices
Scrum PracticesScrum Practices
Scrum Practices
 
Creating testing tools to support development
Creating testing tools to support developmentCreating testing tools to support development
Creating testing tools to support development
 
I Run Out Of Silver Bullets, Now What?
I Run Out Of Silver Bullets, Now What?I Run Out Of Silver Bullets, Now What?
I Run Out Of Silver Bullets, Now What?
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
 
Agile_basics
Agile_basicsAgile_basics
Agile_basics
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
 
Methodology: IT test
Methodology: IT testMethodology: IT test
Methodology: IT test
 
Overview of agile methodology
Overview of agile methodologyOverview of agile methodology
Overview of agile methodology
 
Exploratory testing and Dev Ops - best friends?
Exploratory testing and Dev Ops - best friends?Exploratory testing and Dev Ops - best friends?
Exploratory testing and Dev Ops - best friends?
 
Sprint. Don't Waterfall
Sprint. Don't WaterfallSprint. Don't Waterfall
Sprint. Don't Waterfall
 

Recently uploaded

BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
Nguyen Thanh Tu Collection
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Denish Jangid
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
Nguyen Thanh Tu Collection
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
RAHUL
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
Himanshu Rai
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
paigestewart1632
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
heathfieldcps1
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
Dr. Mulla Adam Ali
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
imrankhan141184
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
สมใจ จันสุกสี
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
mulvey2
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
eBook.com.bd (প্রয়োজনীয় বাংলা বই)
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
HajraNaeem15
 

Recently uploaded (20)

BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
 

Scrum and-xp-from-the-trenches 06 testing

  • 1. Scrum Session#6 HOSSAM HASSAN KEEP IT SIMPLE & STRAIGHTFORWARD
  • 2. Former Session PART TWELVE - How we do Release Planning and Fixed-Price Contracts PART THIRTEEN - How we combine Scrum with XP
  • 3. Agenda Backlog  PART FOURTEEN - How we do Testing ◦ You probably can’t get rid of the acceptance-test phase ◦ Minimize the acceptance-test phase ◦ Increase quality by putting testers in the Scrum team ◦ What does the tester do when there is nothing to test? ◦ Sprint cycles vs. acceptance-test cycles ◦ How do we deal with reported bugs? ◦ Alleviating the Testing Bottleneck
  • 4. PART FOURTEEN HOW WE DO TESTING
  • 5. The Hardest Part I’m not sure if it’s the hardest part of Scrum, or just the hardest part of software development in general. Testing is the part that probably will vary most between different organizations. Depending on: ◦ How many testers you have, ◦ How much test automation you have, ◦ What type of system you have (just server and Web app or do you actually ship boxed software?), size of release cycles, ◦ How critical the software is (blog server vs. flight control system), etc.
  • 6. You probably can’t Get Rid of the Acceptance-Test Phase In the ideal Scrum world, a sprint results in a potentially deployable version of your system. So just deploy it, right? Wrong. Our experience is that this usually doesn’t work. There will be nasty bugs. If quality has any sort of value to you, some kind of manual acceptance testing phase is required.
  • 7. You probably can’t Get Rid of the Acceptance-Test Phase cont. The test team will find bugs, the Scrum team will have to do bug-fix releases, and sooner or later (hopefully sooner) you will be able to release a bug-fixed version 1.0.1 to the end users, rather than the shaky version 1.0.0. When I say “acceptance-test phase” I am referring to the whole period of testing, debugging, and re-releasing until there is a version good enough for production release.
  • 8. Minimize the Acceptance-Test Phase The acceptance test phase hurts. It feels distinctly un-agile. Although we can’t get rid of it, we can (and do) try to minimize it. More specifically, minimize the amount of time needed for the acceptance test phase. This is done by: ◦ Maximizing the quality of the code delivered by the Scrum team and ◦ Maximizing the efficiency of the manual test work (i.e. find the best testers, give them the best tools, make sure they report time-wasting tasks that could be automated) So how do we maximize the quality of the code delivered from the Scrum team? Well, there are lots of ways. Here are two that we find work very well: 1. Put testers in the Scrum team. 2. Do less per sprint.
  • 9. Increase Quality by Putting Testers in the Scrum Team Yes, I hear both objections: • “But that’s obvious! Scrum teams are supposed to be cross-functional!” • “Scrum teams are supposed to be role-less! We can’t have a guy who is only a tester!” Let me clarify. What I mean by “tester” in this case is “a guy whose primary skill is testing” rather than “a guy whose role is to do only testing”. Developers are often quite lousy testers. Especially developers testing their own code.
  • 10. Cross-Functional •This is an important point. •“Cross-functional” doesn’t mean everyone knows everything. •It just means that everyone is willing to do more than just their own thing. •We want a nice mix of specialization and cross functionality. •So the whole team is collectively responsible for the quality of their product, and just about everyone will be involved in testing. •The tester, however, will guide this work, pair with developers on test automation, and personally do the more complex manual testing.
  • 11. The Tester is the “Sign-off Guy” •Nothing is considered “done” in a sprint until he says it’s done. •In many cases it turns out that something a developer considered to be “done” wasn’t even possible to test! Because it wasn’t checked in, or wasn’t deployed to the test server, or couldn’t be started, or whatever. •A nice side effect of this is that the team now has a guy who is perfectly suited to organize the sprint demo •I’m not a big fan of the sign-off guy pattern any more. •It introduces a bottleneck and puts too much responsibility in the hands of one person. •But I can see it being useful under some circumstances. •Also, if anyone should sign off on the quality, it should be a real user..
  • 12. What does the Tester do When there is Nothing to Test? •Mr. T: “Hey, Scrum master, there’s nothing to test at the moment, so what should I do?” •Well, first of all, he should be preparing for tests. That is, writing test specs, preparing a test environment, etc. •If the team is doing TDD then people spend time writing test code from day one. The tester should pair-program with developers that are writing test code. •A good tester usually comes up with different types of tests than a good developer does, so they complement each other. •If not, your team will have to identify all non-programming tasks that need to be done in the sprint.
  • 13. Examples of Non-Programming Tasks • Set up a test environment. • Clarify requirements. • Discuss deployment details with operations. • Write deployment documents (release notes, or whatever your organization does). • Contact with external resources (GUI designers for example). • Improve build scripts. • Further break down stories into tasks. • Identify key questions from the developers and get them answered.
  • 14. What do we do if Mr. T becomes a Bottleneck? •Let’s say we are on the last day of the sprint and suddenly lots of stuff is done and Mr. T doesn’t have a chance to test everything. •What do we do? •Well we could make everybody in the team into Mr. T’s assistants. •He decides which stuff he needs to do himself, and delegates grunt testing to the rest of the team. •That’s what cross-functional teams are all about! •So yes, Mr. T does have a special role in the team, but he is still allowed to do other work, and other team members are still allowed to do his work.
  • 15. Increase Quality by doing Less per Sprint If you have quality problems, or long acceptance-test cycles, do less per sprint! This will almost automatically lead to: ◦ Higher quality, ◦ Shorter acceptance-test cycles, ◦ Fewer bugs affecting end users, ◦ and Higher productivity in the long run since the team can focus on new stuff all the time rather than fixing old stuff that keeps breaking. It is almost always cheaper to build less, but build it stable, rather than to build lots of stuff and then have to do panic hot fixes.
  • 16. Should Acceptance Testing be Part of the Sprint? Some of our teams include acceptance testing in the sprint. Most of our teams, however, don’t, for two reasons: • A sprint is time-boxed. Acceptance testing is very difficult to time box. • If you have multiple Scrum teams working on the same product, the manual acceptance testing must be done on the combined result of both team’s work. This is by no means a perfect solution but good enough for us in most cases. Again, strive to make acceptance testing part of each sprint. It takes a while to get there, but you won’t regret it.
  • 17. Sprint Cycles vs. Acceptance-Test Cycles In a perfect Scrum world More realistic picture
  • 18. Sprint Cycles vs. Acceptance-Test Cycles cont. • The problem remains even if you have an acceptance-test team. • The only difference is that most of the bug reports will come from the test team instead of from angry end users. • That’s a huge difference from a business perspective, but for developers it amounts to almost the same thing. • Except that testers are usually less aggressive than end users. Usually. How do we deal with that?
  • 19. How do we deal with reported bugs? Approach 1: “Don’t start building new stuff until the old stuff is in production” Approach 2: “OK to start building new stuff, but prioritize getting the old stuff into production” Bad Approach: “Focus on building new stuff”
  • 20. Approach 1: “Don’t start building new stuff until the old stuff is in production” •We would have to add a non time- boxed release period between sprints, •Where we do only testing and debugging until we can make a production release. •Even if you do manage to release continuously, you still need a way to deal with urgent bugs coming in.
  • 21. Approach 2: “OK to start building new stuff, but prioritize getting the old stuff into production” •This is our preferred approach. •We were able to get fewer people involved when bugs did happen, so that the whole team didn’t need to get disturbed each time.
  • 22. Bad approach: “Focus on building new stuff” •This in effect means “focus on building new stuff rather than getting old stuff into production”. •Who would want to do that?
  • 23. Don’t outrun the slowest link in your chain •Let’s say your Acceptance-Test Team can test at most Three Features per week. •And let’s say your Developers can develop Six New Features per week. •It will be tempting for the managers or product owners (or maybe even the team) to schedule development of Six New Features per week. •Don’t! Reality will catch up to you one way or another, and it will hurt. •Instead, schedule Three New Features per week and spend the rest of the time alleviating the testing bottleneck.
  • 24. Alleviating the Testing Bottleneck • Have a few developers work as testers instead (oh, they will love you for that...). • Implement tools and scripts that make testing easier. [Best for long term] • Add more automated test code. [Best for long term] • Increase sprint length and have acceptance tests included in sprint. • Define some sprints as “test sprints” where the whole team works as an acceptance-test team. • Hire more testers (even if that means removing developers). [Not tried before]
  • 25. Back to Reality •I’ve probably given you the impression that we have testers in all Scrum teams, that we have a huge acceptance test teams for each product that we release after each sprint, etc., etc. •Well, we don’t. •We’ve sometimes managed to do this stuff, and we’ve seen the positive effects of it. •But we are still far from an acceptable quality-assurance process, and we still have a lot to learn there.
  • 26. Thank You  Next: • PART FIFTEEN - How we handle multiple Scrum teams