Abstract
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.
Excessive documentation is considered wasteful in agile development processes. However, complete elimination of documentation results in “evaporation” of architectural information and knowledge, which may compromise the entire development process. Therefore, development of complex software systems requires an architecture documenting strategy positioned between the described extremes.
This paper presents results of theoretical and empirical research on documenting software architecture in agile development processes. Subsequent to the systematic literature review, an empirical research based on the classic Delphi method was carried out on a sample of 20 expert practitioners. In addition to an overview of current architecture documenting practices, the paper proposes structures of two artifacts for documenting agile architecture of complex systems, developed with regard to the results of the empirical research. These artifacts contain short descriptions of architectural decisions and rationale behind them.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Hevner, S., March, S.T., Park, J., Ram, S.: Design science in information systems research. MIS Q. 28(1), 75–105 (2004)
Kitchenham, B.: Procedures for performing systematic reviews (2004)
Miles, M.B., Huberman, A.: Qualitative Data Analysis: An Expanded Sourcebook, 2nd edn. Sage, Thousand Oaks (1994)
Helmer, O., Rescher, N.: On the epistemology of the inexact sciences. Manage. Sci. 6(1), 25–52 (1959)
Keeney, S., Hasson, F., McKenna, H.: The Delphi Technique in Nursing and Health Research, 1st edn. Wiley, London (2011)
Hadar, I., Sherman, S.: Agile vs. plan-driven perceptions of software architecture. In: 2012 5th International Workshop on Co-operative and Human Aspects of Software Engineering (CHASE), pp. 50–55 (2012)
Clerc, H., Lago, V., Vliet, P.: Architectural knowledge management practices in agile global software development. In: Sixth IEEE International Conference On Global Software Engineering Workshops, pp. 1–8 (2011)
Hadar, J.J., Sherman, I., Hadar, S., Harrison, E.: Less is more: architecture documentation for agile development. In: 2013 6th International Workshop Cooperative and Human Aspects of Software Engineering (CHASE), pp. 121–124 (2013)
Hadar, G.M., Silberman, E.: Agile architecture methodology: long term strategy interleaved with short term tactics. In: Companion to the 23rd ACM SIGPLAN Conference on Object-oriented Programming Systems Languages and Applications, OOPSLA Companion 2008, pp. 641–651 (2008)
Pareto, S., Sandberg, L., Eriksson, A., Ehnebom, P.: Prioritizing architectural concerns. In: 2011 Ninth Working IEEE/IFIP Conference on Software Architecture (WICSA), pp. 22–31 (2011)
Tyree, A., Akerman, J.: Architecture decisions: demystifying architecture. IEEE Softw. 22(2), 19–27 (2005)
Faber, R.: Architects as service providers. IEEE Softw. 27(1), 33–40 (2010)
Eloranta, K., Koskimies, V.P.: Aligning architecture knowledge management with scrum. In: Proceedings of the WICSA/ECSA 2012, pp. 112–115 (2012)
Babar, M.A.: An exploratory study of architectural practices and challenges in using agile software development approaches. In: 2009 European Conference on Software Architecture. Joint Working IEEE/IFIP Conference, pp. 81–90 (2009)
Falessi, D., Cantone, G., Sarcia’, S.A., Calavaro, G., Subiaco, P., D’Amore, C.: Peaceful coexistence: agile developer perspectives on software architecture. IEEE Softw. 27, 23 (2010)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Maric, M., Matkovic, P., Tumbas, P., Pavlicevic, V. (2016). Documenting Agile Architecture: Practices and Recommendations. In: Wrycza, S. (eds) Information Systems: Development, Research, Applications, Education. SIGSAND/PLAIS 2016. Lecture Notes in Business Information Processing, vol 264. Springer, Cham. https://doi.org/10.1007/978-3-319-46642-2_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-46642-2_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-46641-5
Online ISBN: 978-3-319-46642-2
eBook Packages: Business and ManagementBusiness and Management (R0)