SlideShare una empresa de Scribd logo
1 de 43
A Where q Does
    m Developer N Testing n
          End X And
B Tester P Testing I Begin g
                          ?


               by Abby Fichtner & Nate Oster
                          Agile 2009 - August 24, 2009
     This presentation is licensed under a Creative Commons Attribution-Share Alike 3.0 License
Abby Fichtner, Nate Oster
                            2
3



           Q                            Game #1
                                A Software Project Simulation


                            h
             U
Abby Fichtner, Nate Oster




                                                                T
4




                            What the gh was that?

                            1. What dysfunctions occurred in game?


                            2. Do these occur on software projects in
                               the real world?
Abby Fichtner, Nate Oster
5

                                    Is this really the best way to
                                         develop software?
Abby Fichtner, Nate Oster




                                     Are these dysfunctions intrinsic to developing software?
                            Or are they the result of how we companies tend to organize software teams?
6



                            There has to be a Better Way
Abby Fichtner, Nate Oster




                             “You will be amazed at how much faster you can go when you make stuff
                              and defects are caught when they occur instead of being found later.”
                                                                             - Mary Poppendieck, Google Tech Talks, 12/2006
7



                                Our Path T a Better Way
                                          o

                            Review key lean principles

                            Walk through what this looks like

                            Game Redux
Abby Fichtner, Nate Oster
8



                                           Lean Thinking




                            Lean Production Model
                             Build only what is needed

                             Stop if something goes wrong
Abby Fichtner, Nate Oster




                             Eliminate anything that does not add value




                                          Taiichi Ohno, The Toyota Production System
9


                            Lean Thinking   Build Only What is Needed
Abby Fichtner, Nate Oster




                                                   Standish Group Study of Software Feature Usage on 2000 projects
Abby Fichtner, Nate Oster



                            Lean Thinking
                                            Stop if Something Goes Wrong
                                                                           10
11



                                            What happens when we write code without
                                            detecting defects?
                            Lean Thinking



                                              Get a pile of bugs to fix at the end

                                              Discover misunderstood requirements

                                              Discover incorrect design assumptions

                                              Rework!
Abby Fichtner, Nate Oster




                                                                                      v
12



                                            Eliminate Anything that Doesn’t Add Value
                                             Building features that aren’t needed

                                             Documenting things we don’t need to keep
                            Lean Thinking




                                             Capturing the same thing 5 different ways

                                             Knowledge Waste
                                                Interruptions
                                                Delays
                                                Handoffs!
Abby Fichtner, Nate Oster




                                                Adapted from “Implementing Lean Software Development”, Mary and Tom Poppendieck
13



                              When Errors Happen Fix the Process
                            Most errors are caused by the process we work in, not the individuals

                                                  Management overestimates ability of process
                                                        “This is a best practice, so it must be your fault!”

                                                  Team overestimates ability to overcome bad process
                                                       “We are in control, so it must be our fault!”


                                                  Insanity is doing the same thing over & over…
                                                         Whack 1 person for committing the error
                                                         Error pops up again from another person
Abby Fichtner, Nate Oster




                                       The problem is with the Process, not the People!


                                           Adapted from Allan Shalloway, Net Objectives: Lean Online Training Class   it
14
Abby Fichtner, Nate Oster




                            Self-organizing teams that can adapt quickly & appropriately win!
15



                                                       Lean Quiz #1
                            T Prevent Errors, We Should…?
                             o
                                     a)     Tell developers not to write bugs
                                     b)     Tell testers to find more bugs
                                     c)     Tell customers to be clearer
                                     d)     Find better customers
                                     e)     Fix our process!


                                    Problem                                         Fix the Process
Abby Fichtner, Nate Oster




                            Developer bugs                       Write unit tests to catch them
                            Customer unclear                     Specify acceptance tests before code
                            Customer changes mind                Work in short iterations
                                                                 Demo early & often

                                      Adapted from Allan Shalloway, Net Objectives: Lean Online Training Class
16



                                                    Lean Quiz #2
                            T Get More Done, We Should…?
                             o

                            a)   Give everyone multiple things to do so they’re
                                 never stuck waiting

                            b)   Define strict rules & precise procedures to
                                 ensure each task is done just right

                            c)   Make our process work for us
Abby Fichtner, Nate Oster




                                      Problem                        Fix the Process
                             People stuck waiting       Eliminate delays
                             Tasks done inefficiently   Self-organize to tap team’s expertise &
                                                        adapt to each situation
17



                                        Lean Quiz #3
                               T Go F
                                o    aster We Should…?
                                         ,


                                 a) Work harder
                                 b) Work faster
                                 c) Remove useless delays
Abby Fichtner, Nate Oster




                            It’s not about working HARDER or FASTER
                                  It’s about delivering more VALUE
18




                                   Agile Testing Smells

                            1. Testing at the end

                            2. Repeating manual tests

                            3. Using testers as a safety-net

                            4. Not aligning rewards with goals

                            5. Programmers & Testers not working to same goal
Abby Fichtner, Nate Oster




                                                                                b
19




                            b             Smell: Testing At The End

                                                                       Release!

                            Iteration 1    Iteration 2   Iteration 3




                                                                            ...   E
Abby Fichtner, Nate Oster
20




                            b             Smell: Testing At The End


                            Iteration 1    Iteration 2    Iteration 3
                                                                        X
                                                                        Release!                           Actual
                                                                                                          Release




                            R   Code       Test

                                           R      Code    Test


                                                          R      Code        Test         Bug Fix
Abby Fichtner, Nate Oster




                                                                                   Test & Fix Iteration
                                               This agile thing stinks!


                                                                                                             b
21


                            Prevent Defects   Poka-Yoke



                                               Design products to prevent mistakes

                                               Compilers prevent language errors from entering software

                                               Supplement builds to prevent application-specific defects

                                               Software still finds ways to fail!
                                                   Exploratory testing early & often
                                                   Mistake-proof defects in automated tests
Abby Fichtner, Nate Oster
22


                                              Stop the Line
                            STOP

                                                Organize work so slightest defects identified immediately
                            Prevent Defects



                                                When problems found STOP and FIX before it compounds

                                                   Don’t just band aid

                                                   Determine & address root cause
