Documenting Agile Architecture: Practices and Recommendations

Architecture is the foundation of every software product, regardless of the process used for its development. Traditional architecture development based on three architectural phases – architectural analysis, synthesis and evaluation is considered highly ceremonial, due to the great number of artifacts it produces. In agile development, architecture is generated gradually with each iteration, as a result of continuous code refactoring, not some predefined structure. In other words, agile processes do not include any of the traditional phases (analysis, synthesis, and evaluation) of the architecture development process, while self-documenting code is the predominant form agile architecture documentation.

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

[2]  Lars Pareto,et al.  Prioritizing Architectural Concerns , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.

[3]  Kai Koskimies,et al.  Aligning architecture knowledge management with Scrum , 2012, WICSA/ECSA '12.

[4]  F. Hasson,et al.  The Delphi Technique in Nursing and Health Research , 2011 .

[5]  Giovanni Cantone,et al.  Peaceful Coexistence: Agile Developer Perspectives on Software Architecture , 2010, IEEE Software.

[6]  Ethan Hadar,et al.  Agile architecture methodology: long term strategy interleaved with short term tactics , 2008, OOPSLA Companion.

[7]  Roland Faber,et al.  Architects as Service Providers , 2010, IEEE Software.

[8]  Jeff Tyree,et al.  Architecture decisions: demystifying architecture , 2005, IEEE Software.

[9]  Patricia Lago,et al.  Architectural Knowledge Management Practices in Agile Global Software Development , 2011, 2011 IEEE Sixth International Conference on Global Software Engineering Workshop.

[10]  Irit Hadar,et al.  Less is more: Architecture documentation for agile development , 2013, 2013 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE).

[11]  Nicholas Rescher,et al.  On the Epistemology of the Inexact Sciences , 1959 .

[12]  Muhammad Ali Babar An exploratory study of architectural practices and challenges in using agile software development approaches , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[13]  Alan R. Hevner,et al.  Design Science in Information Systems Research , 2004, MIS Q..

[14]  Barbara Kitchenham,et al.  Procedures for Performing Systematic Reviews , 2004 .

[15]  Irit Hadar,et al.  Agile vs. plan-driven perceptions of software architecture , 2012, 2012 5th International Workshop on Co-operative and Human Aspects of Software Engineering (CHASE).