The Product Backlog

Context: One of the most common artifacts in contemporary software projects is a product backlog comprising user stories, bugs, chores or other work items. However, little research has investigated how the backlog is generated or the precise role it plays in a project. Objective: The purpose of this paper is to determine what is a product backlog, what is its role, and how does it emerge? Method: Following Constructivist Grounded Theory, we conducted a two-year, five-month participant-observation study of eight software development projects at Pivotal, a large, international software company. We interviewed 56 software engineers, product designers, and product managers.We conducted a survey of 27 product designers. We alternated between analysis and theoretical sampling until achieving theoretical saturation. Results: We observed 13 practices and 6 obstacles related to product backlog generation. Limitations: Grounded Theory does not support statistical generalization. While the proposed theory of product backlogs appears widely applicable, organizations with different software development cultures may use different practices. Conclusion: The product backlog is simultaneously a model of work to be done and a boundary object that helps bridge the gap between the processes of generating user stories and realizing them in working code. It emerges from sensemaking (the team making sense of the project context) and coevolution (a cognitive process where the team simultaneously refines its understanding of the problematic context and fledgling solution concepts).

[1]  K. Weick,et al.  Organizing and the Process of Sensemaking , 2005 .

[2]  Paul Ralph,et al.  Software engineering process theory: A multi-method comparison of Sensemaking-Coevolution-Implementation Theory and Function-Behavior-Structure Theory , 2013, Inf. Softw. Technol..

[3]  R. J. Bogumil,et al.  The reflective practitioner: How professionals think in action , 1985, Proceedings of the IEEE.

[4]  Beth A. Bechky Sharing Meaning Across Occupational Communities: The Transformation of Understanding on a Production Floor , 2003, Organ. Sci..

[5]  Ken Schwaber,et al.  SCRUM Development Process , 1997 .

[6]  K. Charmaz,et al.  Constructing Grounded Theory , 2014 .

[7]  Ahmed Seffah,et al.  The obstacles and myths of usability and software engineering , 2004, CACM.

[8]  Paul A. Cairns,et al.  A systematic literature review for agile development processes and user centred design integration , 2014, EASE '14.

[9]  P. Slovic The Construction of Preference , 1995 .

[10]  Paul Ralph,et al.  Sustainable Software Development through Overlapping Pair Rotation , 2016, ESEM.

[11]  Jon Kolko,et al.  Abductive Thinking and Sensemaking: The Drivers of Design Synthesis , 2010, Design Issues.

[12]  Felipe Barbosa Araújo Ramos,et al.  Ordering the Product Backlog in Agile Software Development Projects: A Systematic Literature Review , 2017, SEKE.

[13]  Desirée Sy,et al.  Adapting usability investigations for agile user-centered design , 2007 .

[14]  David H. Jonassen,et al.  Instructional design models for well-structured and III-structured problem-solving learning outcomes , 1997 .

[15]  Paul Ralph,et al.  Is Requirements Engineering Inherently Counterproductive? , 2015, 2015 IEEE/ACM 5th International Workshop on the Twin Peaks of Requirements and Architecture.

[16]  Paul Ralph,et al.  Software Development Waste , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE).

[17]  Ken Schwaber,et al.  Agile Project Management with Scrum , 1980 .

[18]  Matt Wynne,et al.  The Cucumber Book: Behaviour-Driven Development for Testers and Developers , 2012 .

[19]  Arthur Todd Sedano,et al.  Sustainable Software Development: Evolving Extreme Programming , 2017 .

[20]  Lene Nielsen,et al.  Exploring Persona-Scenarios - Using Storytelling to Create Design Ideas , 2009, HWID.

[21]  M. Tushman,et al.  Boundary Spanning Individuals: Their Role in Information Transfer and Their Antecedents , 1981 .

[22]  Sara Jones,et al.  Requirements Engineering as Creative Problem Solving: A Research Agenda for Idea Finding , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[23]  Nigel Cross,et al.  Research in design Thinking , 1992 .

[24]  Lynn Miller Case study of customer input for a successful product , 2005, Agile Development Conference (ADC'05).

[25]  Roel Wieringa,et al.  A conceptual model and process for client-driven agile requirements prioritization , 2010, 2010 Fourth International Conference on Research Challenges in Information Science (RCIS).

[26]  John T. Willse,et al.  Assessing Creativity With Divergent Thinking Tasks: Exploring the Reliability and Validity of New Subjective Scoring Methods , 2008 .

[27]  Susan Leigh Star,et al.  Institutional Ecology, `Translations' and Boundary Objects: Amateurs and Professionals in Berkeley's Museum of Vertebrate Zoology, 1907-39 , 1989 .

[28]  Paul Ralph,et al.  The Sensemaking-Coevolution-Implementation Theory of software design , 2013, Sci. Comput. Program..

[29]  S. L. Star,et al.  This is Not a Boundary Object: Reflections on the Origin of a Concept , 2010 .

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

[31]  Paul Ralph,et al.  A Proposal for a Formal Definition of the Design Concept , 2009 .

[32]  B. Glaser Theoretical Sensitivity: Advances in the Methodology of Grounded Theory , 1978 .

[33]  Steven L. Alter,et al.  Improving Scrum User Stories and Product Backlog Using Work System Snapshots , 2017, AMCIS.

[34]  Nigel Cross,et al.  Design cognition: results from protocol and other empirical studies of design activity , 2016 .

[35]  Klaas-Jan Stol,et al.  Continuous software engineering: A roadmap and agenda , 2017, J. Syst. Softw..

[36]  Bella Martin,et al.  Universal Methods of Design: 100 Ways to Research Complex Problems, Develop Innovative Ideas, and Design Effective Solutions , 2012 .

[37]  B. Glaser Doing grounded theory : issues and discussions , 1998 .

[38]  Natalia Levina,et al.  Collaborating on Multi-Party Information Systems Development Projects: A Collective Reflection-in-Action View , 2005, Inf. Syst. Res..

[39]  Andraž Cej,et al.  Agile software development with Scrum , 2010 .

[40]  Paul Ralph,et al.  Toward Methodological Guidelines for Process Theories and Taxonomies in Software Engineering , 2019, IEEE Transactions on Software Engineering.

[41]  Paul Ralph,et al.  Lessons Learned from an Extended Participant Observation Grounded Theory Study , 2017, 2017 IEEE/ACM 5th International Workshop on Conducting Empirical Studies in Industry (CESI).

[42]  Alexander Maedche,et al.  Exploring principles of user-centered agile software development: A literature review , 2015, Inf. Softw. Technol..

[43]  Peter Checkland,et al.  Systems Thinking, Systems Practice , 1981 .

[44]  José Antonio Pow-Sang,et al.  A systematic review of usability techniques in agile methodologies , 2014, EATIS '14.

[45]  Paul Ralph,et al.  Practice and perception of team code ownership , 2016, EASE.

[46]  Stuart K. Card,et al.  The cost structure of sensemaking , 1993, INTERCHI.

[47]  Milene Selbach Silveira,et al.  Artifacts for Agile User-Centered Design: A Systematic Mapping , 2017, HICSS.

[48]  Howard E. Aldrich,et al.  Boundary Spanning Roles and Organization Structure , 1977 .

[49]  J. Creswell,et al.  Determining Validity in Qualitative Inquiry , 2000 .