Abstract
Software architecture design, when performed in context of agile software development (ASD), sometimes referred as “agile architecting”, promotes the emerging and incremental design of the architectural artifact, in a sense of avoiding “big design upfront” (BDUF). Performing “agile architecting” is not always straightforward, mainly because the architecture has a required life-cycle and each stage responds to different needs. There is a lack of a pathway that guides agile architecting in an end-to-end approach (from business requirements to deployment). This paper proposes a pathway that includes architecture design from software development life-cycle (SDLC) stages of software development that use ASD approaches, where two main artifacts are considered: a candidate logical architecture and a refined logical architecture. These artifacts are included in a pathway where they receive input from business processes perspective and guide software development during ASD iterations (Sprints).
This work has been supported by FCT – Fundação para a Ciência e Tecnologia within the Project Scope: UID/CEC/00319/2019.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Madison, J.: Agile architecture interactions. IEEE Softw. 27, 41–48 (2010). https://doi.org/10.1109/MS.2010.35
Uludag, O., Kleehaus, M., Xu, X., Matthes, F.: Investigating the role of architects in scaling agile frameworks. In: 21st International Enterprise Distributed Object Computing Conference (EDOC), pp. 123–132. IEEE (2017). https://doi.org/10.1109/EDOC.2017.25
Abrahamsson, P., Babar, M.A., Kruchten, P.: Agility and architecture: can they coexist? IEEE Softw. 27, 16–22 (2010). https://doi.org/10.1109/MS.2010.36
Farhan, S., Tauseef, H., Fahiem, M.A.: Adding agility to architecture tradeoff analysis method for mapping on crystal. In: WRI World Congress on Software Engineering (WCSE), pp. 121–125. IEEE (2009). https://doi.org/10.1109/WCSE.2009.405
Kazman, R.: Foreword - bringing the two together: agile architecting or architecting for agile? In: Agile Software Architecture: Aligning Agile Processes and Software Architectures, pp. xxix–xxx (2013). https://doi.org/10.1016/C2012-0-01208-2
Prause, C.R., Durdik, Z.: Architectural design and documentation: waste in agile development? In: International Conference on Software and System Process (ICSSP), pp. 130–134. IEEE (2012). https://doi.org/10.1109/ICSSP.2012.6225956
Waterman, M., Noble, J., Allan, G.: How much architecture? Reducing the up-front effort. In: AGILE India, pp. 56–59. IEEE (2012). https://doi.org/10.1109/AgileIndia.2012.11
Erdogmus, H.: Architecture meets agility. IEEE Softw. 26, 2–4 (2009). https://doi.org/10.1109/MS.2009.121
Cockburn, A.: Agile software development: the cooperative game. Pearson Education, London (2006)
Costa, N., Santos, N., Ferreira, N., Machado, R.J.: Delivering user stories for implementing logical software architectures by multiple scrum teams. In: Murgante, B., et al. (eds.) ICCSA 2014. LNCS, vol. 8581, pp. 747–762. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-09150-1_55
Kruchten, P., Obbink, H., Stafford, J.: The past, present, and future for software architecture. IEEE Softw. 23, 22–30 (2006). https://doi.org/10.1109/MS.2006.59
Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change. Addison-Wesley Professional, Boston (2004)
Boehm, B.: Get ready for agile methods, with care. Computer 35, 64–69 (2002). https://doi.org/10.1109/2.976920
Yang, C., Liang, P., Avgeriou, P.: A systematic mapping study on the combination of software architecture and agile development. J. Syst. Softw. 111, 157–184 (2016). https://doi.org/10.1016/j.jss.2015.09.028
Bellomo, S., Kruchten, P., Nord, R., Ozkaya, I.: How to agilely architect an agile architecture. Cutter IT J. 27, 12–17 (2014)
Jeon, S., Han, M., Lee, E., Lee, K.: Quality attribute driven agile development. In: 9th International Conference on Software Engineering Research, Management and Applications (SERA), pp. 203–210. IEEE (2011). https://doi.org/10.1109/SERA.2011.24
Nord, R.L., Tomayko, J.E.: Software architecture-centric methods and agile development. IEEE Softw. 23, 47–53 (2006). https://doi.org/10.1109/MS.2006.54
Kanwal, F., Junaid, K., Fahiem, M.A.: A hybrid software architecture evaluation method for FDD-an agile process model. International Conference on Computational Intelligence and Software Engineering (CiSE). IEEE, pp 1–5 (2010). https://doi.org/10.1109/CISE.2010.5676863
Santos, N., Pereira, J., Morais, F., Barros, J., Ferreira, N., Machado, R.J.: An agile modeling oriented process for logical architecture design. In: Gulden, J., Reinhartz-Berger, I., Schmidt, R., Guerreiro, S., Guédria, W., Bera, P. (eds.) BPMDS/EMMSAD -2018. LNBIP, vol. 318, pp. 260–275. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-91704-7_17
Schwaber, K.: Scrum development process. In: Sutherland, J., Casanave, C., Miller, J., Patel, P., Hollowell, G. (eds.) Business Object Design and Implementation, pp. 117–134. Springer, London (1997). https://doi.org/10.1007/978-1-4471-0947-1_11
Mancl, D., Fraser, S., Opdyke, B., et al.: Architecture in an agile world. In: SPLASH/OOPSLA Companion, pp. 289–290. ACM (2009)
Coplien, J.O., Bjørnvig, G.: Lean Architecture: For Agile Software Development. Wiley, Hoboken (2011)
Zhang, X., Hu, Y., Lu, Y., Gu, J.: University dormitory management system based on agile development architecture. In: IEEE International Conference on Management and Service Science (2011). https://doi.org/10.1109/ICMSS.2011.5998992
Harvick, R.: Agile Architecture for Service Oriented Component Driven Enterprises: Encouraging Rapid Application Development using Agile. DataThunder Publishing, Kissimmee (2012)
Sharifloo, A.A., Saffarian, A.S., Shams, F.: Embedding architectural practices into extreme programming. In: 19th Australian Conference on Software Engineering (ASWEC), pp. 310–319. IEEE (2008). https://doi.org/10.1109/ASWEC.2008.4483219
Díaz, J., Pérez, J., Garbajosa, J.: Agile product-line architecting in practice: a case study in smart grids. Inf. Softw. Technol. 56, 727–748 (2014). https://doi.org/10.1016/j.infsof.2014.01.014
Santos, N., Duarte, F.J., Machado, R.J., Fernandes, J.M.: A transformation of business process models into software-executable models using MDA. In: Winkler, D., Biffl, S., Bergsmann, J. (eds.) SWQD 2013. LNBIP, vol. 133, pp. 147–167. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35702-2_10
Neiva, R., Santos, N., Martins, J.C.C., Machado, R.J.: Deriving UML logical architectures of traceability business processes based on a GS1 standard. In: Gervasi, O., et al. (eds.) ICCSA 2015. LNCS, vol. 9158, pp. 528–543. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21410-8_41
Fernandes, J.M., Machado, R.J.: Requirements in Engineering Projects. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-18597-2
Douglass, B.: Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns. Addison-Wesley Professional, Boston (1999)
Eeles, P., Cripps, P.: The Process of Software Architecting. Pearson Education, London (2009)
Kruchten, P.: The 4+1 view model of architecture. IEEE Softw. 12, 42–50 (1995). https://doi.org/10.1109/52.469759
Soni, D., Nord, R.L., Hofmeister, C.: Software architecture in industrial applications. In: 17th International Conference on Software Engineering (ICSE). ACM Press, pp. 196–207 (1995). https://doi.org/10.1145/225014.225033
Fong, E.N., Goldfine, A.H.: Information management directions: the integration challenge (1989)
Zachman, J.A.: The zachman framework for enterprise architecture (2011)
Santos, N., et al.: Specifying software services for fog computing architectures using recursive model transformations. In: Mahmood, Z. (ed.) Fog Computing, pp. 153–181. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94890-4_8
Santos, N., Rodrigues, H., Pereira, J., et al.: UH4SP: a software platform for integrated management of connected smart plants. In: 9th IEEE International Conference on Intelligent Systems (IS). IEEE (2018). https://doi.org/10.1109/IS.2018.8710468
Santos, N., Pereira, J., Ferreira, N., Machado, R.J.: Modeling in Agile Software Development: Decomposing Use Cases Towards Logical Architecture Design. In: Kuhrmann, M., et al. (eds.) PROFES 2018. LNCS, vol. 11271, pp. 396–408. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03673-7_31
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Santos, N., Ferreira, N., Machado, R.J. (2019). Towards Agile Architecting: Proposing an Architectural Pathway Within an Industry 4.0 Project. In: Wrycza, S., Maślankowski, J. (eds) Information Systems: Research, Development, Applications, Education. SIGSAND/PLAIS 2019. Lecture Notes in Business Information Processing, vol 359. Springer, Cham. https://doi.org/10.1007/978-3-030-29608-7_10
Download citation
DOI: https://doi.org/10.1007/978-3-030-29608-7_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-29607-0
Online ISBN: 978-3-030-29608-7
eBook Packages: Computer ScienceComputer Science (R0)