Going with the flow: An activity theory analysis of flow techniques in software development

Abstract Managing flow is fundamental to continuous development, particularly in knowledge intensive work activities such as software development. However, while numerous articles describe flow tools and practice there is little research on their application in context. This is a significant limitation given that software development is a highly complex and socially embedded activity. This research applies activity theory (AT) to examine the adoption of flow techniques by using the multiple-case method in two companies. AT is particularly pertinent in this study as it identifies contradictions, which manifest themselves as problems such as errors or a breakdown of communication in the organisation and congruencies between flow techniques and the development context and indeed contradictions between components of flow techniques themselves. Rather than view contradictions as a threat to flow or as an argument to abandon, a theoretical contribution of this study is that it shows how contradictions and congruencies can be used to reflect, learn, and identify new ways of structuring and enacting the flow activity. It also provides an immediate practical contribution by identifying a set of lessons drawn from the cases studied that may be applicable in future implementations of flow techniques.

[1]  B. Nardi Activity theory and human-computer interaction , 1995 .

[2]  Izak Benbasat,et al.  The Case Research Strategy in Studies of Information Systems , 1987, MIS Q..

[3]  Ken Power Definition of Ready: An Experience Report from Teams at Cisco , 2014, XP.

[4]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[5]  Jørn Ola Birkeland From a Timebox Tangle to a More Flexible Flow , 2010, XP.

[6]  Pekka Abrahamsson,et al.  On the Impact of Kanban on Software Project Work: An Empirical Case Study Investigation , 2011, 2011 16th IEEE International Conference on Engineering of Complex Computer Systems.

[7]  Danny Berry,et al.  Leagility: Integrating the lean and agile manufacturing paradigms in the total supply chain , 1999 .

[8]  M. Packer,et al.  Sociocultural and Constructivist Theories of Learning: Ontology, Not Just Epistemology , 2000 .

[9]  M. Cole A cultural-historical approach to distributed cognition , 1993 .

[10]  Joseph G. Davis,et al.  Activity theory as a theoretical foundation for information systems research , 2000, IRMA Conference.

[11]  Kieran Conboy,et al.  Agility from First Principles: Reconstructing the Concept of Agility in Information Systems Development , 2009, Inf. Syst. Res..

[12]  Mary Poppendieck,et al.  The Lean Mindset: Ask the Right Questions , 2013 .

[13]  Claes Wohlin,et al.  Measuring the flow in lean software development , 2011, Softw. Pract. Exp..

[14]  Oisín Cawley,et al.  "Leagile" software development: An experience report analysis of the application of lean approaches in agile software development , 2012, J. Syst. Softw..

[15]  Michele Marchesi,et al.  Studying Lean-Kanban Approach Using Software Process Simulation , 2011, XP.

[16]  Torgeir Dingsøyr,et al.  Challenges to Teamwork: A Multiple Case Study of Two Agile Teams , 2011, XP.

[17]  M. Christopher,et al.  The Supply Chain Strategy Conundrum: To be Lean Or Agile or To be Lean And Agile? , 2002 .

[18]  Ryan Polk Agile and Kanban in Coordination , 2011, 2011 AGILE Conference.

[19]  Y. Engeström,et al.  Developmental studies of work as a testbench of activity theory: The case of primary care medical practice , 1993 .

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

[21]  Michele Marchesi,et al.  Simulating Kanban and Scrum vs. Waterfall with System Dynamics , 2011, XP.

[22]  Al Sarraj,et al.  Formal Development of Line‐of‐Balance Technique , 1990 .

[23]  Brian Fitzgerald,et al.  Continuous software engineering and beyond: trends and challenges , 2014, RCoSE 2014.

[24]  Onur Behzat Tokdemir,et al.  CHALLENGES IN LINE-OF-BALANCE SCHEDULING , 2002 .

[25]  Miroslaw Staron,et al.  Monitoring Bottlenecks in Agile and Lean Software Development Projects - A Method and Its Industrial Use , 2011, PROFES.

