Está en la página 1de 16

AEAE 2: Reconociendo las Metodologías ágiles

Tarea: Informe metodología ágil seleccionada

Por

Laura Cuartas Rios


Juan Camilo Acevedo Moreno

ASIGNATURA
Ingeniería de Software II

Institución Universitaria Pascual Bravo


Medellín
2020
Índice
Índice 2
INTRODUCCIÓN 2
DESARROLLO 4
Propósito 4
Instrucciones 4
Instrucciones de elaboración del producto (Informe de Metodología Ágil seleccionada) 4
Rúbrica 4

Importancia de las metodologías ágiles? 5

¿Qué es Scrum? 6

¿Por qué Scrum? Cinco razones 6

La importancia de Scrum para el desarrollo de proyectos 6

La empresa que aplica Scrum como metodología ágil 7

Diseño del formato para ingresar las historias de usuario 8

Metodología Scrum para el desarrollo de páginas web 10

¿Cómo se implementa el proyecto con Scrum? 11

CONCLUSIONES 13
BIBLIOGRAFÍA 14

INTRODUCCIÓN

2 de 16
El siguiente documento pretende dar un informe de la metodología ágil seleccionada en el caso
de estudio hipotético en la compañía Aguas de la Ciudad S.A.S en el desarrollo de un proyecto
de software para su sistema de operaciones. Las metodologías ágiles permiten un diseño en el
que los requerimientos del software cambian, a veces rápidamente durante el proceso de
desarrollo. El uso de las metodologías de desarrollo de software son una respuesta a la
necesidad de gestionar de manera eficiente los procesos complejos de desarrollo que hasta
finales de la década de los 60’s ofrecen soluciones a sistemas cada vez más complejos como
respuesta a las nuevas necesidades pero es un reto muy complejo que no llega a ser resuelto
con la inmediatez y la precisión necesarias. Los proyectos no llegan a buen puerto, o lo hacen
muy tarde. Es entonces la llamada crisis del software la que induce la necesidad de desarrollar
junto a la ingeniería de software una gestión de proyectos basada en la planificación y un
proceso de producción de software basado en la producción industrial de productos donde la
calidad del resultado depende de la calidad de los procesos. Es así como se emulan los procesos
industriales ya conocidos para desarrollar proyectos de software en entornos estable y
predecible mediante la planificación , ejecución y seguimiento a través de procesos sistemáticos
y repetibles logra desarrollar grandes sistemas de software de larga duración, como los sistemas
aeroespaciales y gubernamentales. Para este informe vamos a proponer y justificar la
metodología que más se ajuste al tamaño del proyecto y los recursos humanos con los que se
cuentan en el caso de estudio.

3 de 16
DESARROLLO

Propósito
Esta TIA tiene como propósito que usted seleccione y justifique la metodología ágil a utilizar
según las características de un proyecto.

Instrucciones

En un documento, junto con sus compañeros del grupo de estudio, escogen de la información
estudiada la Actividad de EAE 2: Reconociendo las Metodologías ágiles. Una de las allí
presentadas o escogen alguna que por medio de su experiencia laboral conozcan.

Como mínimo debe incluir 5 criterios que debe justificar en su elección.

Instrucciones de elaboración del producto (Informe de Metodología Ágil


seleccionada)

Conformar un equipo de trabajo, en caso de no conformar puede presentarse de manera


individual. Presentar la propuesta en el formato que desee y enviarlo por la plataforma

Rúbrica
4.5 unidad Presentación del diseño de del formato para ingresar las Historias de usuario
0.5 unidad Fuentes de consulta incluir una en inglés

Total, calificación posible: 5.0

4 de 16
Importancia de las metodologías ágiles?

Para hablar de la importancia de las metodologías ágiles es necesario hablar de metodologías


tradicionales. Ya es bien sabido para nosotros que estas últimas se caracterizan por su alto nivel
de exhaustividad, planeación y documentación, pues su base de trabajo es el estudio previo de
las necesidades del cliente y el desarrollo de la solución con base a estos estudios. Sin embargo,
la competitividad y la innovación han cobrado cada vez más protagonismo, a lo cual las
organizaciones se ven obligadas a aplicar cambios inmediatos sin siquiera haber ajustado sus
anteriores formas de trabajo. Así las cosas, una solución estrictamente ajustada y terminada
como la que presenta una metodología tradicional puede no ser la respuesta inmediata y
completa que responda a estos cambios.

