eprintid: 1939 rev_number: 29 eprint_status: archive userid: 2002 dir: disk0/00/00/19/39 datestamp: 2009-11-19 11:46:40 lastmod: 2023-03-13 10:34:28 status_changed: 2023-03-13 10:34:28 type: thesis metadata_visibility: show item_issues_count: 0 creators_name: Rodriguez Gonzalez, Pilar creators_id: pilar dot rodriguez dot gonzalez at upm dot es contributors_name: Garbajosa Sopeña, Juan contributors_id: jgs at eui dot upm dot es contributors_orcid: 0000-0003-0161-3485 title: Estudio de la Aplicación de Metodologías Ágiles para la Evolución de Productos Software ispublished: unpub subjects: informatica keywords: Metodologías Ágiles, Agile Methods, Evolución Software, Software Evolution, abstract: Las actuales características de dinamismo y variabilidad de la industria software han precisado replantear los cimientos sobre los que se sustenta el desarrollo software convencional. Un reciente estudio realizado por Boehm en [1], sobre la tendencia en ingeniería del software, indica que el mercado actual está caracterizado por el rápido desarrollo de aplicaciones y la reducción de la vida de los productos. En este entorno inestable la ventaja competitiva se encuentra en aumentar la productividad y satisfacer las variantes necesidades del cliente en el menor tiempo posible para proporcionar un mayor valor al negocio. Ante esta situación, cabe reflexionar sobre el grado de adaptación de las metodologías convencionales a estas circunstancias. La mayoría de los estudios coinciden en que el carácter normativo y la fuerte dependencia de planificaciones previas al desarrollo que definen a las metodologías convencionales, implican que resulten excesivamente pesadas para cubrir las necesidades de un amplio porcentaje del mercado software actual. En los últimos años las metodologías ágiles han irrumpido con fuerza como un intento de despojar al desarrollo software del estricto corsé planteado por las metodologías convencionales, y son muchas las organizaciones punteras con creciente interés en las mismas. La novedad de estas metodologías hace que, aunque existen evidencias de los beneficios que pueden proporcionar en proyectos de pequeña envergadura, aun resulte difícil escalar a grandes proyectos. Algunos estudios recientes indican que la productividad y calidad del software aumenta aplicando los principios y valores que las rigen. No obstante, la mayoría de estos estudios se limitan a narrar observaciones cualitativas. Entre los que utilizan datos empíricos para apoyar sus conclusiones, los resultados son tan dispares como una mejora del 337% en la productividad en [2] y un decremento del 44% en [3]. Por este motivo, desde las organizaciones que promueven el desarrollo ágil de aplicaciones se solicita la realización de estudios sobre metodologías ágiles que permitan constatar o reprobar sus beneficios. El objeto de esta investigación es estudiar la evolución de un producto software concreto utilizando las directrices marcadas por metodologías ágiles, en concreto por la metodología SCRUM. Se presentan los resultados obtenidos en aspectos tales como las características del producto a lo largo de la evolución, incluyendo estimaciones de la calidad del producto obtenido, la agilidad en el desarrollo, y evaluando el esfuerzo dedicado a adoptar la metodología. Además, dado que el factor humano es fundamental en este tipo de metodologías, se presenta un análisis cualitativo del desarrollo del proyecto. Cabe destacar que el estudio aquí presentado se enmarca en una de las líneas de investigación del grupo SYST (System and Software Technology Group) de la Universidad Politécnica de Madrid, que participa en el proyecto ITEA2 Flexi [4]. En este proyecto se persigue mejorar la competitividad de la industria software europea proporcionando un entorno flexible, rápido y ágil para el desarrollo de aplicaciones que permita adaptarse a las actuales características del mercado para pasar de la idea al producto en seis meses. date: 2008-09 date_type: published full_text_status: public pages: 146 institution: Informatica department: Estructura_Informacion thesis_type: masters refereed: TRUE referencetext: [1] Boehm, B.: A View of 20th and 21st Century Software Engineering. In: 28th international conference on Software engineering, pp. 12--29. Shanghai, China (2006) [2] Dalcher, D., Benediktsson, O., y Thorbergsson, H., “Development Life Cycle Management: A Multiproject Experiment”, Proceedings of the 12th International Conference and Workshops on the Engineering of Computer Based Systems (ECBS’05), 2005 [3] Wellington, A., Briggs, T., y Girard, C.D., “Comparison of Student Experiences with Plan-Driven and Agile Methodologies”, Proceedings of the 35th ASEE/IEEE Frontiers in Education Conference, 2005. [4] ITEA 2 Flexi. In: http://www.flexi-itea2.org/index.php [5] Fleeger, P.: "Software Engineering. 3ed." Prentice Hall, 1999. [6] Dyba, T., Dingsoyr, T.: Empirical Studies of Agile Software Development: A Systematic Review, Information and Software Technology doi: 10.1016/j.infsof.2008.01.006 (2008) [7] Capiluppi, A., Fernandez-Ramil, J., Higman, J., Sharp, H.C., Smith, N.: An empirical study of the evolution of an agile-developed software system. In: 29th International Conference on Software Engineering (ICSE), pp. 511{518. (2007) [8] Mann, C., Maurer, F.: A case Study on the Impact of Scrum on Overtime and Customer Satisfaction. In: Proceedings of the Agile Development Conference (ADC’05). IEEE Computer Society (2005) [9] www.agilealliance.org [10] Boehm, B.W.: Software Engineering Economics. In: Prentice Hall (1981). ISBN: 0138221227 [11] Lindvall, et al..: Empirical Findings in Agile Methods. In: Lecture Notes In Computer Science; Vol. 2418. Proc. of the Second XP Universe and First Agile Universe Conference on Extreme Programming and Agile Methods - XP/Agile Universe. Berlin, Germany (2002) [12] Nerur, S., Mahapatra, R., Mangalaraj, G.: Challenges of migrating to agile methodologies. In: Commun. ACM, vol. 48, no. 5, pp. 72-78 (2005) [13] Qumer, A., Henderson-Sellers, B.: An evaluation of the degree of agility in six agile methods and its applicability for method engineering. In: Information and Software Technology. (2007) [14] Beck, K., et al.: The Agile Manifesto. Manifesto for Agile Software Development. www.agilemanifesto.org  [15] Cao, L., Ramesh, B.: Agile Requirements Engineering Practices: An Empirical Study. In: IEEE Computer Society Press Los Alamitos, CA, vol 25, pp-60-67 (2008) [16] Robinson, H. Sharp, L., “The social side of technical practices in eXtreme Programming and Agile Processes in Software Engineering”, Lecture Notes in Computer Science. Berlin: Springer Verlag, 2005, pags 139-147. [17] Ilieva, S., Ivanov, P., Stefanova, E., “Analyses of an agile methodology implementations”, Proceedings 30th Euromicro Conference, 2004, IEEE Computer Society Press, pags 326 - 333. [18] Canós, J.H., Letelier, P., Penadés, M.C., “Metodología Ágiles en el Desarrollo Software”. VIII Jornadas de Ingeniería de Software y Bases de Datos, JISBD 2003. [19] Takeuchi H. and Nonaka I., The New New Product Development Game. Harvard Business Review (January 1986), pp 137-146, 1986. [20] Schwaber, K., Beedle, M.: Agile Software Development with SCRUM. In: Conchango (2006) ISBN: 0130676349 [21] Cohen, M. User Stories Applied for Agile Software Development. The Addison-Wesley Signature Series. 2004. ISBN: 0321205685 [22] Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change. Second Edition. In: Addison Wesley Professional, Boston (November, 2004) [23] http://www.extremeprogramming.org/ [24] A. Cockburn, Crystal Clear: A Human-Powered Methodology for Small Teams: Addison-Wesley, 2004, ISBN 0-201-69947-8. [25] http://www.cystalmethodologies.org [26] J. Stapleton, DSDM: Business Focused Development, Second ed: Pearson Education, 2003, ISBN 978-0321112248. [27] S.R. Palmer and J.M. Felsing, A Practical Guide to Feature-Driven Development. Upper Saddle River, NJ: Prentice Hall, 2002, ISBN 0-13-067615-2. [28] M. Poppendieck and T. Poppendieck, Lean Software Development - An Agile Toolkit for Software Development Managers. Boston: Addison-Wesley, 2003, ISBN 0-321-15078-3. [29] Merisalo-Rantanen, H., Tuunanen T., Rossi, M.: Is Exreme Programming Just Old Wine in New Bottles: A Comparison of Two Cases. In: J. Database Management, vol 16, nº4, pp-41-61 (2005) [30] Paetsch, F.E., Eberlein, A., and Maurer, F.: Requirements Engineering and Agile Software Development. In: Proc. 12th IEEE Int’l Workshops Enabling Technologies: Infrastructure for Collaborative Enterprises (Wetice), pp. 308 -313. Linz, Austria (2003) [31] Sillitti, A., Ceschi, M., Russo, B., Succi, G.: Managing Uncertainty in Requirements: A Survey in Documentation-Driven and Agile Companies. In: 11th IEEE International Software Metrics Symposium (Metrics 05), pp17. IEEE Press (2005) [32] Ceschi, M., Sillitti, A., Succi, G., De Panfilis, S. : Project Management in Plan-Based and Agile Companies. In : IEEE Software, vol. 22, no. 3, pp. 21-27 (2005) [33] Sutherland, J.: Inventing and Reinventing Scrum in five Companies. In: http://www.agilealliance.org/system/article/file/888/file.pdf, (Accesed May 2008) [34] Schwaber, K.: Agile Project Management with Scrum. In: Microsoft Press, Redmond, WA (2004) [35] Svensson, H., y Host, M., “Views from an organization on how agile development affects its collaboration with a software development team”, Lecture Notes in Computer Science, vol. 3547. Berlin: Springer Verlag, 2005, pags 487-501 [36] Pinheiro, F.A.C.: Requirements Honesty. In: Proc. 2002 International Workshop Time-Constrained Requirements Eng. (2002). [37] Grünbacher, P., Hofer, C.: Complementing XP with Requirements Negotiation. In: Proceedings 3rd Int. Conf. Extreme Programming and Agile Processes in Software Engineering., pp.105--108. Springer (2002) [38] Nawrocki, J., Jasinski, M., Walter, B., Wojciechowski, A.: Extreme Programming Modified: Embrance Requirements Engineering Practices. In: Proc. IEEE Joint International Conference Requirements Engineering. (RE 02). IEEE CS Press, pp. 303-310 (2002) [39] Araujo, J., Ribeiro, J.C.: Towards an Aspect-Oriented Agile Requirements Approach. In: Proceedings 8th International Workshop Principles of Software Evolucion, pp 140-143. IEEE Press (2005) [40] Lee, M.: Just-in-Time Requirements Analysis-the Engine That Drives the Planning Game. In: Proceedings 3rd International Conference Extreme Programming and Agile Processes in Software Engineering., pp.138--141. Springer (2002) [41] Denise M. Woit: Requirements interaction management in an eXtreme programming environment: a case study. In: 27th International Conference on Software Engineering, pp489-494 ICSE 2005 (2005) [42] Brede Moe, N., T. Dybå, T. Dingsøyr, “Understanding self-organizing teams in agile software development”. pp.76-895 19 th Australian Conference on Software Engineerging (Marzo, 2008) [43] Halpern, K., I. “Machine independence: its technology and economics” Communications of the ACM, Vol. 8, p. 782-785 (1965) [44] Wegner, P. “Research directions in software technology”. Proceedings from 3rd international conference on Software Engineering, p243-259 (1978) [45] Lehman, M.M., Belady, L.A. “Program Evolution: Processes of Software Change”. London: Academic Press (1985) [46] Bennett, K.h., Xu, J. “Software Services and Software Maintenance” Proceedings of the Seventh European Conference of Software Maintenance and Reengineering, p3-12 (2003) [47] Madhavji, N., Fernandez-Ramil, J., Perry, D.E., “Software evolution and feedback – theory and practice”. Wiley (2006) [48] Boehm, B., Turner, R., “Balancing Agility and Discipline. A Guide for the Perplexed” ISBN 0321186125 Addison-Wesley (2004) [49] Chapin, N., “Agile Method’s Contributions in Software Evolution”. Proceedings of the 20th IEEE International Conference on Software Maintenance, p.522-522 (2004) [50] Wernick P. and Hall T., ‘The Impact of Using Pair Programming on System Evolution: a Simulation-Based Study’, Proc. ICSM 2004, 11-14 Sept: 422 – 426. (2004) [51] Pries-Heje, J., Lindwall, D. “Evolution or Maintenance of Quality Software: An exploratory interview study in nine Swedish organisation”. Proceedings of IRIS (2006) [52] Alarcón, Pedro P. “Especificación de un modelo de operaciones aplicable a procesos de desarrollo y operación de sistemas con software”. PhD thesis, Facultad de Informática. Universidad Politécnica de Madrid. 2008. [53] Kitchenham, B.A.; S. L. Pfleeger; L. M. Pickard; P. W. Jones; D. C. Hoaglin; K. El Emam; and J. Rosenberg, "Preliminary Guidelines for Empirical Research in Software Engineering," IEEE Transactions on Software Engineering, vol. 28, No. 8, pp. 721-733, 2002. [54] Williams, Laurie A.; Layman, Lucas; Krebs, William, “Extreme Programming Evaluation Framework for Object-Oriented Languages Version 1.4”, NCSU Computer Science TR-2004-18, June 2004. [55] Endres, A; Rombach D, “A Handbook of Software and Systems Engineering, Empirical Observations, Laws and Theories”, Institut Experimentelles Software Engineering, Fraunhofer. Ed. Pearson Addison Wesley, 2003. [56] B. Magro, J Garbajosa, J. Perez-Benedi: A Software Product Line Definition for Validation Environments. In: Software Product Lines Conference SPLC 2008. [57] Alarcón Pedro P. and Garbajosa J., “Identifying application key knowledge through system operations modeling” in Proceedings of the 6th IEEE International Conference on Cognitive Informatics (ICCI’07), (Lake Tahoe, California), pp. 246–254, IEEE CS Press, August 2007. [58] B. Boehm, “Software Risk Management: Principles and Practices” IEEE Software, vol. 8. Pp. 32-41, 1991. [59] ECSS-E-40 European Cooperation for Space Standardization. ISSN 1028-396X. Marzo, 2005 [60] http://www.rallydev.com/products/editions/ [61] http://subversion.tigris.org/ [62] http://www.eclipse.org/ [63] http://www.egroupware.org/   [64] Diaz, Y., Garbajosa, J., “Guidelines for results collecting-practices”. FLEXI project deliverable. Project info: http://www.flexi-itea2.org. ITEA2 proposal no. 06022 [65] Juristo, N., Moreno, A.M., “Basic of Software Engineering Experimentation”. Universidad Politécnica de Madrid. [66] Hartmann, D., Dymond, R., “Appropiate Agile Measurement: Using Metrics and Diagnostics to Deliver Business Value”. Proceedings of AGILE 2006 Conference (AGILE’06) [67] J. Díaz, Agustín Yagüe, Pedro P. Alarcón and Juan Garbajosa. “A Generic Gateway for Testing Heterogeneous Components in Acceptance Testing Tools”. Aceptado en 7th IEEE International Conference on Composition-Based Software Systems (ICCBSS 2008).Madrid. Spain. February 2008 [68] Rodriguez, P., Yagüe, A., Alarcón, P.P., Garbajosa, J., “Metodologías ágiles desde la perspectiva de la especificación de requisitos funcionales y no funcionales”. 13th Conference on Software Engineering and Databases (JISBD’08) [69] Kassab, M., Daneva, M., Ormandjieva, O.: Scope Management of Non-Functional Requirements. In: EUROMICRO '07: Proceedings of the 33rd EUROMICRO Conference on Software Engineering and Advanced Applications, pp.409—417. Washington (2007) [70] Rodriguez-Dapena, P., "Software safety certification: a multidomain problem," Software, IEEE , vol.16, no.4, pp.31-38, Jul/Aug 1999 rights: none master_title: Tecnologías de la Información (extinguido) citation: Rodriguez Gonzalez, Pilar (2008). Estudio de la Aplicación de Metodologías Ágiles para la Evolución de Productos Software. Thesis (Master thesis), Facultad de Informática (UPM) . document_url: https://oa.upm.es/1939/1/TESIS_MASTER_PILAR_RODRIGUEZ_GONZALEZ.pdf