Analysis and Management of Architectural Dependencies in Iterative Release Planning

Within any incremental development paradigm, there exists a tension between the desire to deliver value to the customer early and the desire to reduce cost by avoiding architectural refactoring in subsequent releases. What is lacking, however, is quantifiable guidance that highlights the potential benefits and risks of choosing one or the other of these alternatives or a blend of both strategies. In this paper, we assert that the ability to quantify architecture quality with measurable criteria provides engineering guidance for iterative release planning. We demonstrate the use of propagation cost as a proxy for architectural health with dependency analysis of design structure and domain mapping matrices as a quantifiable basis for iteration planning.

[1]  Karl E. Wiegers First Things First: Prioritizing Requirements , 1999 .

[2]  Rick Kazman,et al.  A cost-benefit framework for making architectural decisions in a business context , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[3]  Tyson R. Browning,et al.  Managing complex product development projects with design structure matrices and domain mapping matrices , 2007 .

[4]  Robert L. Nord,et al.  Managing technical debt in software-reliant systems , 2010, FoSER '10.

[5]  Jane Cleland-Huang,et al.  Software by Numbers - Low-Risk, High-Return Development , 2003 .

[6]  Alan MacCormack,et al.  Exploring the Duality between Product and Organizational Architectures: A Test of the Mirroring Hypothesis , 2011 .

[7]  Judith A. Stafford,et al.  Achieving Agility through Architecture Visibility , 2009, QoSA.

[8]  Victor R. Basili,et al.  Iterative and incremental developments. a brief history , 2003, Computer.

[9]  William G. Griswold,et al.  The structure and value of modularity in software design , 2001, ESEC/FSE-9.

[10]  Colin J. Neill,et al.  Integrating a software architecture-centric method into object-oriented analysis and design , 2008, J. Syst. Softw..

[11]  Mike Danilovic,et al.  The use of dependence structure matrix and domain mapping matrix in managing uncertainty in multiple project situations , 2005 .

[12]  Raghvinder S. Sangwan,et al.  Global software development handbook , 2006 .

[13]  Joseph M. Saur Review of "Software by numbers: low-risk, high-return development" by Mark Denne and Jane Cleland-Huang. Prentice Hall 2004. , 2004, SOEN.

[14]  Colin J. Neill,et al.  Characterizing essential and incidental complexity in software architectures , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[15]  Tyson R. Browning,et al.  Applying the design structure matrix to system decomposition and integration problems: a review and new directions , 2001, IEEE Trans. Engineering Management.

[16]  Jos van Hillegersberg,et al.  Coordination Implications of Software Coupling in Open Source Projects , 2010, OSS.

[17]  Cláudio Sant'Anna,et al.  From retrospect to prospect: Assessing modularity and stability from software architecture , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[18]  Raghvinder S. Sangwan,et al.  Global Software Development Handbook (Auerbach Series on Applied Software Engineering Series) , 2006 .