Abby Fichtner, Nate Oster
23




                            b    Smell: Repeating Manual Tests

                            Waste of testers’ time & skills!

                            DRY (Don’t Repeat Yourself )

                            No time to spend months regression testing each change

                            Spend time doing what you’re great at!
Abby Fichtner, Nate Oster




                                                                           h
24


                                                    Automate Regression Tests
                                                       Have tests focus on intent, not implementation
                                          ourself

                                                       Push tests as low as possible in the pyramid
                            Don’t Repeat Y




                                                                                               Exploratory
                                                                                                /Manual

                                                                                                     GUI

                                                    More business                                                                        Lower-cost
                                                    facing, realistic                                                                    Easier maintenance
                                                                                          Acceptance Tests
                                                                                                                                         Faster feedback
                                                                                             (API Layer)
                                t
Abby Fichtner, Nate Oster




                                                                                    Unit & Component Tests



                                                          Adapted from Mike Cohn (Automated Test Pyramid) & “Agile Testing”, Lisa Crispin & Janet Gregory
25



                                 Test-Driven Development (TDD)

                            Immediate Feedback
                               Implementation                                                      Write a
                                                                                                  failing test
                               Design

                            Helps Us:
                               Clarify acceptance criteria
                                                                                         Refactor        R       Make
                                                                                                                 it Pass

                               Write good code
                               Mistake-proof our code
                               Know when we’ve done enough
Abby Fichtner, Nate Oster




                               Have courage to continue by providing safety-net




                                        Adapted from “Growing OO Software Guided by Tests”, Steve Freeman & Nat Pryce
26



                            Acceptance Test-Driven Development

                            Drives development by specifying conditions of satisfaction
                            Measure of demonstrable progress

                                Describe: Short paragraph to describe functionality
                                Demonstrate: Give examples to demonstrate
                                Develop: Implement using inner TDD loop


                                                                                   Write a


                                      h
                                                                                  failing test
                                         Write
                                        a failing
                                     Acceptance Test
                                                                                        R     Make
Abby Fichtner, Nate Oster




                                                                          Refactor            it Pass



                              “Tests that encourage communication are the best kind”
                                                                                                        - Lisa Crispin

                                          Adapted from “The Art of Agile: How I Use Fit”, James Shore
27



                                       Customer-Driven Development

                               Focus shifts as team masters test-driven development
                                  Bug detection
                                  Bug prevention
                                  Better ways to capture & elicit requirements




                                                                                         Write a


                                  h                                                                            D
                                                                                        failing test


                                E
                                                Write
                                                                                                                   Demo/
                                               a failing
                                            Acceptance Test
                                                                                Refactor       R     Make
                                                                                                                   Feedback
Abby Fichtner, Nate Oster




                            Conditions of                                                            it Pass
                             Acceptance




                                                  Adapted from “Agile Testing”, Lisa Crispin & Janet Gregory
28




                            b   Smell: Using Testers as Safety-Net

                            Only Testers can test the whole system
                                Months of manual regression tests

                            Programmers rewarded for code “complete”
                                Testing group’s problem

                            Too easily degrades into not taking responsibility for actions

                            Pits programmers & testers against one another
Abby Fichtner, Nate Oster
29


                             eam Accountable for Quality   Automated Tests as Safety-Net


                                                             Automated tests let everyone test

                                                             Automation “builds in” error detection

                                                             Everyone can detect & correct their errors

                                                             If a test breaks stop the line and FIX immediately

                                                             Provides courage to make changes needed to evolve system!
                                                                Without requiring armies of manual testers!
Abby Fichtner, Nate Oster



                            T
30


                             eam Accountable for Quality   Hold Everyone Accountable for Quality

                                                                                   Customers

                                                                   D       Conditions of Satisfaction
                                                                       Defining objective acceptance criteria   E
                                                                                 Programmers
                                                                               Internal Quality
                                                                   Clean code backed by automated unit tests


                                                                                        h
                                                                                     Testers
Abby Fichtner, Nate Oster




                                                                              Bridging the Gap
                                                                    Help customers articulate quality needs
                                                             Work with programmers to ensure quality needs are met
                            T
31


                             eam Accountable for Quality   Agile Testing Quadrants

                                                                    Mostly                                                                   Mostly
                                                                  Automated                                                                  Manual
                                                                                                        Business-facing Tests




                                                                                                                                                Tests that critique the product
                                                                                                                                                Tests that critique the product
                                                                      Tests that support the Team
                                                                                                                        Exploratory Tests
                                                                                                    Acceptance Tests    Usability Testing
                                                                                                                              UAT




                                                                                                    Unit & Component   Performance Testing
                                                                                                           Tests        Security analysis
                                                                                                                            “-ility” tests
Abby Fichtner, Nate Oster




                                                                  Automated                                                                  Specialized
                                                                 Frameworks                            Technology-facing Tests                 Tools
                            T




                                                              Agile Testing”, Lisa Crispin & Janet Gregory” (Originally created by Brian Marick, 2006)
32




                            b         Smell: Not Aligning Rewards with Goals

                            If we work together, we might have a better product & deliver faster
                                  but there’s no incentive for us to take this longer-term view

                                    Programmers: “Completing” code
                                       I finished my task, it’s no longer my problem

                                    Testers: Finding bugs
                                       If there’s lots of bugs, I’m doing a good job!

                                    Everyone: # of tasks completed
                                       Why should I help you? That’s less time to get my own work done
Abby Fichtner, Nate Oster




                            A   h                                  U
                                                                                                         A
33


                            Align Rewards with Goals   Measures that Drive Desired Behavior

                                                         Focus on what we care about
                                                                Delighted customers
                                                                Return on investment
                                                                Minimizing total cost of ownership

                                                         Lean Metrics like Concept to Cash
                                                                Expose wastes
                                                                Encourage people to work together
                                                                Drive good behavior across the organization
Abby Fichtner, Nate Oster




                                                         “Implementing Lean Software Development: From Concept to Cash”, Mary and Tom Poppendieck
                                                                                                                                                    Dh E
