Building
Quality In
Kishen Simbhoedatpanday

T: KishenPanday
E: kishen@eskape.nl
Defects are expensive
Examples
 FinancialBank: EUR 300.000
 Web travel agency: EUR 200.000
 80% Software Dev dollars on defects
Solving trivial bugs
1.   Developer writes code and tests
2.   Tester finds defect and logs
3.   Developer tries to reproduce
4.   Developer finds bug and investigates
5.   Team discussion about how it should work
6.   Developer re-codes, re-unit-tests, re-builds,
     re-delivers
7.   Tester verifies and closes ticket
We let bugs happen

              Requirements



                        Software
       Bugs
                      Development


                Quality
                Control
   Requirements Maturity
                     Three Amigo meeting
                     Acceptance Driven
                      Development
We need change!




                     In Flight UI Review
                     Pair Programming
                     Quality Without
                      compromise
                     Constant Feedback
                     Deliver Value
Where do defects come
from?
Where do defects come
from?
                          User
                       Experience


       Quality
                                      Requirements
       Control




                         Software
                       development




   Deliver the right code / functionality from the start
Stop the presses!
Don’t make assumptions
Miscommunication
Misunderstanding
Value people and interaction
over documents
Requirement maturity
 Testable   and estimable?

 User   Story short enough?

 UI   elements defined?

 Business   rules defined?

 Customer    acceptance Tests defined?
Three Amigos meetings
Create one vision

                      Developer
          Tester




                   Product
                   Owner




          One Vision
Three Amigos meetings
Discover unknowns
 What does the requirement mean?
 What are the special cases?
 How will we test this?
 What about the non-functions?
 What to do with errors?
Deliver value in stead of      Huh?
Burning Tasks                  We’re getting
                               wet…




Plan   Build   Test   Review   Deploy
Get Test Infected!
Refactor     Build test


                          Test Driven
                          Development
         Build            Quality comes first
       feature
Functional
Test Driven Development




 Refactor             Build test   Refactor             Build test   Refactor             Build test




             Build                             Build                             Build
            feature                           feature                           feature
Why Functional Testing?
Stable code    Desired Functionality
What is the functionality?
Testing Pyramid ROI
Agile Testing Quadrants
In Flight UI Review
Don’t wait until the end of the
sprint to get feedback
Study in Pair programming
              Goal:
              Build product in 45min

               15   programmers

              5 working alone
               10 in 5 (swapping)
                pairs
Study in Pair programming
Time
Study in Pair programming
Test Cases passed
Study in Pair programming
ENJOY
Study in Pair programming
Lines of code
Pair programming
Bad attitude       Good attitude
Quality comes from within
                     Commitment




       Continuous
      Improvement   Quality       Responsibility




                     Confidence
Working together
Exploratory Testers              Programmers
   Communication                   Communication
   Be curious about how stuff
    is tested by Programmers        Ask Testers for help

   Partner with Programmers        Show Testers what’s
                                     build / tested
   Coach Test Awareness /
    Test infection                  Help out with
                                     Automation
What are we doing here?

 It’s   NOT Testing

 It’s   NOT Coding

....
It’s Software Development
Nope
Bugs in production
are normal
Try to minimize them ASAP

Build Quality In