Es aquí cuando cobra importancia el uso de metodologías ágiles, pues su finalidad es


acomodarse a las necesidades del cliente y responder a los cambios aun cuando ya el desarrollo
está en su fase final. Sabemos muy bien que el mundo debe adaptarse cada vez más rápido a los
cambios y el desarrollo ágil es la opción más apropiada para responder a estas necesidades.
Cobra importancia la flexibilidad, pues se trata de diseñar un software de calidad que responda
a todo tipo de cambios en un corto lapso de tiempo; importa también la cooperación, pues ante
las nuevas necesidades es imperativo buscar soluciones inmediatas, aun cuando no haya
antecedentes; y finalmente es importante la comodidad del cliente, pues lo que se pretende es
que sea sencillo y efectivo, con menos pasos y con formas más ágiles de asimilar un software y
sus funciones.

5 de 16
Escogimos una metodología...pero ¿Qué es Scrum?

¿Scrum o scrums? La palabra más correcta es scrum. Se trata de cronogramas de actividades


de los proyectos divididos en pequeños bloques o Sprints, con el objetivo de ir revisando y
mejorando la fase anterior. El propio término “Scrum” proviene del mundo del rugby. El sector
del desarrollo de software es el principal representante de este tipo de metodología ágil, scrum
software.​ ​(Sinnaps, 2020)

¿Por qué Scrum? Cinco razones

● El producto de software se desglosa en un conjunto de piezas manejables y


comprensibles.
● Los requerimientos inestables no retrasan el progreso.
● Todo el equipo tiene conocimiento de todo y, en consecuencia, se mejora la
comunicación entre el equipo.
● Los clientes observan la entrega a tiempo de los incrementos y obtienen
retroalimentación sobre cómo funciona el producto.
● Se establece la confianza entre clientes y desarrolladores, a la vez que se crea
una
cultura positiva donde todos esperan el triunfo del proyecto.
● Hacia la excelencia, proceso de mejora continua (retrospectivas de sprint).

La importancia de Scrum para el desarrollo de proyectos

Scrum es una de las metodologías ágiles más conocidas para la gestión de proyectos, consiste
en un conjunto de prácticas y roles que permiten el trabajo de entregas incrementales de un
producto. Esta metodología se utiliza en un entorno lleno de innovación, competitividad,
productividad y, sobre todo, agilidad.

6 de 16
El término "ágil" generalmente se refiere a ser capaz de moverse o responder de forma rápida y
fácil; a ser ágil. Ágil se basa en la planificación adaptativa y en el desarrollo y entrega de modo
iterativo. Se centra principalmente en el valor de las personas al hacer el trabajo con eficacia,
por esta razón Scrum es un proceso de la metodología Ágil que se usa para agilizar la entrega de
proyectos de una manera colaborativa generando ventajas en la productividad, calidad y
seguimiento diario de avances del proyecto logrando que los integrantes estén comunicados y
de esta forma lograr avances y entregas tempranas. (Trycore, 2020)

La empresa que aplica Scrum como metodología ágil

En nuestro caso hipotético la compañía Aguas de la Ciudad S.A.S es una empresa colombiana de
servicios de acueducto, alcantarillado y tratamiento de aguas, la firma provee a la ciudad
servicios para un total de 3.5 millones de usuarios. La compañía tiene 4.500 empleados y para el
año 2018 facturó unas utilidades de 1.3 billones de pesos.

El proyecto bajo investigación de interés para la compañía es el desarrollo de un sistema de


gestión de operaciones (SiGO) encomendado a una pequeña compañía de software LCJC
Software S.A.S la cual es especialista en el sector de los sistemas de desarrollo ágil. El sistema
será desarrollar una interfaz de usuario basada en un desarrollo web y con un backend de
interfaz tecnológica basada en un sistema de planificación de recursos empresariales. El
proyecto se organizó en 4 subproyectos para proveer soporte tecnológico desde el área de
administración del cliente hasta el mantenimiento de los sistemas de alcantarillado.

Diseño del formato para ingresar las historias de usuario


Las historias de usuario son la abstracción de las necesidades que el cliente quiere que el
software solucione para su organización, en en el marco del desarrollo de software en el marco
de las metodologías ágiles para el proyecto hipotético se usaron historias de usuario como
modelo de recolección de los requerimientos funcionales y no funcionales.

En las historias de usuario se tienen en cuenta los roles de usuario, la funcionalidad y el


