Skip to content
juan edited this page Sep 12, 2023 · 1 revision

Scrum

¿Por qué Scrum?

Las metodologías de desarrollo ágiles, a lo largo de la última década, han ido adquiriendo gran popularidad, hasta convertirse en las principalmente utilizadas por un amplio número de empresas del sector. Ejemplos de empresas que actualmente están aplicando metodologías ágiles son, por ejemplo, Amazon, Netflix o Spotify.

La principal razón del éxito de las metodologías ágiles radica en que, a diferencia de las metodologías tradicionales, fuertemente planificadas y más rígidas, permiten explotar de manera muy adecuada una cualidad propia e intrínseca de los productos software, que es su alta maleabilidad o facilidad de cambio. El software, a diferencia de otros productos de ingeniería como puentes o túneles, no implica la adopción de ciertas decisiones de carácter irreversible y, por tanto, puede modificarse durante prácticamente cualquier fase de su desarrollo sin incurrir en grandes gastos materiales.

Por ejemplo, el dueño de un producto software podría decidir, durante el desarrollo de dicho producto, que una cierta funcionalidad que había encargado, una vez implementada, y a pesar de ser conforme a las especificaciones iniciales, no es exactamente lo que deseaba, por lo que desea realizar una serie de modificaciones sobre la misma a fin de adecuar el producto a sus intereses. De igual modo, el dueño del producto, a medida que va avanzando su desarrollo y lo va probando, podría descubrir nuevas funcionalidades que desearía incluir en su producto. Estas modificaciones, al ser el software altamente maleable, podrían incorporarse al producto software bajo desarrollo si tanto el presupuesto como el plan de desarrollo del producto son también lo suficientemente flexibles como para soportar estas modificaciones.

Sin embargo, las metodologías tradicionales, adaptadas de ingenierías clásicas como la Ingeniería Civil o la Naval, no están diseñadas para soportar esta flexibilidad en el desarrollo de un producto software. Dichas metodologías se centran la definición detallada de un conjunto de requisitos fijos e inamovibles a partir de los cuales sea posible elaborar un plan de desarrollo lo más detallado y preciso posible, con unas fechas de entrega fijas y claramente determinadas, así como un presupuesto bien definido y cerrado. Por tanto, estas metodologías no son propicias o favorables a los cambios durante el desarrollo del proyecto.

Con el objetivo de solventar estas deficiencias, en el año 2001 una serie de personalidades relevantes dentro del mundo del desarrollo software firmaron el manifiesto ágil. Este manifiesto pretendía ser la base sobre la cual desarrollar un nuevo tipo de metodologías de desarrollo, denominadas ágiles, que se adaptasen a los cambios que pudiesen surgir durante el desarrollo de un producto software y que poco a poco fuesen reemplazando a las metodologías tradicionales. Merece la pena destacar que, en este caso, el adjetivo ágil, del inglés agile, se refiere a la acepción del término relativa a ligero y con facilidad de movimiento más que a la más comúnmente utilizada de rápido o veloz. El objetivo general de este proyecto es que el alumno aprenda a trabajar dentro de un equipo de desarrollo software conforme a una metodología de desarrollo ágil. Para ello deberá desarrollar en equipo un pequeño producto software utilizando una metodología ágil, bajo un entorno y condiciones lo más parecidas posibles a las de un proyecto software real. Como metodología de desarrollo ágil se utilizará Scrum, por ser la metodología ágil más utilizada actualmente.