Quality Experience: A Grounded Theory of Successful Agile Projects without Dedicated Testers

Context: While successful conventional software development regularly employs separate testing staff, there are successful agile teams with as well as without separate testers. Question: How does successful agile development work without separate testers? What are advantages and disadvantages? Method: A case study, based on Grounded Theory evaluation of interviews and direct observation of three agile teams; one having separate testers, two without. All teams perform long-term development of parts of e-business web portals. Results: Teams without testers use a quality experience work mode centered around a tight field-use feedback loop, driven by a feeling of responsibility, supported by test automation, resulting in frequent deployments. Conclusion: In the given domain, hand-overs to separate testers appear to hamper the feedback loop more than they contribute to quality, so working without testers is preferred. However, Quality Experience is achievable only with modular architectures and in suitable domains.

[1]  A. Strauss,et al.  Basics of qualitative research: Grounded theory procedures and techniques. , 1993 .

[2]  James A. Whittaker,et al.  How Google tests software , 2012, CSIIRW '10.

[3]  Richard E. Fairley,et al.  Guide to the Software Engineering Body of Knowledge (SWEBOK(R)): Version 3.0 , 2014 .

[4]  Jeff Sutherland,et al.  The Scrum Guide , 2012 .

[5]  Agile Manifesto,et al.  Manifesto for Agile Software Development , 2001 .

[6]  Pamela Jordan Basics of qualitative research: Grounded theory procedures and techniques , 1994 .

[7]  Michael Hüttermann DevOps for Developers , 2012, Apress.

[8]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[9]  Mary Poppendieck,et al.  Lean Software Development: An Agile Toolkit , 2003 .

[10]  Lutz Prechelt,et al.  A Coding Scheme Development Methodology Using Grounded Theory for Qualitative Analysis of Pair Programming , 2007, PPIG.

[11]  Orit Hazzan,et al.  Agile software testing in a large-scale project , 2006, IEEE Software.

[12]  J. Shanteue COMPETENCE IN EXPERTS: THE ROLE OF TASK CHARACTERISTICS , 1992 .

[13]  Laurie A. Williams,et al.  Test-driven development as a defect-reduction practice , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[14]  Jan Bosch,et al.  TOWARDS R&D AS INNOVATION EXPERIMENT SYSTEMS: A FRAMEWORK FOR MOVING BEYOND AGILE SOFTWARE DEVELOPMENT , 2013, ICSE 2013.

[15]  Christine Nadel,et al.  Case Study Research Design And Methods , 2016 .

[16]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[17]  Lisa Crispin,et al.  Agile Testing: A Practical Guide for Testers and Agile Teams , 2008 .

[18]  Lianping Chen,et al.  The Journal of Systems and Software , 2022 .

[19]  J. Shanteau Competence in experts: The role of task characteristics , 1992 .

[20]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[21]  Philip J. Guo,et al.  Characterizing and predicting which bugs get fixed: an empirical study of Microsoft Windows , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[22]  Michael Httermann,et al.  DevOps for Developers , 2012 .

[23]  Ossi Taipale,et al.  A study on agility and testing processes in software organizations , 2010, ISSTA '10.

[24]  Kent L. Beck,et al.  Extreme programming explained - embrace change, Second Edition , 2005, The XP series.

[25]  Dror G. Feitelson,et al.  Development and Deployment at Facebook , 2013, IEEE Internet Computing.

[26]  Kwee Heong Tan How Google tests software by James A. Whittaker, Jason Arbon and Jeff Carollo , 2012, SOEN.

[27]  A Straw,et al.  Guide to the Software Engineering Body of Knowledge , 1998 .

[28]  Mika Mäntylä,et al.  Who tested my software? Testing as an organizationally cross-cutting activity , 2011, Software Quality Journal.

[29]  Jeff Sutherland,et al.  Manifesto for Agile Software Development , 2013 .