34


                                         Smell: Programmers & Testers
                            b               Not Working T
                            o Partially done work
                                                          ogether

                            o Missing feedback
                            o Problems left to compound
Abby Fichtner, Nate Oster
35


                                        esting   Concurrent Testing



                                                   Pair a Programmer & Tester on each story
                            Concurrent T




                                                   Drive development from acceptance (story) tests

                                                   Hold everyone accountable for quality

                                                   Demo production quality software to customer at end
                                                   of each sprint
Abby Fichtner, Nate Oster




                                                                                                     h E
36


                                                 For Each Story…
                                                 We want everyone working towards a single, shared goal




                                                                                                            E
                                        esting



                                                 Programmer, Tester & Customer:

                                                   Define conditions of acceptance (“Done”) as tests
                                                                                                          Dh
                            Concurrent T




                                                   Clarify what’s in/out of scope for iteration

                                                   Synergy from different perspectives

                                                   Everyone walks away with shared understanding
Abby Fichtner, Nate Oster
37


                                                 Building the Stories…
                                                 Programmer & Tester have a shared responsibility to complete story
                                        esting


                                                 Programmer & Tester refine acceptance tests & start building…

                                                     One slice at a time, starting with happy path


                                                                                                                h
                            Concurrent T




                                                     Define internal definition of “done”

                                                     Tester builds out business-facing tests

                                                     Programmer codes functionality, helps automate tests

                                                     Tester pairs with programmer to mistake-proof code
Abby Fichtner, Nate Oster
38


                                                 Evolving the Stories…
                                                 Build upon the synergy of pair’s unique skills & perspectives….


                                                 As each slice is coded with passing TDD tests,
                                        esting



                                                 Tester and Programmer pair to evolve the story…

                                                     Testers do exploratory testing with the programmer
                            Concurrent T




                                                          High bandwidth (side-by-side)
                                                          Fix issues real-time and get immediate feedback
                                                          Feed new automated tests & next slice to build

                                                     Select next slice & repeat until acceptance tests pass

                                                     Measure progress against automated Acceptance Tests
Abby Fichtner, Nate Oster




                                                                                                                   h
39


                                                 At the End of the Iteration...


                                                   Expect the tests to pass! Because we’ve…
                                        esting



                                                     Built quality in through out the iteration
                                                     Prevented defects with mistake-proofing
                            Concurrent T




                                                     Stopped the line to fix problems

                                                   Demo production quality software to customer
                                                      Holds everyone accountable
                                                      Helps team celebrate wins
                                                      Leads to delighted customers
Abby Fichtner, Nate Oster




                                                                                                  h
40



        K                                Game #2
                            A Better Software Project Simulation



                            k                hR             Q
Abby Fichtner, Nate Oster




                                                               d
41




                                               Retrospective

                            1.   How did self-organizing change the way we worked?

                            2.   How did changing the way we work change our outcomes?

                            3.   What challenges do you foresee applying these on your projects?

                            4. Have you seen evidence that these challenges can be overcome?

                            5.   What’s the most important lesson you can take back to your
Abby Fichtner, Nate Oster




                                 project?
42



                                                        Agile Tester’s Bookshelf
                                                To learn more about programmers & testers working together…


                                                        Implementing Lean
                                                        Software Development
                                                        by Mary & Tom Poppendieck




                                                                                                         Beautiful Teams
                                                                      Agile Testing             by Andrew Stellman & Jennifer Greene
                                                                      by Lisa Crispin
                                                                         & Janet Gregory
Abby Fichtner, Nate Oster




                                       NetObjectives online Lean resources:
                                       http://www.netobjectives.com/resources/
                            See Also




                                       Growing OO Software, Guided by Tests
                                       http://www.mockobjects.com/book/                         Bridging the Communication Gap &
                                                                                            Test Driven .NET Development with FitNesse
                                       James Shore The Art of Agile FitNesse posts:                        by Gojko Adzic
                                       http://jamesshore.com/Blog/Agile-Requirements.html
Thank You!


Abby Fichtner                                                   Nate Oster
Hacker Chick                                            Technical Director
                                                                         ,
(m) 703.615.3394                                       Agile Player-Coach
afichtner@atsc.com                                                 703.930.4100 (m)
http://TheHackerChickBlog.com                                      noster@atsc.com
                           This presentation is licensed under a Creative Commons Attribution-Share Alike 3.0 License

Más contenido relacionado

Destacado

I Love APIs 2015: End to End Testing: Bug Squashing for Developers
I Love APIs 2015: End to End Testing: Bug Squashing for DevelopersI Love APIs 2015: End to End Testing: Bug Squashing for Developers
I Love APIs 2015: End to End Testing: Bug Squashing for DevelopersApigee | Google Cloud
 
How To Combine Back-End 
 & Front-End Testing with BlazeMeter & Sauce Labs
How To Combine Back-End 
 & Front-End Testing with BlazeMeter & Sauce LabsHow To Combine Back-End 
 & Front-End Testing with BlazeMeter & Sauce Labs
How To Combine Back-End 
 & Front-End Testing with BlazeMeter & Sauce LabsSauce Labs
 
Oredev 2014 KNJohnson-tester love developer
Oredev 2014 KNJohnson-tester love developerOredev 2014 KNJohnson-tester love developer
Oredev 2014 KNJohnson-tester love developerKaren N. Johnson
 
Why every Tester should also aspire to be a Developer on his project!-Sandee...
Why every Tester should  also aspire to be a Developer on his project!-Sandee...Why every Tester should  also aspire to be a Developer on his project!-Sandee...
Why every Tester should also aspire to be a Developer on his project!-Sandee...bhumika2108
 
Agile Success Story -Tester & Developer Working Together for Higher Quality M...
Agile Success Story -Tester & Developer Working Together for Higher Quality M...Agile Success Story -Tester & Developer Working Together for Higher Quality M...
Agile Success Story -Tester & Developer Working Together for Higher Quality M...XBOSoft
 
Tester developer interaction
Tester developer interactionTester developer interaction
Tester developer interactiongaoliang641
 
