Escolar Documentos
Profissional Documentos
Cultura Documentos
Cochabamba – Bolivia
2018
1
AGRADECIMIENTOS
2
ÍNDICE
Resumen ........................................................................................................................................... 6
Introducción .................................................................................................................................... 7
1. Generalidades ............................................................................................................................. 8
1.1 Antecedentes Generales ........................................................................................................... 8
2. Metodología ............................................................................................................................... 8
3. Cynefin ....................................................................................................................................... 9
4. Métodos Ágiles ........................................................................................................................ 10
4.1 Manifiesto ágil – Valores ........................................................................................................ 11
3
9. Herramientas de estimación de Póker ...................................................................................... 38
10.Herramientas de retrospectiva .................................................................................................. 39
11.Conclusiones ............................................................................................................................ 42
12. Bibliografía ............................................................................................................................. 44
4
ÍNDICE DE FIGURAS
Ilustración 1: Marco Cynefin .............................................................................................................. 9
ÍNDICE DE TABLAS
5
Resumen
En la actualidad hay dos grupos de metodologías de desarrollo, las tradicionales que establecen un
proceso secuencial con una documentación exhaustiva durante todo el ciclo del proyecto y las
metodologías ágiles están basadas en entregas frecuentes de versiones de software, con la continua
interacción entre el grupo de desarrollo y el cliente para asegurar que el proyecto llegue a su
conclusión.
Existen diferentes metodologías ágiles pero la más popular Scrum, porque trabaja con un ciclo de
vida iterativo e incremental también aplica los valores y principios de las metodologías ágiles,
además de otras características como ser: flexible adaptable y colaborativo.
Utilizar Scrum puede ser una gran ventaja competitiva por que el equipo sabe lo que tiene que
hacer llegando a ser auto-organizados. Para apoyar a este proceso es necesario conocer las
herramientas que faciliten el trabajo, ayuden a incrementar la productividad y permitan reducir las
deficiencias
Por lo tanto, analizar las características de las herramientas más populares en el entorno de
desarrollo de software, logra ser de gran ayuda al inicio de un proyecto, para alcanzar el objetivo
deseado.
6
Introducción
Con el paso de los años el mundo del desarrollo de software ha tenido constantes cambios con el
surgimiento de nuevos conceptos, herramientas y metodologías de desarrollo de software, por
estos cambios cada vez es más común que las empresas que se dedican a este rubro opten por
trabajar de forma coordinada y dinámica aplicando procedimientos o metodologías para alcanzar
un objetivo.
Entre las metodologías se puede mencionar las convencionales y las ágiles para el desarrollo de
software, las convencionales o tradicionales están enfocadas en el uso exhaustivo de la
documentación durante todo el ciclo del proyecto, fijando plazos de entrega mientras que las
metodologías ágiles permiten mejorar la calidad del proyecto con la continua interacción entre el
grupo de desarrollo y el cliente para asegurar que el producto final llegue al objetivo.
Existen diferentes metodologías ágiles, pero las más utilizadas son: programación extrema (XP),
Scrum y Kanban todas ellas cumplen con el Manifiesto Ágil, el cual está compuesto por los doce
principios fundamentales, pero es recomendable seleccionar una metodología de acuerdo al
proyecto a desarrollar.
La metodología más popular entre las empresas es la metodología Scrum, por que trabaja con un
ciclo de vida iterativo e incremental, donde se va liberando el producto de forma periódica y va
aplicando buenas prácticas de trabajo colaborativo en equipo como ser la comunicación, la
adaptación y logrando que los equipos lleguen a ser auto-gestionables.
7
1. Generalidades
Las metodologías ágiles son aquellas que permiten adaptar la forma de trabajo a las condiciones
del proyecto. Así las empresas que eligen esta metodología consiguen gestionar sus proyectos de
forma flexible, autónoma y eficaz reduciendo los costes e incrementando su productividad.
Las metodologías ágiles permiten mejorar la calidad del producto. La continua interacción entre
los desarrolladores y los clientes tiene como objetivo asegurar que el producto final sea
exactamente lo que el cliente busca y necesita. Existen diferentes opciones pero las más utilizada
es Scrum.
Esta metodología permite abordar proyectos complejos que exigen una flexibilidad y una rapidez
esencial a la hora de ejecutar los resultados. Para alcanzar el objetivo existen herramientas que
facilitan una implantación real de la metodología en el proyecto, conocer las herramientas ayuda
al equipo incrementar la productividad y otorgar una colaboración constante para alcanzar el
objetivo.
2. Metodología
8
3. Cynefin
El marco Cynefin ayuda a conocer el contexto para el cual Scrum es más eficiente, comprender
las diferentes situaciones que una organización puede encontrarse y es cada una de esas
situaciones las que determina la manera en que se debería actuar. Es muy útil para determinar
cuándo es conveniente utilizar un enfoque ágil.
Dominio simple: Opera con los problemas simples. Es fácil de identificar la causa y su
efecto. Por lo general, la respuesta correcta es clara, conocida por todos e indiscutible [1].
9
Dominio Complicado: Se encuentra problemas complejos, hay soluciones correctas para
una misma problemática, pero se requiere del involucramiento de expertos para poder
identificarlas.
Dominio Complejo: Al existir los problemas complejos los resultados se vuelven más
impredecibles. “No existe ni mejores ni buenas practicas catalogadas para las situaciones
frente a las cuales se puede encontrar” [1]. Simplemente no se conoce con anticipación si
una determinada solución va a funcionar. Solo se examina los resultados.
Dominio Caótico: Se requiere una respuesta inmediata, para restablecer el orden.
Dominio Desordenado: Este dominio es clasificada como zona peligrosa, porque no se
puede medir la situación no determina la forma de actuar.
Al conocer los dominios, se concluye que “Scrum es un marco de trabajo que nos permite
encontrar prácticas emergentes en dominios complejos, como la gestión de proyectos de
innovación. En lugar de proporcionar una descripción completa y detallada de cómo deben
realizarse las tareas de un proyecto, genera un contexto relacional e iterativo, de inspección y
adaptación constante para que los involucrados vayan creando su propio proceso. Esto ocurre
debido a que no existen ni mejores ni buenas prácticas en un contexto complejo. Es el equipo de
involucrados quien encontrará la mejor manera de resolver sus problemáticas. Este tipo de
soluciones serán emergentes.”[1]
Teniendo en cuenta el marco de trabajo de Scrum, conocer los valores y principios de los métodos
ágiles ayuda a conocer mejor la perspectiva de este método.
4. Métodos Ágiles
El concepto de Metodología ágil surge, en una reunión celebrada en febrero de 2001 en Utah
Estados Unidos, participaron 17 expertos de la industria de software, “su objetivo fue esbozar los
valores y principios que deberían permitir a los equipos desarrollar software rápidamente y
respondiendo a los cambios que puedan surgir a lo largo del proyecto. Se pretendía ofrecer una
alternativa a los procesos de desarrollo de software tradicionales, caracterizados por ser rígidos y
dirigidos por la documentación que se genera en cada una de las actividades desarrolladas” [2].
10
Como punto de partida de las metodologías ágiles se redactó el manifiesto ágil que cuenta con
cuatro valores y doce principios que se mencionan a continuación:
11
Ilustración 2: Manifiesto Ágil – Valores
(Fuente - agilemanifesto.org)
Los valores anteriores inspiran a doce principios que son características que diferencian un proceso
ágil de uno tradicional, que constituye las ideas centrales del desarrollo ágil [2]:
12
5. Construir proyectos en torno a individuos motivados. Dándoles el entorno y el apoyo que
necesitan.
6. El método más efectivo y eficiente de compartir información dentro de un equipo de desarrollo
es la conversación cara a cara.
7. El software funcionando es la medida de progreso.
8. Los procesos ágiles promueven el desarrollo sostenible. Los patrocinadores, desarrolladores
y usuarios deberían ser capaces de mantener relaciones cordiales.
9. La atención continua a la excelencia técnica y al buen diseño incrementan la ágilidad.
10. La simplicidad como arte de maximizar la cantidad de trabajo que se hace, es esencial.
11. Las mejores arquitecturas, requerimientos y diseños emergen de los equipos auto-organizados.
12. En intervalos regulares el equipo reflexiona sobre cómo lograr ser más efectivos y ajustar su
comportamiento como corresponde.
Al conocer los valores y los principios que otorgan las metodologías ágiles nos dan una buena
alternativa para superar las metodologías tradicionales que generalmente siguen los mismos pasos
para cada proyecto; a diferencia de las metodologías ágiles que se pueden ajustar a las solicitudes
de los clientes y existe la posibilidad que el proyecto se termine antes de lo planificado.
Existen diferentes métodos ágiles, para que una empresa pueda optar por esta metodología como
por ejemplo: Scrum, Programación Extrema XP y Kanban entre las más populares. Pero el informe
anual proporcionado por la compañía de Collabnet que es un proveedor de servicios de Enterprise
Cloud y Agile para organizaciones basadas en software. Proporcionó un informe estadístico acerca
de las metodologías más usadas en el presente año [7]. Como se muestra en la siguiente ilustración:
13
Ilustración 3: Estadística de Métodos Ágiles
(Fuente: VersionOne. 12th Annual State of Agile)
La metodología destacada es Scrum con un porcentaje del 56% de aceptación entre los equipos de
desarrollo encuestados. En segundo lugar se encuentra las metodologías hibridas con un porcentaje
del 14% esta metodología combina las mejores prácticas de las tradicionales y las ágiles como por
ejemplo: Proceso Esencial Unificado sus siglas en ingles EssUP y la combinación de Cascada y
Scrum.
Teniendo en cuenta este análisis estadístico se toma como caso de estudio la metodología Scrum
porque “es una metodología de desarrollo muy simple, flexible y adaptable a todo tipo de
desarrollo de software” [3] y además de sus características destacables como ser: Fácil manejo en
la administración de etapas de desarrollo y el trabajo en equipo mediante un ritmo continuo de
colaboración activa.
14
6. Metodología Ágil - Scrum
Scrum es una metodología ágil para gestionar proyectos de software, que toma su nombre y
principios de los estudios realizados sobre nuevas prácticas de producción por Takeuchi y Nonaka
a mediados de los 80. [4] Esta metodología es flexible y adaptable a todo tipo de desarrollo de
software.
Se basa en el desarrollo de ciclos breves del modelo de desarrollo ágil, que comúnmente es
llamada “iteraciones” en Scrum es llamado “Sprint”. Para entender el ciclo se menciona las 5 fases:
Concepto, Especulación, Exploración, Revisión y Cierre como se observa en la siguiente
ilustración:
Todos estos ciclos se van realizando en varias iteraciones, por medio de Reuniones que forman
parte fundamental de la metodología. En las reuniones se tiene como objetivo mantener una buena
comunicación entre todo el equipo. Al inicio del sprint se va realizando una lista de requerimientos
15
del usuario también llamado Product backlog, luego vienen las reuniones diarias donde se evalúa
el avance de las tareas por cada miembro del equipo.
Y al final del sprint mediante una reunión se realiza una revisión final mediante una demo para
mostrar al cliente el producto desarrollado hasta el momento del sprint. Por lo tanto “las reuniones
son una forma de mantener comunicado al equipo, de compartir los avances, las experiencias, las
inquietudes, o dificultades que se presentan y de plantear soluciones creativas a las necesidades”
[3]. Esto ayuda a aumentar la productividad en el proyecto y fomentar el compromiso del equipo
para alcanzar las metas.
(Fuente: openwebinars.net)
16
Para la implementación de la metodología Scrum también es necesario conocer las siguientes
fases, los roles y las reuniones que incentiva a la comunicación permanente y directa con todos los
que participan en el proyecto:
6.1 Roles
Los roles se dividen en 2 grupos: las personas comprometidas con el proyecto: Product Owner,
ScrumMaster y el Equipo de desarrollo. Y el otro grupo no comprometido, que está conformado
por: los Usuarios, Stakeholders y Managers.
El Product Owner.- Es la persona que toma las decisiones, conoce el negocio y la visión
del producto. Tienen la capacidad de organizar, planificar y gestionar proyectos mediante
una buena relación interpersonal con los miembros del equipo.
El Scrum Master.- Es el encargado de comprobar que la metodología se lleve a cabo,
mediante un alto nivel de comunicación entre los miembros del equipo.
El Equipo de desarrollo.- Está conformado por un grupo de cinco a nueve integrantes y
tiene la responsabilidad de definir sus actividades con el fin de cumplir los objetivos
planteados en cada sprint.
Usuarios.- Destinatario final del producto
Stakeholders.- Las personas a las que el proyecto les producirá un beneficio.
Managers.- Toma las decisiones finales participando en la selección de los objetivos y los
requisitos.
6.2 Reuniones
Las reuniones son una de las características más destacadas de Scrum “que permiten e incentivan
la comunicación permanente y directa de todos quienes participan en el proyecto” [3]. Los tipos
de reuniones que hay son:
17
tareas conocido como Product backlog, además de los aspectos técnicos como ser
tecnología, herramientas y software a usar en el desarrollo del proyecto.
Planificación de Sprint.- Es una reunión llevada a cabo al inicio de cada sprint, que tiene
como objetivo determinar las funcionalidades que serán entregadas en el sprint.
Scrums Diarios o Daily meetings. - Las reuniones son llevadas a cabo cada día en un
intervalo de 15 minutos por el equipo de desarrollo, el objetivo “es determinar los avances
y dar a conocer las necesidades e impedimentos para proceder con su solución y aumentar
la productividad, mediante las siguientes preguntas: ¿Qué hiciste ayer?, ¿Qué vas a hacer
hoy?, ¿Qué obstáculos tienes?” [3]. El beneficio de esta reunión es mejorar la
comunicación y aumentar la confianza entre los miembros del equipo para lograr alcanzar
los objetivos definidos en el sprint.
Revisión del Sprint.- Se lleva a cabo al final del sprint, los miembros del proyecto realizan
una presentación acerca de los avances realizados en el sprint mediante una demostración.
El beneficio de esta reunión es conocer los avances realizados por el equipo y obtener una
retroalimentación de parte de los clientes o el product owner y obtienen un reconocimiento
de su trabajo realizado en el sprint.
Retrospective.- El objetivo es realizar una revisión del desarrollo del sprint concluido,
respecto al proceso, la comunicación y la implementación. Participan todos los miembros
del equipo de desarrollo, respondiendo a las siguientes preguntas “¿Qué cosas se hicieron
bien en el último sprint?, ¿Qué cosas se podrían mejorar? el Scrum Master anota las
respuestas y las acciones de mejorar se deben implementar en el siguiente sprint [3]”
Utilizar Scrum puede ser una gran ventaja competitiva por que el equipo sabe lo que tiene que
hacer y va mejorando cada día, logrando ser auto-gestionables o auto-organizados, con una
comunicación constante y una colaboración continua. Para apoyar este proceso “existen
herramientas que facilitan una implantación real de la metodología en el trabajo, ayudan a
incrementar la productividad y permiten reducir deficiencias. Se pueden encontrar una gran
cantidad de aplicaciones de gestión de proyectos en Internet, por ejemplo: herramientas para
gestionar tareas, herramientas de control de flujo de trabajo y herramientas de comunicación, entre
18
otras” [5]. A continuación se analiza las herramientas de apoyo más populares para la metodología
Scrum que apoyan al desarrollo del proyecto.
Como se mencionó a un principio una herramienta es un instrumento que es usado para ayudar a
realizar una o varias tareas. Para las metodologías ágiles existen varias herramientas que facilitan
el trabajo de los miembros del equipo, por que ayudan a incrementar la productividad, tener una
buena comunicación y reducir los posibles problemas que pueda existir.
Pero muchos equipos se apresuran en la decisión de utilizar una herramienta sin tener en cuenta
las necesidades que tiene el equipo, lo que puede causar problemas en el transcurso del proyecto.
Otra situación que puede presentarse, es que la herramienta es difícil de manejar provocando que
el proyecto tenga dificultades para avanzar.
Varias publicaciones en internet mencionan que estos problemas son muy frecuentes en los
equipos de desarrollo, además que una herramienta puede introducir complejidades adicionales
como ser: configuración, adaptación, costos o que no se adapta al proyecto. Al presentar esos
problemas los equipos en ocasiones optan por utilizar las herramientas básicas como una hoja de
Excel, post-its, editor de texto, Microsoft Word o buscan herramientas en línea. Pero estos
problemas no tienen por qué desanimar al equipo, sino todo lo contrario, realizar una búsqueda de
las mejores herramientas que puedan ayudar al equipo a seguir a delante con el proyecto.
19
Ilustración 6: Herramientas Ágiles
Para efectuar la comparación entre las herramientas se considera las siguientes características
como ser:
20
Precio.- Las empresas buscan las herramientas que se ajusten a sus necesidades, pero que
no exceda de su presupuesto.
Personalización.- La herramienta ágil permite la personalización de diferentes opciones
mediante la interfaz de usuario como ser un flujo de trabajo, el panel de tareas u otros
objetos que ayuden al proyecto.
Otras características de evaluación son la compatibilidad con otras herramientas por ejemplo:
Teniendo en cuenta estas características a continuación se mostrara la tabla comparativa que otorga
la Universidad de Florida, se realiza una calificación de la siguiente manera: A (Soporte Completo)
B (Muy bueno) C (Malo), Asterisco (*) que representa Prueba Aplicable gratuita.
21
Herramientas Agile Modernas Comerciales
Herramienta Open Herramientas
Herramienta Comercial
Source Tradicionales
Atlassian Jira/Greenhopper
Microsoft Project
ScrumWorksPro
Axosoft OnTime
Target Process
Microsoft TFS
Rally Platform
Google Docs
Version One
Base Camp
Kanbanize
IceScrum
AgileFant
Xplanner
AgileZen
PlanBox
Asana
Trello
Agilo
Excel
Ciclo vital cobertura A A A A A A B B B A B A B B B C B C C B
Simplicidad y facilidad
de uso B B A B B B B B B B B B B B A A B A A B
Colaboración A A B B B A B A A A B A C A B B C C C B
Analisis y
Informes A A B B A A B B B B C B B C A C B B B C
Espacio de trabajo y
Proceso B B A B B B B A A A B C C A B B B B C C
Programa
administracion A A A B A A B B C C B B C C B B C B C B
Despliegue,
Integridad y
Seguridad
A A A B B B B A B B B C B C A C B C C C
Plan gratuito * * * * * * * * * * * * * * * * * *
Scrum y Kanban
A A B A A A C A C C A A A B B B C C C C
Popularidad en la Web A A A B C A A A A A A C C B A C C C A B
En el listado se encuentran 20 herramientas ágiles, entre las más destacadas están: Atlassian Jira,
Axosoft Ontime, VersionOne, Microsoft Team Foundation; de las herramientas comerciales, entre
las herramientas open source están AgileFant, IceScrum, Xplanner, Trello y por último las
herramientas tradicionales como ser: Excel, Microsoft Project y Google Docs.
Otro informe anual proporcionado por la compañía de VersionOne en el año 2018[7] sobre las
herramientas ágiles más usadas y recomendadas se puede observar el siguiente resultado:
22
Ilustración 7: Uso y recomendación de Herramientas Ágiles
En ambos informes se destacan las siguientes herramientas Atlassian JIRA, Microsoft TFS,
VersiónOne, Pivotal Tracker y Trello. Mencionaremos algunas de sus características:
Jira es un producto creado por la compañía Atlassian, es una “Herramienta ágil de gestión de
proyectos compatible con cualquier metodología ágil, ya sea Scrum o Kanban. Permite planificar,
realizar informes, supervisar y gestionar todos los proyectos de desarrollo de software ágil en una
sola herramienta” [8]. Mencionaremos algunas de sus características principales:
23
Metodologías Mixtas.- Esta herramienta puede optar por la configuración de metodologías
mixtas por ejemplo scrumban o kanplan.
Notificaciones de usuario.- permite configurar las notificaciones que desea recibir el
equipo por medio de correos electrónicos o chats. Así el equipo está informado de todas
las actividades.
Gestión de repositorios de código integrado.- a partir de la aplicación, los
desarrolladores del equipo pueden realizar una transición entre tareas, código y despliegue.
Lenguaje de consulta JQL(Jira Query Language).- es una caracteristica que ofrece Jira
para gestionar tareas, el resultado puede desplegar tableros visuales o crear un listado de
tareas de acuerdo a sus caracteristicas.
Roles y permisos.- La configuración de roles y permisos se puede otorgar a grupos o
usuarios individuales, con el objetivo de proteger la información de acuerdo a las
responsabilidades de cada persona que conforma el grupo de trabajo.
Informes: Los informes son dinámicos, exhaustivos y personalizado. Ofrece más de una
docena de informes diferentes que recortan datos para ayudar a examinar las cargas de
trabajo y el progreso de la tarea.
Interfaz de usuario.- Es amigable y accesible proporciona diferentes recursos para que el
usuario se adapte al funcionamiento de la herramienta.
24
Ilustración 8: Gadgets en JIRA
(Fuente: atlassian.com)
Más allá de las características ya mencionadas de JIRA, lo que ayudó al equipo de trabajo, fue el
manejo de los Gadgets, que permiten personalizar la información que aparece en los cuadros de
mandos de las aplicaciones. Algunos permiten compartir la información, si se cuenta con los
permisos de lectura. Un ejemplo es el Gadget Two, como se muestra en la ilustración 8: Gadgets
en JIRA.
La funcionalidad de este Gadget, es otorgar datos estadísticos basados en un filtro específico, para
obtener los resultados en una tabla configurable. Por ejemplo, se puede crear un filtro para
25
recuperar todas las tareas asignadas a cada miembro del equipo de acuerdo al estado de cada tarea,
así se puede tener un control de la cantidad de tareas y otorgar un informe específico, como se
muestra en la siguiente ilustración:
(Fuente: www.atlassian.com)
También existen otros Gadget que Jira cuenta, como gráficos estadísticos por ejemplo: Average
Age Chart, Issue Statistics y Pie Chart entre otros. Para el manejo de las tareas se puede mencionar
Activity Stream, Filter Results, Watched Issues, en total Jira cuenta con 38 Gadgets para ayudar
al equipo en la administración de proyecto que está realizando.
7.2 Confluence
Un software de colaboración que utiliza JIRA es Confluence “es una herramienta ideada para
facilitar el intercambio de documentación, información y archivos. Aporta un alto nivel de
organización para grandes proyectos u organizaciones”. Trabaja conjuntamente con varios
productos de Atlassian, esto para ofrecer a sus clientes un espacio de colaboración para su fácil
manejo.
26
Ilustración 10: Confluence
(Fuente: atlassian.com)
Una forma de trabajar es mediante la creación de documentos, que se realiza de forma fácil y
sencilla, insertando tablas de contenidos o templates ya definidos. Todo esto se ajusta al contexto
de las iteraciones, si el usuario así lo define, pero todo esto con grado de seguridad con permisos
tanto a nivel global o público.
(Fuente: liderdeproyecto.com)
27
Así “Confluence y Jira garantizan la transparencia de los proyectos y permiten que las incidencias
de Jira y la documentación de software en Confluence se vinculen de forma automática. Gracias a
la rápida creación de incidencias e informes” [8], el equipo podrá trabajar de forma rápida e
inteligente.
Por lo tanto TFS es una herramienta que aporta lo necesario para poder administrar la información
de una manera correcta. Para iniciar ofrece plantillas diferentes para aplicar una metodología como
Scrum o CMMI (Capability Maturity Model Integracion), escoger una de ellas proporciona un
buen soporte para los procesos y gestión de proyectos
28
Ilustración 12: Herramienta Ágil Team Foundation Server
(Fuente: msdn.microsoft.com/communitydocs/alm/team-foundation-service)
29
Administración de casos de prueba basados en web.- Crear y ejecutar casos de prueba
de forma remota, facilitando que todos los miembros del equipo participen en la revisión
de casos de prueba [10]. Otra característica, es que puede crearse perfiles de pruebas
unitarias para crear un mejor código haciendo el seguimiento completo del flujo del código,
incluida la prueba unitaria.
Generación de informes.- la generación de informes basados en el estado actual del
proyecto, realizando consultas para obtener rápidamente la información que se necesite.
Control de código Fuente.- Se tiene una visión de todos los archivos almacenados del
proyecto y puede ayudar a detectar los errores además de realizar una integración continua
utilizando la compilación para validar el código de los desarrolladores y no tener problemas
en el proyecto.
7.4 VersionOne
VersionOne facilita la gestión del ciclo de vida de la aplicación. “Permite a los equipos en todos
los niveles, creación de estrategias, mejoras en el desarrollo de software y realización rápida de
entregas. VersionOne ofrece una cartera ágil y unificada, herramientas de gestión de proyectos,
así como una colaboración en todo: la empresa, comunidad, gestión de calidad e inteligencia
empresarial” [9].
También es considerado una solución ágil llamado “todo-en-uno” para empresas de software
otorga varios niveles de organización y apoya las metodologías como ser Scrum, Kanban, DAD
ya sea para pequeños equipos o equipos en crecimiento.
La página oficial de esta herramienta destaca que más de 50.000 equipos de software utilizan la
herramienta, porque otorga un soporte integrado para la planificación de productos , la definición
de requisitos, el seguimiento de iteraciones y la gestión de pruebas, así todos los interesados del
proyecto cuenta con una herramienta integrada para el manejo de proyectos.
30
Ilustración 13: Herramienta Ágil VersionOne
(Fuente: collab.net/products/versionone)
31
Integración.- Se integra con varias herramientas de desarrollo de software comerciales,
herramientas de desarrollo de software y aplicaciones empresariales como JIRA, Microsoft
TFS, GIT, Qa Symphony.
Los foros destacan a VersionOne como una herramienta de fácil manejo, además el equipo se
mantiene actualizado en los procesos de planificación y seguimiento. Otra característica
destacable, es la colaboración entre conversaciones como se mencionó anteriormente. Todo esto
hace esta herramienta muy popular en el ámbito de planificación de proyectos.
32
Ilustración 14: Herramienta Ágil Pivotal Tracker
(Fuente: https://www.pivotaltracker.com/)
La diferencia entre la mayoría de las herramientas, es que Pivotal Tracker permite al equipo tener
una comprensión sobre las prioridades que existe en el proyecto, por la forma de mostrar los
33
reportes de una forma clara y precisa. Aunque los usuarios solicitan una mejora en el manejo del
board, porque en ocasiones llega a ser confusa en el manejo de las historias, pero aun así llega ser
una buena herramienta para iniciar el manejo de metodologías ágiles.
7.6 Trello
Trello es una herramienta gratuita que permite la gestión de proyectos basados en la nube. Cuenta
con diversas formas de organización como ser listas, tableros y tarjetas para el manejo de
proyectos. Además su interfaz gráfica es sencilla e intuitiva, el tablero se distribuye en columnas
o listas con una secuencia de flujo básica por ejemplo to do-doing-done.
Esta herramienta utiliza la metodología ágil que permite gestionar varios tableros y configurar el
flujo de trabajo, esto permite crear una cuenta gratuita en la siguiente dirección (https://trello.com/
) con las funcionalidades básicas y si se desea la adquisición de otros planes se debe realizar un
pago previo.
Entre los beneficios de esta herramienta es la colaboración en tiempo real, los miembros se enteran
de los últimos desarrollos del proyecto mediante notificaciones instantáneas si se realizó nuevas
asignaciones, a través de correos electrónicos o dispositivos móviles, todo con manejo de
seguridad mediante datos cifrados. Otro beneficio de esta herramienta es que no necesita una
constante actualización las opciones son gratuitas pero si se requiere herramientas adicionales se
puede obtener mediante un costo.
34
Ilustración 15: Herramienta Ágil Trello
(Fuente: trello.com)
Aunque existen herramientas comerciales y libres específicas para este ámbito no hay que olvidar
las herramientas cotidianas que pueden otorgar mucha ayuda como las de Microsoft Excel o
Microsoft Project. Estas herramientas son muy utilizadas por los grupos de trabajo, eso indican la
encuesta realizada por la compañía CollabNet Inc. de la herramienta VersionOne. La compañía
realiza un análisis de las herramientas más utilizadas a nivel mundial, como se muestra en la
ilustración 6, donde indica que Microsoft Excel tiene un 46% de uso y Microsoft Project tiene un
uso de 21%, como estas herramientas tienen sus propias características en esta ocasión solo se
menciona algunas de ellas que se enfocan al ámbito de manejo de proyectos ágiles.
35
Comenzaremos primero con Microsoft Excel para la gestión de proyectos se puede ir creando
plantillas básicas para realizar una planificación, pero realizando una investigación se encontró
plantillas ya predeterminadas para un fácil manejo y una mejor colaboración entre los equipos.
Para iniciar el proyecto mediante la metodología Scrum, es importante tener el sprint backlog que
cuenta con requerimientos del proyecto y la definición de tareas para llevarla a cabo, además de la
estimación de la tarea correspondiente definida en horas laborales, la plantilla ágil proporcionada
por smartsheet que “es una plataforma diseñada para impulsar los beneficios de colaboración y
ágilidad en el trabajo” [13]. Permite agregar tareas, fechas finales y el estado actual como se
muestra en la siguiente ilustración.
(Fuente: es.smartsheet.com)
36
Con esos datos proporciona un cálculo automático y muestra un diagrama de Grantt y se va
ajustando automáticamente con los datos que se va ingresando y es libre a modificaciones
agregando más columnas o filas de acuerdo al requerimiento.
Otras plantillas que pueden ayudar al equipo son: Plantilla de lista de pendientes del sprint con
grafico de trabajo pendiente, Plantilla ágil de plan de pruebas, Plantilla ágil de historias de usuario
entre otras. Pero al tener esto como una gran ayuda uno puede crear sus propios reportes con la
ayuda de Microsoft Excel.
8. Herramientas de Comunicación
En el documento se analiza las herramientas para la planificación, pero otro punto importante es
la comunicación entre los miembros de los equipos, “porque una gran cantidad de acciones de las
personas está caracterizada por la comunicación”. [14]. Por esa razón la comunicación es
importante en la dirección de tareas con el fin de coordinar actividades, solucionar conflictos,
realizar negociaciones, informar las decisiones entre otras actividades.
Una actividad cotidiana en un equipo de trabajo que utiliza las metodologías ágiles, son las
pequeñas reuniones diarias para la planificación de tareas o realizar un debate en las que todo el
equipo participa activamente, aportando soluciones o planteando ideas. También se realiza una
comunicación constante con los clientes para debatir las funcionalidades del sistema, este tipo de
comunicación fluida puede convertir al grupo una organización ágil, pero que herramientas de
comunicación online pueden apoyar a este flujo mencionaremos algunas de ellas que pueden ser
integradas con otras herramientas.
Para las reuniones online la herramienta GotoMeeting es muy conocida para las video reuniones,
permite organizar reuniones on-line, entre las ventajas que tiene esta herramienta es la
37
comunicación de audio automatizada, precio económico, demostración de productos en directo.
La desventaja es que la reunión se inicia cuando la persona recibe una invitación para unirse.
Existen otras herramientas como ser Skype, Slack entre otros, pero en la mayoría de los textos
aconsejan que la comunicación sea personal ya que ayuda al equipo a la confianza y la superación.
“Es una técnica que tiene como objetivo de evitar las discusiones irrelevantes entre los miembros
del equipo y ágilizar el proceso de estimación de esfuerzo.”[3]. Cada miembro del equipo cuenta
con una baraja de 13 cartas, al momento de estimar una historia del proyecto cada miembro del
equipo selecciona una carta que representa su estimación de tiempo. Para realizar la actividad
existen algunas herramientas online como por ejemplo: PlanningPoker y Scrumpoker.
La herramienta Planning Poker cuenta con una interfaz amigable que permite al Scrum master
crear una cuenta para que los miembros del equipo participen en la planificación de forma sencilla
y rápida, la herramienta puede ser accedida en la siguiente dirección
https://www.planningpoker.com/.
38
Ilustración 17: Interfaz de la herramienta Planning Poker
(Fuente: planningpoker.com)
Estas reuniones son una oportunidad de mejorar y aprender de las experiencias que tuvo el equipo,
pero también permite la reflexión y debatir de las malas experiencias. Es aconsejable realizarla en
un ambiente tranquilo para que los participantes tengan la confianza de expresar su opinión sin
ninguna presión, pero qué pasa cuando no se puede realizar esa actividad de forma presencial es
ahí donde las herramientas online pueden ayudar al equipo en la comunicación para realizar esta
actividad.
Las herramientas retrospectivas gratuitas para los equipos de Scrum pueden ser: IdeaBoardz, Fun
Retro, Pointing Poker, ScatterSpoke, Scrum Toolkit, Sensei, Sprint Boards, Stormboard a
continuación describiremos algunas de las ellas:
39
IdeaBoardz.- Es una herramienta gratuita de colaboración en línea, permite a los equipos
recopilar datos de forma colectiva. La interfaz es amigable por medio de notas adhesivas
para votar o expresar su opinión, la información obtenida puede ser extraída en un
documento pdf o Excel, esta herramienta puede ser accedida en la siguiente dirección
http://www.ideaboardz.com/
(Fuente: ideaboardz.com)
Sensei.- Es una herramienta ágil en línea que ayuda a los equipos a realizar retrospectivas
de manera estructurada, desde la evaluación del último sprint hasta la asignación. También
se puede programar el tiempo de la actividad y otra característica es que otorga un informe
de la retrospectiva. Esta herramienta se encuentra en la siguiente dirección
https://www.senseitool.com/
40
Ilustración 19: Herramienta de Sensei para la realización de una Restrospective
(Fuente: senseitool.com)
41
11. Conclusiones
Al conocer y poner en práctica los conceptos de la metodología Ágil, las empresas y las personas
que forman parte de ella van enfrentando los diferentes cambios que existe constantemente en el
desarrollo de software. Porque estos conceptos aportan al proyecto mayor flexibilidad, eficiencia
y rapidez reduciendo el margen de error y los riesgos del proyecto, además de que cada miembro
del equipo va aprendiendo a ser auto-gestionable y así siendo un pilar fundamental del proyecto.
La metodología Scrum es destacable por otorgar una experiencia de trabajo en equipo, basándose
en su modo de desarrollo de carácter adaptable, orientado a las personas antes que a los procesos
y emplea un desarrollo ágil: iterativo e incremental. Logrando así buenas prácticas de trabajo
colaborativo entre las personas.
Al promover la participación activa entre los miembros del proyecto ayuda de gran manera a
romper la barrera tradicional existente con las metodologías tradicionales dejando de lado ese
concepto. Así el mundo del desarrollo de software va incrementando sus conceptos y renovando
sus herramientas de apoyo y comunicación.
Al analizar las diferentes herramientas que apoyan este concepto de la metodología ágil se
recomienda la utilización de una herramienta de acuerdo a las características del proyecto, por
ejemplo: si el proyecto tiene un grado de complejidad alta y necesita un registro de tareas agrupado
por medio de un flujo de trabajo determinado para poder sacar estadísticas en tiempo real, se
recomienda utilizar: Jira, Microsoft Team Foundation o VersionOne. Estas herramientas ayudan a
la planificación, colaboración, generación de reportes y control de versión de código además de
tener una interfaz amigable para el equipo de desarrollo de software. Para proyectos pequeños y
simples se recomienda usar herramientas gratuitas de gestión de proyectos como ser: Trello o
Pivotal Tracker, ambas herramientas cuentan con una interfaz amigable y promueven la
colaboración activa de los usuarios.
42
GotoMeeting para las reuniones, para las conversaciones y compartir archivos puede ser Microsoft
Teams por ser seguro y confiable.
En conclusión existen muchas herramientas que apoyan la metodología Scrum aparte de las
mencionadas en la presente investigación, que promueven la colaboración y la comunicación entre
los miembros del equipo pero lo que se recomienda es seleccionar una herramienta conociendo
sus características para ayudar al equipo y realizar el proyecto en curso alcanzando el objetivo
deseado, la conclusión del proyecto.
43
12. Bibliografía
[1] Martin Alaimo (2013). Proyectos Ágiles con Scrum Flexibilidad, aprendizaje, innovación y
colaboración en contexto complejos. Alicante - España.
[2] Lic. José H. Canos, Patricio Letelier (2003). Metodologías Ágiles en el Desarrollo de Software.
Buenos Aires – Argentina.
[3] Lic. Rolando Jaldín Rosales (2016) Principios del enfoque ágil SCRUM. Cochabamba -
Bolivia.
[5] 8 herramientas para comenzar con las metodologías ágiles. Recuperado el 21 de Septiembre
de 2018. URL: https://www.ennaranja.com/agile/herramientas-para-comenzar-con-las-
metodologias-agiles/
[6] Mohsen Taheri, S. Masoud Sadjadi. A Feature-Based Tool-Selection Classification for Agile
Software Development. Recuperado el 22 de septiembre de 2018 URL:
https://ksiresearchorg.ipage.com/seke/seke15paper/seke15paper_234.pdf
[7] VersionOne. 12th Annual State of Agile. Recuperado el 9 de Abril del 2018. URL:
https://explore.versionone.com/state-of-agile/versionone-12th-annual-state-of-agile-report
[8] Ing. Jesús García Navarro (2018) Estudio Comparativo de metodologías, herramientas y wiki
de soporte para la gestión de proyectos de desarrollo de software. Recuperado el 24 de Septiembre
de 2018. URL:
http://openaccess.uoc.edu/webapps/o2/bitstream/10609/73151/6/jgarcianavarroTFG0118memori
a.pdf
[9] Josu García (2010) Planificación en Team Foundation Server 2010. Recuperado 21 de
Septiembre del 2018. URL: https://www.danysoft.com/free/planificacionTFS2010.pdf
44
[10] Microsoft Team Foundation Server. Recuperado 21 de Septiembre del 2018 URL:
https://www.ramblainf.com/productos/tfs-overview-vs.php
[11] VersionOne: Pionner in Agile Proyect Management & DevOps, Recuperado 21 de Septiembre
del 2018. URL: https://www.versionone.com/about/
[15] Marcelo Estayno, Judith Meles, Daniel Battistelli. Retrospectiva: una herramienta de
evaluación académica. URL:
http://sedici.unlp.edu.ar/bitstream/handle/10915/49119/Documento_completo.pdf?sequence=1
45