Aplicando Scrum y Prácticas de Ingeniería de Software para la Mejora Continua del Desarrollo de un Sistema Ciber-Físico - Applying Scrum and Software Engineering Practices to Continuously Improve the Development of a Cyber-Physical System
DOI:
https://doi.org/10.32870/recibe.v6i1.60Keywords:
Sistemas Ciber-Físicos, Scrum, Arquitectura de Software, Métodos ÁgilesAbstract
En la actualidad, presiones competitivas fuerzan a las compañías a desarrollar productos y servicios en el menor tiempo posible. Una alternativa para lograrlo es el uso de métodos de desarrollo ágiles como Scrum. A pesar de que Scrum ha sido usado exitosamente en muchos dominios de aplicación, no existe un claro entendimiento sobre cómo aspectos específicos del desarrollo de Sistemas Ciber-Físicos deben ser tratados cuando se utiliza este método sin que afectar la agilidad. En este artículo se describen algunos problemas técnicos y organizacionales que surgieron durante el desarrollo de un Sistema Ciber-Físico y cómo se resolvieron incorporando algunas prácticas de ingeniería de software. Compartiendo esta experiencia se pretende ayudar a otros equipos de desarrollo a ganar un mejor entendimiento sobre algunos de los problemas relacionados a este tipo de sistemas y cómo enfrentarlos con las prácticas descritas.Abstract: Competitive pressures force companies to develop products and services in less time. An alternative to achieve this is using agile methods such as Scrum. Although Scrum has been successfully utilized in many application domains, there is not a clear understanding about how specific aspects of the development of Cyber-Physical Systems should be addressed when using Scrum without lost of agility. This article describes some technical and organizational problems that arose during the development of a Cyber-Physical System and how they were addressed by incorporating some software engineering practices. Sharing this experience pretends to help development teams to gain a better understanding of some of the problems related to this type of systems and how to deal with them by adopting the described practices.Keywords: Cyber-Physical Systems, Scrum, Engineering Practices, Agile Methods.References
Bass, L., Clements, P., & Kazman, R. (2012). Software architecture in practice (1st ed.). Upper Saddle River, N.J.: Addison-Wesley.
Brown, S. (2016). Software Architecture for Developers (1st ed., p. 84). Leanpub.
Fairbanks, G. (2010). Just Enough Software Architecture (1st ed., p. 10). Colorado: Marshall & Brainerd.
Fowler, M. (2006). Continuous Integration. martinfowler.com. Retrieved 28 February 2017, from https://www.martinfowler.com/articles/continuousIntegration.html.
Leffingwell, D. (2008). Scaling software agility (1st ed.). Upper Saddle River, N.J: Addison-Wesley.
Leffingwell, D. & Reinertsen, D. (2012). Agile software requirements (1st ed.). Upper Saddle River, N.J: Addison-Wesley.
Meyer, B. (2014). Agile! (1st ed., p. 139). Zurich: Springer International publishing.
Moreira, M. (2009). Being Agile (1st ed., p. 30). New York: Apress.
Rajkumar, R., Lee, I., Sha, L., & Stankovic, J. (2010). Cyber-physical systems: the next computing revolution. Design Automation Conference, (p. 47)
Sutherland, J. & Schwaber, K. (2013). The Scrum Guide (1st ed.). Retrieved from http://www.scrumguides.org/scrum-guide.html
The Standish Group International, Inc.. (2016). The chaos report (p. 3).
Visser, J., Rigal, S., Wijnholds, G., & Lubsen, Z. (2017). Building Software Teams: Ten Best Practices for Effective Software Development (1st ed., p. 23). California: O´REILLY.
Wagner, S. (2014). Scrum for a Cyber-Physical Systems: A Process Proposal. En Proceedings Of The 1St International Workshop On Rapid Continuous Software Engineering, (p. 1).
Wheeler, D. (2016). SLOCCount. Retrieved 25 February 2017, from http://www.dwheeler.com/sloccount/