Tales from tester developer collaboration
Tales from tester developer collaborationTales from tester developer collaboration
Tales from tester developer collaborationMaaret Pyhäjärvi
 
Tester - Developer Relation
Tester - Developer RelationTester - Developer Relation
Tester - Developer RelationSaad Ahmed
 
Why Developer & Tester Should Be United: Secret Ingredient For Quality
Why Developer & Tester Should Be United: Secret Ingredient For QualityWhy Developer & Tester Should Be United: Secret Ingredient For Quality
Why Developer & Tester Should Be United: Secret Ingredient For QualityQA Madness
 
Front-End Testing: Demystified
Front-End Testing: DemystifiedFront-End Testing: Demystified
Front-End Testing: DemystifiedSeth McLaughlin
 
Become Software Tester or Developer
Become Software Tester or DeveloperBecome Software Tester or Developer
Become Software Tester or DeveloperKMS Technology
 
End-to-end Testing for IoT Integrity
End-to-end Testing for IoT IntegrityEnd-to-end Testing for IoT Integrity
End-to-end Testing for IoT IntegrityParasoft
 

Destacado (15)

I Love APIs 2015: End to End Testing: Bug Squashing for Developers
I Love APIs 2015: End to End Testing: Bug Squashing for DevelopersI Love APIs 2015: End to End Testing: Bug Squashing for Developers
I Love APIs 2015: End to End Testing: Bug Squashing for Developers
 
How To Combine Back-End 
 & Front-End Testing with BlazeMeter & Sauce Labs
How To Combine Back-End 
 & Front-End Testing with BlazeMeter & Sauce LabsHow To Combine Back-End 
 & Front-End Testing with BlazeMeter & Sauce Labs
How To Combine Back-End 
 & Front-End Testing with BlazeMeter & Sauce Labs
 
Oredev 2014 KNJohnson-tester love developer
Oredev 2014 KNJohnson-tester love developerOredev 2014 KNJohnson-tester love developer
Oredev 2014 KNJohnson-tester love developer
 
Why every Tester should also aspire to be a Developer on his project!-Sandee...
Why every Tester should  also aspire to be a Developer on his project!-Sandee...Why every Tester should  also aspire to be a Developer on his project!-Sandee...
Why every Tester should also aspire to be a Developer on his project!-Sandee...
 
Agile Success Story -Tester & Developer Working Together for Higher Quality M...
Agile Success Story -Tester & Developer Working Together for Higher Quality M...Agile Success Story -Tester & Developer Working Together for Higher Quality M...
Agile Success Story -Tester & Developer Working Together for Higher Quality M...
 
Tester developer interaction
Tester developer interactionTester developer interaction
Tester developer interaction
 
Tales from tester developer collaboration
Tales from tester developer collaborationTales from tester developer collaboration
Tales from tester developer collaboration
 
Tester - Developer Relation
Tester - Developer RelationTester - Developer Relation
Tester - Developer Relation
 
Why Developer & Tester Should Be United: Secret Ingredient For Quality
Why Developer & Tester Should Be United: Secret Ingredient For QualityWhy Developer & Tester Should Be United: Secret Ingredient For Quality
Why Developer & Tester Should Be United: Secret Ingredient For Quality
 
Front-End Testing: Demystified
Front-End Testing: DemystifiedFront-End Testing: Demystified
Front-End Testing: Demystified
 
Tester vs. Developer
Tester vs. DeveloperTester vs. Developer
Tester vs. Developer
 
Tester vs Developer
Tester vs DeveloperTester vs Developer
Tester vs Developer
 
Become Software Tester or Developer
Become Software Tester or DeveloperBecome Software Tester or Developer
Become Software Tester or Developer
 
[Hoang nguyen] The Psychology in Software Testing
[Hoang nguyen] The Psychology in Software Testing[Hoang nguyen] The Psychology in Software Testing
[Hoang nguyen] The Psychology in Software Testing
 
End-to-end Testing for IoT Integrity
End-to-end Testing for IoT IntegrityEnd-to-end Testing for IoT Integrity
End-to-end Testing for IoT Integrity
 

Similar a Where Does Developer Testing End And Tester Testing Begin?

Why IT Needs Artistic Sensibilities
Why IT Needs Artistic SensibilitiesWhy IT Needs Artistic Sensibilities
Why IT Needs Artistic SensibilitiesVince Kellen, Ph.D.
 
Xing Product Ideation
Xing Product IdeationXing Product Ideation
Xing Product IdeationXING AG
 
"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary Poppendieck"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary PoppendieckOperae Partners
 
Agile Business Analysis - The Key to Effective Requirements on Agile Projects
Agile Business Analysis - The Key to Effective Requirements on Agile ProjectsAgile Business Analysis - The Key to Effective Requirements on Agile Projects
Agile Business Analysis - The Key to Effective Requirements on Agile ProjectsLilian De Munno
 
How effective feedback can improve your software
How effective feedback can improve your softwareHow effective feedback can improve your software
How effective feedback can improve your softwareSven Peters
 
LISA 2011 Keynote: The DevOps Transformation
LISA 2011 Keynote: The DevOps TransformationLISA 2011 Keynote: The DevOps Transformation
LISA 2011 Keynote: The DevOps Transformationbenrockwood
 
Dont laugh it's paid for
Dont laugh it's paid forDont laugh it's paid for
Dont laugh it's paid forMike Burns
 
QuickAI Pitch Book
QuickAI Pitch BookQuickAI Pitch Book
QuickAI Pitch BookJohn Doe
 
Practical BI
Practical BIPractical BI
Practical BISpetman
 
Atlassian University: Interactive Training with Atlassian Tools
Atlassian University: Interactive Training with Atlassian ToolsAtlassian University: Interactive Training with Atlassian Tools
Atlassian University: Interactive Training with Atlassian ToolsAtlassian
 
Creative intelligence
Creative intelligenceCreative intelligence
Creative intelligenceBART RADKA
 
Startup Weekend - Interviewing Customers
Startup Weekend - Interviewing CustomersStartup Weekend - Interviewing Customers
Startup Weekend - Interviewing CustomersTim O'Connor
 