[26]  Kai Petersen,et al.  Waste and Lead Time Reduction in a Software Product Customization Process with Value Stream Maps , 2010, 2010 21st Australian Software Engineering Conference.

[27]  B MilesMatthew,et al.  Qualitative Data Analysis , 2009, Approaches and Processes of Social Science Research.

[28]  Susanne Bødker,et al.  Introduction: Information Technology in Human Activity , 2000, Scand. J. Inf. Syst..

[29]  Kieran Conboy,et al.  A Metric-Based Approach to Managing Architecture-Related Impediments in Product Development Flow: An Industry Case Study from Cisco , 2015, 2015 IEEE/ACM 2nd International Workshop on Software Architecture and Metrics.

[30]  Helen Hasan,et al.  Blending Complexity and Activity Frameworks for a Broader and Deeper Understanding of IS , 2010, ICIS.

[31]  Isaac Pentinmaki,et al.  Review of "Lean software development: an agile tookit" by Mary and Tom Poppendieck. Addison Wesley 2003. , 2004, SOEN.

[32]  Onur Behzat Tokdemir,et al.  Effect of learning on line-of-balance scheduling , 2001 .

[33]  T. Schatzki Social Practices: A Wittgensteinian Approach to Human Activity and the Social , 1996 .

[34]  Gareth Evans,et al.  Factors Affecting Effectiveness of Agile Usage - Insights from the BBC Worldwide Case Study , 2011, XP.

[35]  A. N. Oppenheim,et al.  Questionnaire Design, Interviewing and Attitude Measurement , 1992 .

[36]  Paul Shannon,et al.  From Chaos to Kanban, via Scrum , 2010, XP.

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

[38]  Hakan Erdogmus Tracking Progress through Earned Value , 2010, IEEE Softw..

[39]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

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

[41]  Robert L. Nord,et al.  Making Architecture Visible to Improve Flow Management in Lean Software Development , 2012, IEEE Software.

[42]  Dag I. K. Sjøberg,et al.  Quantifying the Effect of Using Kanban versus Scrum: A Case Study , 2012, IEEE Software.

[43]  Charles Puryear Nelson,et al.  Contradictions in learning to write in a second language classroom: insights from radical constructivism, activity theory, and complexity theory , 2002 .

[44]  Pekka Abrahamsson,et al.  Lean Software Development , 2012, IEEE Softw..

[45]  Marc J. Dupuis,et al.  A grounded theory analysis of modern web applications: knowledge, skills, and abilities for DevOps , 2013, RIIT '13.

[46]  K. Foot Cultural‐historical activity theory as practice theory: illuminating the development of conflict‐monitoring network , 2001 .

[47]  H. Rubin,et al.  Qualitative Interviewing: The Art of Hearing Data , 1995 .

[48]  Michael J. Gallivan,et al.  Organizational adoption and assimilation of complex technological innovations: development and application of a new framework , 2001, DATB.

[49]  Christopher M. Shinkle Applying the Dreyfus Model of Skill Acquisition to the Adoption of Kanban Systems at Software Engineering Professionals (SEP) , 2009, 2009 Agile Conference.

[50]  Elizabeth Murphy,et al.  Contradictions between the virtual and physical high school classroom: A third-generation Activity Theory perspective , 2008, Br. J. Educ. Technol..

[51]  Stan Karanasios,et al.  HOW SHOULD TECHNOLOGY-MEDIATED ORGANIZATIONAL CHANGE BE EXPLAINED ? A COMPARISON OF THE CONTRIBUTIONS OF CRITICAL REALISM AND ACTIVITY THEORY 1 , 2013 .

[52]  Pekka Abrahamsson,et al.  Exploring the Sources of Waste in Kanban Software Development Projects , 2010, 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications.

[53]  Merja Helle,et al.  Disturbances and Contradictions as Tools for Understanding Work in the Newsroom , 2000, Scand. J. Inf. Syst..