resultado esperado en una frase corta. En el ejercicio de las entrevistas se le pidió al usuario
también escribir en una frase corta. El diseño del formato para ingresar las historias de usuario
siguió el modelo consignando su código de procedimiento, el uso para el que se requería la
funcionalidad, el beneficio y los criterios de aceptación. Finalmente también se tiene en cuenta
la obligatoriedad de las restricciones del requerimiento y la evaluación que se tiene obtenida del
backlog de tareas.
7 de 16
8 de 16
Ejemplo de llenado del formato para ingreso de las historias de usuario

9 de 16
Resumen historias de usuario para componer backlog:
10 de 16
Metodología Scrum para el desarrollo de páginas web
La metodología Scrum es una metodología de trabajo en equipo muy eficaz, que tiene como
objetivo obtener resultados de una manera más eficiente en la programación de aplicaciones
móviles y web.​ (searchdatacenter, 2020)

Se traduce en módulos interconectados y flexibles que componen el producto final, donde la


comunicación constante con el cliente es fundamental para obtener la mejor calidad en el
resultado final.

Esta metodología de trabajo es utilizada por Imaginanet para todos los proyectos que utilizan
HTML5, comercio electrónico, redes sociales, aplicaciones móviles o tabletas, donde el cliente
se involucra de lleno desde el principio para asegurar su satisfacción con el producto final.

¿Cómo se implementa el proyecto con Scrum?

11 de 16
El proyecto se organizó en 3 fases. En una primera fase exploratoria de 3 meses para la captura
de los requerimientos y la planeación del bosquejo, donde se establecen los objetivos generales
del proyecto y el diseño de la arquitectura de software. Esto permitió a los desarrolladores
tener una documentación comprensiva de los requerimientos con la interacción con la
organización del cliente para el desarrollo del sistema SiGO. En esta importante fase de
desarrollo un equipo de 12 desarrolladores con varios roles tales como un scrum master,
analista, atención al cliente, un administrador de subproyecto y desarrolladores trabajaron en el
piso de sistemas del edificio central propiedad de Aguas de la Ciudad S.A.S. El equipo de trabajo
también consistía de un número variado de usuarios entre stakeholders y el cliente donde hay al
menos un representante de los otros subproyectos, aunque los usuarios no estuvieran todo el
tiempo en el sitio. Con esto se estableció una estructura de administración muy organizada que
permitió una comunicación muy fluida entre los otros subproyectos. El equipo de desarrollo
consistía de scrum masters con una amplia experiencia en sistemas de desarrollo ágil y un staff
joven bien educado y con poca experiencia en los métodos de desarrollo ágil y pocos de ellos
habían participado de proyectos de una amplia envergadura.

Los datos recolectados para el caso de estudio fueron semiestructuradas por medio de
entrevistas de usuarios sin límite de tiempo que fueron conducidas por parte del equipo de
programadores por un periodo de 5 días. El equipo de investigadores realizó 31 entrevistas
entre trabajadores, stakeholders, el cliente y futuros usuarios de la organización. Las entrevistas
incluyeron cerca de la mitad de los desarrolladores, la tabla muestra los roles en un equipo de
scrum para el subproyecto de administración del cliente.

Nombre Rol Afiliación

Mr. A Scrum master/Analista/Desarrollador LCJC Software

Mr. B Administrador de proyecto/Representante del Aguas de la Ciudad


Cliente

Mr. C Desarrollador LCJC Software

Mr. D Desarrollador LCJC Software

Mr. E Administrador de subproyecto/usuario en sitio Aguas de la Ciudad

Mr. F Contacto de subproyecto/Analista/Desarrollador LCJC Software

Mr. G Contacto de subproyecto/Analista/Desarrollador LCJC Software

Mr. H Jefe de Soporte Tecnológico Aguas de la Ciudad

12 de 16
Mr. K Desarrollador LCJC Software

Mr. L Contacto de subproyecto/Analista/Desarrollador LCJC Software

Mr. M Desarrollador LCJC Software

La siguiente fase duró 8 meses, se dio comienzo a los ciclos de ​sprints ​en los cuales en cada ciclo
se desarrolló un incremento del sistema. Un sprint dura 30 días y en este comienza con una
reunión de planeación que se realizaba el primer día del sprint y duraba hasta 8 horas, en el que
se establecen los objetivos necesarios y alcanzables, las tareas retrasadas (​backlogs​) y las
tecnologías disponibles. Se evalúan las tareas ya realizadas, se proponen las nuevas y la meta
del mes(​el sprint goal​).