Design in Startups
Design in StartupsDesign in Startups
Design in StartupsALPHA Camp
 
Creating innovation engines organizational patterns ver 2.0
Creating innovation engines   organizational patterns ver 2.0Creating innovation engines   organizational patterns ver 2.0
Creating innovation engines organizational patterns ver 2.0toriat123
 
Secrets from the Agile Manifesto Authors on Flow
Secrets from the Agile Manifesto Authors on FlowSecrets from the Agile Manifesto Authors on Flow
Secrets from the Agile Manifesto Authors on FlowRyan Lockard
 
Overcome the 6 Antipatterns of Agile Adoption
Overcome the 6 Antipatterns of Agile AdoptionOvercome the 6 Antipatterns of Agile Adoption
Overcome the 6 Antipatterns of Agile AdoptionAgile Velocity
 
Rise of devops
Rise of devopsRise of devops
Rise of devopsatmosorg
 
Mary Poppendieck “It’s Not About Software”
Mary Poppendieck  “It’s Not About Software”Mary Poppendieck  “It’s Not About Software”
Mary Poppendieck “It’s Not About Software”Agileee
 
Mon1440 start cloud-rokhrastnik-needlefound
Mon1440 start cloud-rokhrastnik-needlefoundMon1440 start cloud-rokhrastnik-needlefound
Mon1440 start cloud-rokhrastnik-needlefoundeurocloud
 

Similar a Where Does Developer Testing End And Tester Testing Begin? (20)

Why IT Needs Artistic Sensibilities
Why IT Needs Artistic SensibilitiesWhy IT Needs Artistic Sensibilities
Why IT Needs Artistic Sensibilities
 
Xing Product Ideation
Xing Product IdeationXing Product Ideation
Xing Product Ideation
 
"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary Poppendieck"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary Poppendieck
 
Agile Business Analysis - The Key to Effective Requirements on Agile Projects
Agile Business Analysis - The Key to Effective Requirements on Agile ProjectsAgile Business Analysis - The Key to Effective Requirements on Agile Projects
Agile Business Analysis - The Key to Effective Requirements on Agile Projects
 
How effective feedback can improve your software
How effective feedback can improve your softwareHow effective feedback can improve your software
How effective feedback can improve your software
 
LISA 2011 Keynote: The DevOps Transformation
LISA 2011 Keynote: The DevOps TransformationLISA 2011 Keynote: The DevOps Transformation
LISA 2011 Keynote: The DevOps Transformation
 
Dont laugh it's paid for
Dont laugh it's paid forDont laugh it's paid for
Dont laugh it's paid for
 
Smart
SmartSmart
Smart
 
QuickAI Pitch Book
QuickAI Pitch BookQuickAI Pitch Book
QuickAI Pitch Book
 
Practical BI
Practical BIPractical BI
Practical BI
 
Atlassian University: Interactive Training with Atlassian Tools
Atlassian University: Interactive Training with Atlassian ToolsAtlassian University: Interactive Training with Atlassian Tools
Atlassian University: Interactive Training with Atlassian Tools
 
Creative intelligence
Creative intelligenceCreative intelligence
Creative intelligence
 
Startup Weekend - Interviewing Customers
Startup Weekend - Interviewing CustomersStartup Weekend - Interviewing Customers
Startup Weekend - Interviewing Customers
 
Design in Startups
Design in StartupsDesign in Startups
Design in Startups
 
Creating innovation engines organizational patterns ver 2.0
Creating innovation engines   organizational patterns ver 2.0Creating innovation engines   organizational patterns ver 2.0
Creating innovation engines organizational patterns ver 2.0
 
Secrets from the Agile Manifesto Authors on Flow
Secrets from the Agile Manifesto Authors on FlowSecrets from the Agile Manifesto Authors on Flow
Secrets from the Agile Manifesto Authors on Flow
 
Overcome the 6 Antipatterns of Agile Adoption
Overcome the 6 Antipatterns of Agile AdoptionOvercome the 6 Antipatterns of Agile Adoption
Overcome the 6 Antipatterns of Agile Adoption
 
Rise of devops
Rise of devopsRise of devops
Rise of devops
 
Mary Poppendieck “It’s Not About Software”
Mary Poppendieck  “It’s Not About Software”Mary Poppendieck  “It’s Not About Software”
Mary Poppendieck “It’s Not About Software”
 
Mon1440 start cloud-rokhrastnik-needlefound
Mon1440 start cloud-rokhrastnik-needlefoundMon1440 start cloud-rokhrastnik-needlefound
Mon1440 start cloud-rokhrastnik-needlefound
 

Más de Abby Fichtner

Innovative Technology
Innovative TechnologyInnovative Technology
Innovative TechnologyAbby Fichtner
 
Strategic Risk Taking: Lessons Learned from Entrepreneurs
Strategic Risk Taking: Lessons Learned from EntrepreneursStrategic Risk Taking: Lessons Learned from Entrepreneurs
Strategic Risk Taking: Lessons Learned from EntrepreneursAbby Fichtner
 
Lean Startup Applied: Building New Products for New Markets
Lean Startup Applied: Building New Products for New MarketsLean Startup Applied: Building New Products for New Markets
Lean Startup Applied: Building New Products for New MarketsAbby Fichtner
 
How to Build Innovative Technologies
How to Build Innovative TechnologiesHow to Build Innovative Technologies
How to Build Innovative TechnologiesAbby Fichtner
 
NCRC Entrepreneurship Workshop
NCRC Entrepreneurship WorkshopNCRC Entrepreneurship Workshop
NCRC Entrepreneurship WorkshopAbby Fichtner
 
Lean Startups: A Success Blueprint for Early-Stage Entrepreneurs
Lean Startups: A Success Blueprint for Early-Stage EntrepreneursLean Startups: A Success Blueprint for Early-Stage Entrepreneurs
Lean Startups: A Success Blueprint for Early-Stage EntrepreneursAbby Fichtner
 
Discovering the Right Product for your Startup
Discovering the Right Product for your StartupDiscovering the Right Product for your Startup
Discovering the Right Product for your StartupAbby Fichtner
 
