How Much Up-Front? A Grounded theory of Agile Architecture

The tension between software architecture and agility is not well understood by agile practitioners or researchers. If an agile software team spends too little time designing architecture up-front then the team faces increased risk and higher chance of failure, if the team spends too much time the delivery of value to the customer is delayed, and responding to change can become extremely difficult. This paper presents a grounded theory of agile architecture that describes how agile software teams answer the question of how much upfront architecture design effort is enough. This theory, based on grounded theory research involving 44 participants, presents six forces that affect the team's context and five strategies that teams use to help them determine how much effort they should put into up-front design.

[1]  Robert Biddle,et al.  The Social Nature of Agile Teams , 2007, Agile 2007 (AGILE 2007).

[2]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[3]  Judith A. Holton,et al.  Remodeling Grounded Theory , 2004 .

[4]  Frank Buschmann,et al.  Architecture and Agility: Married, Divorced, or Just Good Friends? , 2013, IEEE Software.

[5]  C. A. R. Hoare Legacy Code , 2000, ICFEM.

[6]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[7]  Helen Sharp,et al.  The Top 10 Burning Research Questions from Practitioners , 2010, IEEE Softw..

[8]  Gustavo Stubrich The Fifth Discipline: The Art and Practice of the Learning Organization , 1993 .

[9]  Susan Greener,et al.  Business Research Methods , 2008 .

[10]  D. Dooley Social Research Methods , 1990 .

[11]  Grady Booch Architectural Organizational Patterns , 2008, IEEE Software.

[12]  Grady Booch The Accidental Architecture , 2006, IEEE Software.

[13]  Miguel P Caldas,et al.  Research design: qualitative, quantitative, and mixed methods approaches , 2003 .

[14]  Thomas A. Schwandt,et al.  Judging interpretations: But is it rigorous? trustworthiness and authenticity in naturalistic evaluation , 2007 .

[15]  Humberto Cervantes,et al.  A Principled Way to Use Frameworks in Architecture Design , 2013, IEEE Software.

[16]  A. Strauss,et al.  The discovery of grounded theory: strategies for qualitative research aldine de gruyter , 1968 .

[17]  Robert S. Hanmer,et al.  The Twin Peaks of Requirements and Architecture , 2013 .

[18]  Barry W. Boehm,et al.  Using Risk to Balance Agile and Plan-Driven Methods , 2003, Computer.

[19]  James Noble,et al.  Understanding the Importance of Trust in Distributed Agile Projects: A Practical Perspective , 2010, XP.

[20]  Phyllis Noerager Stern,et al.  Essentials of Accessible Grounded Theory , 2011 .

[21]  Laurie A. Williams,et al.  Agile software development: it's about feedback and change , 2003, Computer.

[22]  M. Waterman,et al.  How Much Architecture? Reducing the Up-Front Effort , 2012, 2012 Agile India.

[23]  Grady Booch,et al.  The Irrelevance of Architecture , 2007, IEEE Software.

[24]  James Noble,et al.  The Effect of Complexity and Value on Architecture Planning in Agile Software Development , 2013, XP.

[25]  Michael Grant Waterman,et al.  Reconciling agility and architecture: a theory of agile architecture , 2014 .

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

[27]  Jane Cleland-Huang,et al.  Traversing the Twin Peaks , 2013, IEEE Software.

[28]  A. Cockburn,et al.  Agile Software Development: The People Factor , 2001, Computer.

[29]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[30]  Bg Glaser,et al.  The grounded theory perspective Theoretical coding. , 2005 .

[31]  M.M. Lehman,et al.  Programs, life cycles, and laws of software evolution , 1980, Proceedings of the IEEE.

[32]  Grady Booch,et al.  An Architectural Oxymoron , 2010, IEEE Software.

[33]  Alistair Cockburn,et al.  Agile Software Development: The Cooperative Game (2nd Edition) (Agile Software Development Series) , 2006 .

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

[35]  Brijesh Singh,et al.  The Lean Startup:How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses , 2016 .

[36]  Donald R. Cooper,et al.  Business Research Methods , 1980 .

[37]  Muhammad Ali Babar,et al.  Agility and Architecture: Can They Coexist? , 2010, IEEE Softw..

[38]  James A. Highsmith,et al.  Adaptive Software Development: A Collaborative Approach to Managing Complex Systems , 1999 .

[39]  Steve Adolph What lessons can the agile community learn from a maverick fighter pilot? , 2006, AGILE 2006 (AGILE'06).

[40]  George Allan,et al.  A critique of using grounded theory as a research method , 2003 .

[41]  S. Dreyfus,et al.  A Five-Stage Model of the Mental Activities Involved in Directed Skill Acquisition , 1980 .

[42]  Philippe Kruchten,et al.  The Past, Present, and Future for Software Architecture , 2006, IEEE Software.

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

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

[45]  James Noble,et al.  Agile Undercover: When Customers Don't Collaborate , 2010, XP.

[46]  Diomidis Spinellis Agility Drivers , 2011, IEEE Software.

[47]  Nicholas Walliman,et al.  Social research methods , 2006 .

[48]  Daniel Sundmark,et al.  What Does Research Say about Agile and Architecture? , 2010, 2010 Fifth International Conference on Software Engineering Advances.

[49]  E. Brink,et al.  Constructing grounded theory : A practical guide through qualitative analysis , 2006 .

[50]  Diomidis Spinellis,et al.  Faking It , 2011, IEEE Software.

[51]  Barry W. Boehm,et al.  Architecting: How Much and When? , 2011, Making Software.