Todos los días al iniciar labores se realizan reuniones scrum que son reuniones cortas de
máximo 15 minutos dirigida por el scrum master a los que atiende los representantes del
cliente, stakeholders y el equipo de desarrollo, se responden las siguientes preguntas: ¿Qué se
hizo ayer? ¿Qué se hará en el día? ¿De qué manera? se actualiza el backlog y la lista de bloques.

Al finalizar los 30 días del sprint se realiza una reunión de revisión (​sprint review​), durante el
sprint review el equipo de scrum y los stakeholders colaboran en relación a lo que fue hecho
durante el sprint. Se entrega el incremento para conocimiento de todos, se analiza en
retrospectiva yse responde a las preguntas de ¿qué trabajó bien?, ¿qué puede mejorar?, ¿cuál
será el compromiso del equipo para el siguiente sprint?. Todos los que atienden pueden
intervenir en el desarrollo de las siguientes cosas que se pueden hacer para dar valor al
producto y establecer objetivos alcanzables. Es una discusión informal en la que se anuncia la
siguiente reunión sprint.

13 de 16
CONCLUSIONES

Para este trabajo hemos aprendido a seleccionar y aplicar una metodología ágil para el
desarrollo de un proyecto de software hipotético el cual es un proyecto razonablemente grande
debido al tamaño de la empresa y las necesidades que el cliente quiere solucionar con el
software. Durante la selección de la metodología y la elaboración del informe en el grupo
pudimos aprender cómo funciona el marco de la metodología y no fue difícil llegar a la
conclusión de que las metodologías ágiles también se pueden aplicar a grandes proyectos que
tradicionalmente requieren una gran planeación de todas las necesidades y conocimiento de
todos los requerimientos, lo cual es totalmente imposible. La metodología Scrum nos permitió
darnos cuenta que los proyectos de software se pueden llevar a cabo completamente en los
tiempos planeados sin contratiempos ya que se cuenta siempre con problemas inesperados.

14 de 16
BIBLIOGRAFÍA

imaginanet. (31 de 08 de 2020). ​Metodología Scrum para el desarrollo de aplicaciones web​.


Obtenido de Metodología Scrum para el desarrollo de aplicaciones web:
https://www.imaginanet.com/scrum-methodology-for-web-apps-development.html

searchdatacenter. (31 de 08 de 2020). ​How does Scrum methodology help IT project


management?​ Obtenido de How does Scrum methodology help IT project
management?:
https://searchdatacenter.techtarget.com/es/cronica/Como-ayuda-la-metodologia-Scrum-a
-la-gestion-de-proyectos-de-TI

Sinnaps. (31 de 08 de 2020). ​¿QUÉ ES SCRUM?​ Obtenido de ¿QUÉ ES SCRUM?:


https://www.sinnaps.com/blog-gestion-proyectos/metodologia-scrum

Trycore. (31 de 08 de 2020). ​La importancia de las metodologías ágiles: Scrum.​ Obtenido de La
importancia de las metodologías ágiles: Scrum:
https://trycore.co/buenas-practicas-ti/importancia-de-metodologias-agiles/

Universidad Nacional de Colombia . (31 de 08 de 2020). ​Mejora de historias de usuario y casos


de prueba​. Obtenido de Mejora de historias de usuario y casos de prueba:

Jurado Carlos. Diseño ágil con TDD, iExpertos. 2010. Tomado de:
https://docplayer.es/1449432-Introduccion-a-las-metodologias-agiles.html

Pressman Roger. S, Ingeniería de Software, McGraw Hill, 2010.

Sommerville, Ian. Ingeniería de Software, Pearson Education, 2011.

Cockburn, A., Agile Software Development, Addison-Wesley, 2002.

The home of scrum. ​https://www.scrum.org/

Scrum Methodology, Incremental Iterative Software Development from Agile Processes. (2003).
Advance Development Methods, Inc. Tomado de: ​https://itq.ch/pdf/SCRUM_methodology.pdf

Hernan Schenone.(2004). Diseño de una Metodología Ágil de Desarrollo de Software. Tomado


de:​ http://materias.fi.uba.ar/7500/schenone-tesisdegradoingenieriainformatica.pdf

15 de 16
16 de 16

También podría gustarte