Beyond the Startup: Being Lean in Startups & Beyond
Beyond the Startup: Being Lean in Startups & BeyondBeyond the Startup: Being Lean in Startups & Beyond
Beyond the Startup: Being Lean in Startups & BeyondAbby Fichtner
 
So You Want To Do a Startup!
So You Want To Do a Startup!So You Want To Do a Startup!
So You Want To Do a Startup!Abby Fichtner
 
Agile Mindset for Your Startup: From Vision to Viability
Agile Mindset for Your Startup: From Vision to ViabilityAgile Mindset for Your Startup: From Vision to Viability
Agile Mindset for Your Startup: From Vision to ViabilityAbby Fichtner
 
So You Want to Do a Startup!
So You Want to Do a Startup!So You Want to Do a Startup!
So You Want to Do a Startup!Abby Fichtner
 
Creating Your MVP (or Startup Validation Hacks)
Creating Your MVP (or Startup Validation Hacks)Creating Your MVP (or Startup Validation Hacks)
Creating Your MVP (or Startup Validation Hacks)Abby Fichtner
 
Get Your Business Online -- No Coding Required
Get Your Business Online -- No Coding RequiredGet Your Business Online -- No Coding Required
Get Your Business Online -- No Coding RequiredAbby Fichtner
 
Lean Startup: Getting out there & changing the world
Lean Startup: Getting out there & changing the worldLean Startup: Getting out there & changing the world
Lean Startup: Getting out there & changing the worldAbby Fichtner
 
How to Build Your MVP
How to Build Your MVPHow to Build Your MVP
How to Build Your MVPAbby Fichtner
 
Lean Startup: Getting out there & Changing the World
Lean Startup: Getting out there & Changing the WorldLean Startup: Getting out there & Changing the World
Lean Startup: Getting out there & Changing the WorldAbby Fichtner
 
Lean Startup: A Founder's Guide
Lean Startup: A Founder's GuideLean Startup: A Founder's Guide
Lean Startup: A Founder's GuideAbby Fichtner
 
Follow Your Own Path
Follow Your Own PathFollow Your Own Path
Follow Your Own PathAbby Fichtner
 

Más de Abby Fichtner (20)

Innovative Technology
Innovative TechnologyInnovative Technology
Innovative Technology
 
Strategic Risk Taking: Lessons Learned from Entrepreneurs
Strategic Risk Taking: Lessons Learned from EntrepreneursStrategic Risk Taking: Lessons Learned from Entrepreneurs
Strategic Risk Taking: Lessons Learned from Entrepreneurs
 
Lean Startup Applied: Building New Products for New Markets
Lean Startup Applied: Building New Products for New MarketsLean Startup Applied: Building New Products for New Markets
Lean Startup Applied: Building New Products for New Markets
 
How to Build Innovative Technologies
How to Build Innovative TechnologiesHow to Build Innovative Technologies
How to Build Innovative Technologies
 
NCRC Entrepreneurship Workshop
NCRC Entrepreneurship WorkshopNCRC Entrepreneurship Workshop
NCRC Entrepreneurship Workshop
 
Lean Startups: A Success Blueprint for Early-Stage Entrepreneurs
Lean Startups: A Success Blueprint for Early-Stage EntrepreneursLean Startups: A Success Blueprint for Early-Stage Entrepreneurs
Lean Startups: A Success Blueprint for Early-Stage Entrepreneurs
 
Discovering the Right Product for your Startup
Discovering the Right Product for your StartupDiscovering the Right Product for your Startup
Discovering the Right Product for your Startup
 
Beyond the Startup: Being Lean in Startups & Beyond
Beyond the Startup: Being Lean in Startups & BeyondBeyond the Startup: Being Lean in Startups & Beyond
Beyond the Startup: Being Lean in Startups & Beyond
 
So You Want To Do a Startup!
So You Want To Do a Startup!So You Want To Do a Startup!
So You Want To Do a Startup!
 
Agile Mindset for Your Startup: From Vision to Viability
Agile Mindset for Your Startup: From Vision to ViabilityAgile Mindset for Your Startup: From Vision to Viability
Agile Mindset for Your Startup: From Vision to Viability
 
So You Want to Do a Startup!
So You Want to Do a Startup!So You Want to Do a Startup!
So You Want to Do a Startup!
 
Creating Your MVP (or Startup Validation Hacks)
Creating Your MVP (or Startup Validation Hacks)Creating Your MVP (or Startup Validation Hacks)
Creating Your MVP (or Startup Validation Hacks)
 
Get Your Business Online -- No Coding Required
Get Your Business Online -- No Coding RequiredGet Your Business Online -- No Coding Required
Get Your Business Online -- No Coding Required
 
Lean Startup: Getting out there & changing the world
Lean Startup: Getting out there & changing the worldLean Startup: Getting out there & changing the world
Lean Startup: Getting out there & changing the world
 
How to Build Your MVP
How to Build Your MVPHow to Build Your MVP
How to Build Your MVP
 
Lean Startup 101
Lean Startup 101Lean Startup 101
Lean Startup 101
 
Lean Startup: Getting out there & Changing the World
Lean Startup: Getting out there & Changing the WorldLean Startup: Getting out there & Changing the World
Lean Startup: Getting out there & Changing the World
 
Lean Startup: A Founder's Guide
Lean Startup: A Founder's GuideLean Startup: A Founder's Guide
Lean Startup: A Founder's Guide
 
Agile for Startups
Agile for StartupsAgile for Startups
Agile for Startups
 
Follow Your Own Path
Follow Your Own PathFollow Your Own Path
Follow Your Own Path
 

Último

Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