[54]  D. Reinertsen The Principles of Product Development Flow: Second Generation Lean Product Development , 2009 .

[55]  Mikko Korpela,et al.  Information Systems Development as an Activity , 2002, Computer Supported Cooperative Work (CSCW).

[56]  James P. Womack,et al.  Lean Thinking: Banish Waste and Create Wealth in Your Corporation , 1996 .

[57]  Kalle Lyytinen,et al.  Information system development agility as organizational learning , 2006, Eur. J. Inf. Syst..

[58]  Katharina Burger,et al.  Understanding behaviour in problem structuring methods interventions with activity theory , 2016, Eur. J. Oper. Res..

[59]  Michael A. Cusumano,et al.  Lean Software Development: A Tutorial , 2012, IEEE Software.

[60]  Fumihiko Kinoshita Practices of an Agile Team , 2008, Agile 2008 Conference.

[61]  Robert K. Yin,et al.  Applications of case study research , 1993 .

[62]  Jan Bosch,et al.  2nd International Workshop on Rapid Continuous Software Engineering (RCoSE 2015) , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[63]  Muhammad Ovais Ahmad,et al.  Kanban in software development: A systematic literature review , 2013, 2013 39th Euromicro Conference on Software Engineering and Advanced Applications.

[64]  Heather E. Canary,et al.  The Mediation of Policy Knowledge: An Interpretive Analysis of Intersecting Activity Systems , 2009 .

[65]  Tony Gorschek,et al.  Extending value stream mapping through waste definition beyond customer perspective , 2014, J. Softw. Evol. Process..

[66]  Henrik Kniberg,et al.  Kanban and Scrum - Making the Most of Both , 2010 .

[67]  Mark A. Spasser Realist Activity Theory for Digital Library Evaluation: Conceptual Framework and Case Study , 2002, Computer Supported Cooperative Work (CSCW).

[68]  Tom Wengraf Qualitative Research Interviewing: Biographic Narrative and Semi-Structured Methods , 2001 .

[69]  Claes Wohlin,et al.  Context in industrial software engineering research , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[70]  Matthew B. Miles,et al.  Qualitative Data Analysis: An Expanded Sourcebook , 1994 .

[71]  Stan Karanasios,et al.  Information sharing and interoperability: the case of major incident management , 2014, Eur. J. Inf. Syst..

[72]  Allen S. Lee Editor's comments: research in information systems: what we haven't learned , 2001 .

[73]  Rui Chen,et al.  Data Model Development for Fire Related Extreme Events: An Activity Theory Approach , 2013, MIS Q..

[74]  Stan Karanasios,et al.  Mobile technology in mobile work: contradictions and congruencies in activity systems , 2014, Eur. J. Inf. Syst..

[75]  Mikko Korpela,et al.  Activity Theory in information systems research and practice - theoretical underpinnings for an information systems development method , 2007, Inf. Res..

[76]  Mira Kajko-Mattsson,et al.  Developer-driven big-bang process transition from Scrum to Kanban , 2011, ICSSP '11.

[77]  Marko Ikonen Leadership in Kanban Software Development Projects: A Quasi-controlled Experiment , 2010, LESS.

[78]  Jan Bosch,et al.  Climbing the "Stairway to Heaven": Evolving From Agile Development to Continuous Deployment of Software , 2014, Continuous Software Engineering.

[79]  Per Runeson,et al.  Early identification of bottlenecks in very large scale system of systems software development , 2014, J. Softw. Evol. Process..

[80]  Siobhan O'Donovan,et al.  Reimagining Gamification through the Lens of Activity Theory , 2016, 2016 49th Hawaii International Conference on System Sciences (HICSS).

[81]  K. Kuutti Activity theory as a potential framework for human-computer interaction research , 1995 .

[82]  Taiichi Ohno,et al.  Toyota Production System : Beyond Large-Scale Production , 1988 .

[83]  V. Kaptelinin Activity theory: implications for human-computer interaction , 1995 .