Agile architecture in action (AGATA)
##plugins.themes.bootstrap3.article.details##
Introduction: This work proposes Agile Architecture in Action (AGATA), a software process framework that scales Agile methods to larger teams. Methodology: following a human interface model, several Extreme Programming (XP) development teams work together around a central team that takes advantage of the ability of architectural methods to define the solution at the architectural level, improving communication and maintaining Agile parameters. Results: AGATA was applied in a development project, involving software engineers and final year software engineering students, organized as a postgraduate practical course. In this case study we measured communication based in the architecture and face-to-face channels, taking into account the degree of distortion and quality of the channels. The main results show that communication levels in the whole team are reasonable and that the channels proposed by AGATA maintain Agile parameters as to intergroup relationship and client deliveries. There are reports indicating scaling problems as teams grow; particularly, communication worsens. Conclusion: It is necessary to propose clear channels of communication. AGATA practices managed to maintain Agile elements with a large team.
software architecture, scaling, agile methods, software processArquitectura de software, escala, métodos ágiles, procesos de software
[2] R. L. Nord, and J. E Tomayko, “Software Architecture Centric Methods and Agile Development,” IEEE Software, vol. 23, no. 2, pp. 47- 53, Mar.-Apr. 2006. doi: 10.1109/MS.2006.54.
[3] D. J. Reifer, F. Maurer, and H. Erdogmus, “Scaling Agile Methods,” IEEE Software, vol. 20, no. 4, pp. 12-14, Jul. 2003. doi:10.1109/MS.2003.1207448.
[4] K. Beck and M. Fowler, Planning Extreme Programming, 1st ed. Boston, MA, US: Addison-Wesley, Longman Publishing Co., 2000.
[5] S. W. Ambler. (2009, Dec.). The Agile Scaling Model (ASM): adapting agile methods for complex environments. [Online]. Avalaible: https://www.researchgate.net/profile/Scott_Ambler/publication/268424579_Adapting_Agile_Methods_for_Complex_The_Agile_Scaling_Model_ASM_Adapting_Agile_Methods_for_Complex_Environments/links/55003e780cf28e4ac347ee34.pdf?origin=publication_detail
[6] B. MacKellar, “A case study of group communication patterns in a large project software engineering course,” in Software Eng. Educ. Training (CSEE&T),Nanjing, Jiangsu, China, Apr. 2012 . doi: 10.1109/CSEET.2012.21
[7] D. Rodríguez, M. A. Sicilia, E. García, and R. Harrison, “Empirical findings on team size and productivity in software development,” J. Syst. Software, vol. 85, no. 3, pp. 562-570, Mar. 2012. https://doi.org/10.1016/j.jss.2011.09.009.
[8] Extreme Programming: A gentle introduction. [Online]. Available: http://www.extremeprogramming.org/.
[9] Beck Kent and Andres Charles. Extreme programming explained: embrace change. Addison-Wesley, pp. 224, Enero 2012.
[10] P. C. Pendharkar and J. A. Rodger, “The relationship between software development team size and software development cost,” Commun. ACM, vol. 52, no. 1, pp. 141-144, 2009. doi: 10.1145/1435417.1435449.
[11] C. Yang, P. Liang, and P. Avgeriou, “A systematic mapping study on the combination of software architecture and agile development,” J Syst Software, vol. 111, pp. 157–184, Jan. 2016. https://doi.org/10.1016/j.jss.2015.09.028
[12] E. Hadar and G. M. Silberman, “Agile architecture methodology: long term strategy interleaved with short term tactics,” in OOPSLA Companion ‘08 Companion to the 23rd ACM SIGPLAN conf. on Object-oriented programming syst. languages and app., Nashville, TN, US, 2008, pp. 641-652. doi:10.1145/1449814.1449816.
[13] M. Erder and P. Pureur. Continuous architecture: Sustainable architecture in an agile and cloud-centric world. Walthman, MA, US: Morgan Kauffmann, Elsevier, 2006.
[14] R. Kazman, L. Bass, and M. Klein, “The essential components of software architecture design and analysis,” J Syst. Software, vol. 79, no. 8, pp. 1207-1216, Aug. 2006. https:// doi.org/10.1016/j.jss.2006.05.001.
[15] V. Zaychik and W. C. Regli, “Capturing communication and context in the software Project lifecycle,” Res. Eng. Des, vol. 14, no. 2, pp. 75-88, May. 2003. https://doi.org/10.1007/s00163-002-0027-8
[16] S-A. Marjaie and U. Rathod, “Communication in agile software projects: qualitative analysis using grounded theory in system dynamics,” 2014. [Online]. Available: http://www.systemdynamics.org/conferences/2011/proceed/papers/P1353.pdf.
[17] W. Reinhardt, “Communication is the key-Support durable knowledge sharing in software engineering by microblogging,” in Proc. of the 1st Int. Workshop on Software Eng. within Social software Environments (SENSE09), Kaiserslautern, Germany, March 3, 2009.
[18] L. Muñoz Sanabria and J. Hurtado Alegría, “XA: Una extensión XP para apoyar estudios de arquitectura,” in IEEExplore. XI Computer Congress (CCC), Colombia, 2015.
[19] M. Marchesi, G. Succi, D. Wells, and L. Williams, Extreme programming perspectives. New Jersey, NJ, US: Pearson Education, Addison Wesley, 2002, pp. 624.
[20] P. Pendharkar, and J. Rodger, (2009, enero). The relationship Between Software Development Team Size and Software Development Cost. ACM, vol 52, 1, pp. 141-144.
[21] K. Schwaber and J. Sutherland. (2013, Jul.). The scrum Guide: The definitive guide to scrum: the rules of the game. Scrum.[Online]. Available: http://www.scrumguides.org/docs/scrumguide/v1/scrum-guide-us.pdf
[22] P. Runeson and M. Höst, “Guidelines for conducting and reportingcase study research in software engineering,” Empirical Software Eng., vol. 14, no. 2, pp. 131-164, Apr. 2009. https://doi.org/10.1007/s10664-008-9102-8
[23] R. N. Jensen, T. Møller, and G. Tjørnehøj, “Architecture and design in eXtreme programming: introducing ‘developer stories’,” in Int. Conf. on Extreme Progr. Agile Process. Software Eng. XP 2006. Lecture Notes in Comput. Sci., vol. 4044, Berlin, Heidelberg, 2006,pp. 133-142.
[24] S. Kuppuswami, K. Vivekanandan, P. Ramaswamy, and P. Rodrigues, “The effects of individual XP practices on software development effort,” Newsletter ACM SIGSOFT Software Eng. Notes, vol. 28, no. 6, pp. 6, Nov. 2003.
[25] L. M. Echeverry Tobón and L. E. Delgado Carmona, “Caso práctico de la metodología ágil XP al desarrollo de software,” BSc Thesis, Universidad Tecnológica de Pereira, Colombia, 2007.
[26] A. Martin, J. Noble, R. Biddle, “Programmers are from Mars, customers are from Venus: A practical guide for customers on XP Projects,” in PLoP ‘06 Proc. 2006 conf. Pattern languages of programs, Portland, Oregon, US, Oct. 2006, art. 20. doi: 10.1145/1415472.1415496
[27] R. Wojcik, F. Bachmann, L. Bass, and Others, Attribute-Driven Design (ADD) Version 2. Software Architecture Technology Initiative. 2006. Available from: http://www.sei.cmu.edu/reports/06tr023.pdf.
[28] M. R. Barbacci, et al., (2002, Jun.) Quality Attribute Workshops QAW -3rd Ed., Architecture Tradeoff Analysis Initiative.[Online]. Available: https://pdfs.semanticscholar.org/da24/7e22910e7e4c98071e90fcdc419245ea45bd.pdf.
[29] P. Abrahamsson, O. Salo, J. Ronkainen, and J. Warsta, “Agile software developmentmethods: Review and analysis,” VTT Electronics, Oulu, Finland, ESPO 2002, VTT Publications 478, 2002. Available: http://www.pss-europe.com/P478.pdf.
[30] D. J. Reifer, F. Maurer, and H. Erdogmus, “Scaling agile methods,” IEEE Software, vol. 20, no. 4, pp. 12-14, Jul. 2003. doi: 10.1109/MS.2003.1207448
[31] A. Sillitti and G. Succi, “Requirements engineering for agile methods,” in Engineering and Managing Software Requirements, A. Aurum, C. Wohlin (eds). Berlin, Heidelberg: Springer, 2005, pp. 309-326. 2005. https://doi.org/10.1007/3-540-28244-0_14
[32] R. Gittins, S. Hope, “A study of Human Solutions in Extreme Programming,” in Proc. PPIG 13, Bournemouth, UK, Apr. 2001 Univ. Wales Bangor, pp. 41-51. 2001. [Online]. Available: https://pdfs.semanticscholar.org/6117/7dcb504e5eab9e9e3f5c2e1335f115c5b208.pdf
[33] K. Beck, et al.(2001). Manifesto for agile software development. [Online]. Available: https://www.agilealliance.org/.
[34] J. Biolchini, P. Gomes Mian, A. C. Cruz Natali, and G. H. Travassos. (2005, May). Systematic Review in Software Engineering. [Online]. Available: ftp://161.24.19.221/ele/ivo/Leitura/biolchini_2005.pdf
[35] B. Kitchenham. (2004, Jul.), Procedures for performing systematic reviews. [Online] Available: http://www.inf.ufsc.br/~aldo.vw/kitchenham.pdf
[36] L. Layman, L. Williams, and L. Cunningham, “Exploring extreme programming in context: An industrial case study,” in Proc. Agile Develop. Conf., Salt Lake City, UT, US, 2004, pp.32-41. doi: 10.1109/ADEVC.2004.15