Where Does Developer Testing End And Tester Testing Begin?

  • 1. A Where q Does m Developer N Testing n End X And B Tester P Testing I Begin g ? by Abby Fichtner & Nate Oster Agile 2009 - August 24, 2009 This presentation is licensed under a Creative Commons Attribution-Share Alike 3.0 License
  • 3. 3 Q Game #1 A Software Project Simulation h U Abby Fichtner, Nate Oster T
  • 4. 4 What the gh was that? 1. What dysfunctions occurred in game? 2. Do these occur on software projects in the real world? Abby Fichtner, Nate Oster
  • 5. 5 Is this really the best way to develop software? Abby Fichtner, Nate Oster Are these dysfunctions intrinsic to developing software? Or are they the result of how we companies tend to organize software teams?
  • 6. 6 There has to be a Better Way Abby Fichtner, Nate Oster “You will be amazed at how much faster you can go when you make stuff and defects are caught when they occur instead of being found later.” - Mary Poppendieck, Google Tech Talks, 12/2006
  • 7. 7 Our Path T a Better Way o Review key lean principles Walk through what this looks like Game Redux Abby Fichtner, Nate Oster
  • 8. 8 Lean Thinking Lean Production Model Build only what is needed Stop if something goes wrong Abby Fichtner, Nate Oster Eliminate anything that does not add value Taiichi Ohno, The Toyota Production System
  • 9. 9 Lean Thinking Build Only What is Needed Abby Fichtner, Nate Oster Standish Group Study of Software Feature Usage on 2000 projects
  • 10. Abby Fichtner, Nate Oster Lean Thinking Stop if Something Goes Wrong 10
  • 11. 11 What happens when we write code without detecting defects? Lean Thinking Get a pile of bugs to fix at the end Discover misunderstood requirements Discover incorrect design assumptions Rework! Abby Fichtner, Nate Oster v
  • 12. 12 Eliminate Anything that Doesn’t Add Value Building features that aren’t needed Documenting things we don’t need to keep Lean Thinking Capturing the same thing 5 different ways Knowledge Waste Interruptions Delays Handoffs! Abby Fichtner, Nate Oster Adapted from “Implementing Lean Software Development”, Mary and Tom Poppendieck
  • 13. 13 When Errors Happen Fix the Process Most errors are caused by the process we work in, not the individuals Management overestimates ability of process “This is a best practice, so it must be your fault!” Team overestimates ability to overcome bad process “We are in control, so it must be our fault!” Insanity is doing the same thing over & over… Whack 1 person for committing the error Error pops up again from another person Abby Fichtner, Nate Oster The problem is with the Process, not the People! Adapted from Allan Shalloway, Net Objectives: Lean Online Training Class it
  • 14. 14 Abby Fichtner, Nate Oster Self-organizing teams that can adapt quickly & appropriately win!
  • 15. 15 Lean Quiz #1 T Prevent Errors, We Should…? o a) Tell developers not to write bugs b) Tell testers to find more bugs c) Tell customers to be clearer d) Find better customers e) Fix our process! Problem Fix the Process Abby Fichtner, Nate Oster Developer bugs Write unit tests to catch them Customer unclear Specify acceptance tests before code Customer changes mind Work in short iterations Demo early & often Adapted from Allan Shalloway, Net Objectives: Lean Online Training Class
  • 16. 16 Lean Quiz #2 T Get More Done, We Should…? o a) Give everyone multiple things to do so they’re never stuck waiting b) Define strict rules & precise procedures to ensure each task is done just right c) Make our process work for us Abby Fichtner, Nate Oster Problem Fix the Process People stuck waiting Eliminate delays Tasks done inefficiently Self-organize to tap team’s expertise & adapt to each situation
  • 17. 17 Lean Quiz #3 T Go F o aster We Should…? , a) Work harder b) Work faster c) Remove useless delays Abby Fichtner, Nate Oster It’s not about working HARDER or FASTER It’s about delivering more VALUE
  • 18. 18 Agile Testing Smells 1. Testing at the end 2. Repeating manual tests 3. Using testers as a safety-net 4. Not aligning rewards with goals 5. Programmers & Testers not working to same goal Abby Fichtner, Nate Oster b
  • 19. 19 b Smell: Testing At The End Release! Iteration 1 Iteration 2 Iteration 3 ... E Abby Fichtner, Nate Oster
  • 20. 20 b Smell: Testing At The End Iteration 1 Iteration 2 Iteration 3 X Release! Actual Release R Code Test R Code Test R Code Test Bug Fix Abby Fichtner, Nate Oster Test & Fix Iteration This agile thing stinks! b
  • 21. 21 Prevent Defects Poka-Yoke Design products to prevent mistakes Compilers prevent language errors from entering software Supplement builds to prevent application-specific defects Software still finds ways to fail! Exploratory testing early & often Mistake-proof defects in automated tests Abby Fichtner, Nate Oster
  • 22. 22 Stop the Line STOP Organize work so slightest defects identified immediately Prevent Defects When problems found STOP and FIX before it compounds Don’t just band aid Determine & address root cause Abby Fichtner, Nate Oster
  • 23. 23 b Smell: Repeating Manual Tests Waste of testers’ time & skills! DRY (Don’t Repeat Yourself ) No time to spend months regression testing each change Spend time doing what you’re great at! Abby Fichtner, Nate Oster h
  • 24. 24 Automate Regression Tests Have tests focus on intent, not implementation ourself Push tests as low as possible in the pyramid Don’t Repeat Y Exploratory /Manual GUI More business Lower-cost facing, realistic Easier maintenance Acceptance Tests Faster feedback (API Layer) t Abby Fichtner, Nate Oster Unit & Component Tests Adapted from Mike Cohn (Automated Test Pyramid) & “Agile Testing”, Lisa Crispin & Janet Gregory
  • 25. 25 Test-Driven Development (TDD) Immediate Feedback Implementation Write a failing test Design Helps Us: Clarify acceptance criteria Refactor R Make it Pass Write good code Mistake-proof our code Know when we’ve done enough Abby Fichtner, Nate Oster Have courage to continue by providing safety-net Adapted from “Growing OO Software Guided by Tests”, Steve Freeman & Nat Pryce
  • 26. 26 Acceptance Test-Driven Development Drives development by specifying conditions of satisfaction Measure of demonstrable progress Describe: Short paragraph to describe functionality Demonstrate: Give examples to demonstrate Develop: Implement using inner TDD loop Write a h failing test Write a failing Acceptance Test R Make Abby Fichtner, Nate Oster Refactor it Pass “Tests that encourage communication are the best kind” - Lisa Crispin Adapted from “The Art of Agile: How I Use Fit”, James Shore
  • 27. 27 Customer-Driven Development Focus shifts as team masters test-driven development Bug detection Bug prevention Better ways to capture & elicit requirements Write a h D failing test E Write Demo/ a failing Acceptance Test Refactor R Make Feedback Abby Fichtner, Nate Oster Conditions of it Pass Acceptance Adapted from “Agile Testing”, Lisa Crispin & Janet Gregory
  • 28. 28 b Smell: Using Testers as Safety-Net Only Testers can test the whole system Months of manual regression tests Programmers rewarded for code “complete” Testing group’s problem Too easily degrades into not taking responsibility for actions Pits programmers & testers against one another Abby Fichtner, Nate Oster
  • 29. 29 eam Accountable for Quality Automated Tests as Safety-Net Automated tests let everyone test Automation “builds in” error detection Everyone can detect & correct their errors If a test breaks stop the line and FIX immediately Provides courage to make changes needed to evolve system! Without requiring armies of manual testers! Abby Fichtner, Nate Oster T
  • 30. 30 eam Accountable for Quality Hold Everyone Accountable for Quality Customers D Conditions of Satisfaction Defining objective acceptance criteria E Programmers Internal Quality Clean code backed by automated unit tests h Testers Abby Fichtner, Nate Oster Bridging the Gap Help customers articulate quality needs Work with programmers to ensure quality needs are met T
  • 31. 31 eam Accountable for Quality Agile Testing Quadrants Mostly Mostly Automated Manual Business-facing Tests Tests that critique the product Tests that critique the product Tests that support the Team Exploratory Tests Acceptance Tests Usability Testing UAT Unit & Component Performance Testing Tests Security analysis “-ility” tests Abby Fichtner, Nate Oster Automated Specialized Frameworks Technology-facing Tests Tools T Agile Testing”, Lisa Crispin & Janet Gregory” (Originally created by Brian Marick, 2006)
  • 32. 32 b Smell: Not Aligning Rewards with Goals If we work together, we might have a better product & deliver faster but there’s no incentive for us to take this longer-term view Programmers: “Completing” code I finished my task, it’s no longer my problem Testers: Finding bugs If there’s lots of bugs, I’m doing a good job! Everyone: # of tasks completed Why should I help you? That’s less time to get my own work done Abby Fichtner, Nate Oster A h U A
  • 33. 33 Align Rewards with Goals Measures that Drive Desired Behavior Focus on what we care about Delighted customers Return on investment Minimizing total cost of ownership Lean Metrics like Concept to Cash Expose wastes Encourage people to work together Drive good behavior across the organization Abby Fichtner, Nate Oster “Implementing Lean Software Development: From Concept to Cash”, Mary and Tom Poppendieck Dh E
  • 34. 34 Smell: Programmers & Testers b Not Working T o Partially done work ogether o Missing feedback o Problems left to compound Abby Fichtner, Nate Oster
  • 35. 35 esting Concurrent Testing Pair a Programmer & Tester on each story Concurrent T Drive development from acceptance (story) tests Hold everyone accountable for quality Demo production quality software to customer at end of each sprint Abby Fichtner, Nate Oster h E
  • 36. 36 For Each Story… We want everyone working towards a single, shared goal E esting Programmer, Tester & Customer: Define conditions of acceptance (“Done”) as tests Dh Concurrent T Clarify what’s in/out of scope for iteration Synergy from different perspectives Everyone walks away with shared understanding Abby Fichtner, Nate Oster
  • 37. 37 Building the Stories… Programmer & Tester have a shared responsibility to complete story esting Programmer & Tester refine acceptance tests & start building… One slice at a time, starting with happy path h Concurrent T Define internal definition of “done” Tester builds out business-facing tests Programmer codes functionality, helps automate tests Tester pairs with programmer to mistake-proof code Abby Fichtner, Nate Oster
  • 38. 38 Evolving the Stories… Build upon the synergy of pair’s unique skills & perspectives…. As each slice is coded with passing TDD tests, esting Tester and Programmer pair to evolve the story… Testers do exploratory testing with the programmer Concurrent T High bandwidth (side-by-side) Fix issues real-time and get immediate feedback Feed new automated tests & next slice to build Select next slice & repeat until acceptance tests pass Measure progress against automated Acceptance Tests Abby Fichtner, Nate Oster h
  • 39. 39 At the End of the Iteration... Expect the tests to pass! Because we’ve… esting Built quality in through out the iteration Prevented defects with mistake-proofing Concurrent T Stopped the line to fix problems Demo production quality software to customer Holds everyone accountable Helps team celebrate wins Leads to delighted customers Abby Fichtner, Nate Oster h
  • 40. 40 K Game #2 A Better Software Project Simulation k hR Q Abby Fichtner, Nate Oster d
  • 41. 41 Retrospective 1. How did self-organizing change the way we worked? 2. How did changing the way we work change our outcomes? 3. What challenges do you foresee applying these on your projects? 4. Have you seen evidence that these challenges can be overcome? 5. What’s the most important lesson you can take back to your Abby Fichtner, Nate Oster project?
  • 42. 42 Agile Tester’s Bookshelf To learn more about programmers & testers working together… Implementing Lean Software Development by Mary & Tom Poppendieck Beautiful Teams Agile Testing by Andrew Stellman & Jennifer Greene by Lisa Crispin & Janet Gregory Abby Fichtner, Nate Oster NetObjectives online Lean resources: http://www.netobjectives.com/resources/ See Also Growing OO Software, Guided by Tests http://www.mockobjects.com/book/ Bridging the Communication Gap & Test Driven .NET Development with FitNesse James Shore The Art of Agile FitNesse posts: by Gojko Adzic http://jamesshore.com/Blog/Agile-Requirements.html
  • 43. Thank You! Abby Fichtner Nate Oster Hacker Chick Technical Director , (m) 703.615.3394 Agile Player-Coach afichtner@atsc.com 703.930.4100 (m) http://TheHackerChickBlog.com noster@atsc.com This presentation is licensed under a Creative Commons Attribution-Share Alike 3.0 License