Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Metodologías Ágiles de Proyectos Informáticos, Guías, Proyectos, Investigaciones de Introducción a la Informática

Explica las diferentes metodologías ágiles más utilizadas actualmente, en qué consisten, sus diferentes etapas para llevarlas a cabo correctamente y la importancia y beneficios que se obtienen al realizar proyectos utilizándolas.

Tipo: Guías, Proyectos, Investigaciones

2020/2021

Subido el 06/02/2022

ashley-hidalgo-castro
ashley-hidalgo-castro 🇨🇷

1 documento

Vista previa parcial del texto

¡Descarga Metodologías Ágiles de Proyectos Informáticos y más Guías, Proyectos, Investigaciones en PDF de Introducción a la Informática solo en Docsity! Metodologías agiles de proyectos informáticos Facultad de ingeniería, Universidad Americana Introducción a la informática 1 Índice 1. Introducción.......................................................................................................................2 2. Capítulo I...........................................................................................................................4 2.1. ¿Qué es Agile?...............................................................................................................4 2.2. Objetivos........................................................................................................................5 2.2.1. Objetivos generales.................................................................................................5 2.2.2. Objetivos específicos..............................................................................................5 2.3. Alcances y Limites de la Investigación..........................................................................5 3. Capítulo II..........................................................................................................................7 4.1. Aplicación del Proyecto y Temas Investigados.............................................................7 4.2. Los 12 principios del Manifesto Ágil.............................................................................8 4.3. Metodologías Tradicionales vs Metodologías Ágiles....................................................9 4.4. Metodologías Ágiles más utilizadas.............................................................................10 4.5. Otras Metodologías Ágiles...........................................................................................21 4.6. Terminología Agile......................................................................................................38 4. Capítulo III.......................................................................................................................46 4.7. Reflexiones Propias......................................................................................................46 5. Conclusiones....................................................................................................................53 6. Bibliografía......................................................................................................................55 7. Anexos.............................................................................................................................58 8. Tabla de puntaje...............................................................................................................59 4 2. Capítulo I 2.1. ¿Qué es Agile? Agile es una forma más eficiente y flexible de crear un nuevo proyecto; se basa en la priorización de procesos que se llevan a cabo de manera directa conforme a las necesidades del cliente, para que de esta forma el cliente siempre esté obteniendo resultados sólidos de su proyecto en cada sesión. Con Agile los progresos se pueden observar de manera gradual, ya que, como se mencionó anteriormente, el cliente recibirá avances sólidos en cada sesión, dando la posibilidad de hacer cambios a mitad del proyecto de ser necesario y poder realizarlos de manera anticipada y con mayor rapidez para asegurar la satisfacción del cliente al final de la realización del producto o proyecto, ya que participa activamente en todas las etapas de éste. Al implementar algún método Agile en la elaboración de un nuevo proyecto se asegura también la disminución de tiempo y dinero ya que permite que los avances que se entregan cumplan con las expectativas del cliente por la permanente participación de ellos a lo largo del proyecto y a la vez genera mayor eficiencia al hacer entregas parciales, pero definidas y útiles. En base al Manifiesto Ágil, las personas y sus interacciones van por encima de los procesos y herramientas, esto quiere decir que es importante que las personas que constituyen al equipo, sean personas motivadas y se apoyen mutuamente para así brindar un ambiente de trabajo confiable ya que, por ejemplo, si en la realización de un proyecto se necesita tomar una decisión dónde se debe elegir entre seguir con un proceso o afectar levemente a una persona, se elegirá a la persona por encima de todo y se deberá buscar una solución alterna dónde no involucre a personas que se puedan ver perjudicadas de manera negativa. 5 Para Agile, un software que funcione va a ser más importante que documentación extensiva, ya que durante la elaboración de un proyecto es muy importante comprobar que todo va funcionando según lo planeado y de manera anticipada poder ver si se necesitan realizar cambios o si nuevas ideas se van generando para poder implementarlas; la documentación de igual forma es importante, sin embargo, nunca debe convertirse en un atraso para la producción. 2.2. Objetivos 2.2.1.Objetivos generales  Analizar las metodologías ágiles, que permita conocer su historia, definición y sus usos en las organizaciones. 2.2.2.Objetivos específicos  Describir los inicios de las metodologías agiles descritos en el Manifesto Agile.  Definir el concepto de metodologías ágiles y su importancia de uso en proyectos informáticos.  Nombrar cada una de las metodologías ágiles más utilizadas, así como sus ventajas y desventajas.  Definir los conceptos de la terminología utilizada en un ambiente Agile. 2.3. Alcances y Limites de la Investigación Alcances: 6 Esta investigación se enfoca en la explicación de las diferentes Metodologías Ágiles que están enfocados tanto para el sector industrial como empresarial. Abarca las diferencias entre Metodologías Tradicionales y Metodologías Ágiles para la elaboración de proyectos empresariales. Se detallan las Metodologías Ágiles más utilizadas actualmente y, en general los usos y las funciones de algunos Marcos y Sistemas que se utilizan alrededor del mundo y que benefician al mercado industrial. Se explica la importancia, eficacia y eficiencia de éstos para evitar problemas de gestión en la realización de un nuevo proyecto. Limitaciones: Debido a la falta de experiencia en la realización de trabajos de investigación, la magnitud y profundidad en relación con el análisis en esta investigación se ve comprometida en comparación a trabajos académicos experimentados. La variedad en las diferentes metodologías ágiles dificulta abarcar cada una de ellas por lo que esta investigación se limita a detallar a profundidad solamente las siguientes metodologías: XP, Kanban, Scrum, Scrumban, DevOps, Design Thinking, SAFE, OKR, UX-UI y Waterfall. La presente investigación no abarca las evaluaciones de las estrategias de cada método y las fases de implementación no detallan ningún ejemplo en específico. Esta investigación no detalla ninguna herramienta o programa en particular que se pueda utilizar para la práctica de las metodologías. 9 8. Los procesos ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida. 9. La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad. 10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial. 11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados. 12. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia. 3.3. Metodologías Tradicionales vs Metodologías Ágiles Las metodologías ágiles destacan por su enfoque en la obtención rápida de resultados, en la agilidad de procesos al elaborar un proyecto y en la satisfacción del cliente. Usando las metodologías ágiles correctamente se promete un proceso más simple y una mejora continua del proyecto y también del proceso de gestión, consiguiendo entregas con valor, continuas y en un menor tiempo de espera. Al contrario, con los métodos tradicionales, éstos se enfocan mayormente en planear y documentar el proceso sin observar avances funcionales del producto; por lo tanto con las metodologías tradicionales el cliente debe esperar hasta que el proyecto haya finalizado para poder obtener el producto terminado, sin dar la opción de implementar cambios o hacer modificaciones durante el proceso ya que podría retrasar todo el trabajo; a diferencia de las metodologías ágiles, que éstas consideran los cambios como oportunidad de mejora y se pueden implementar en cualquier fase del proyecto en secciones individuales sin afectar al resto. 10 3.4. Metodologías Ágiles más utilizadas Existen varias metodologías que cumplen con el Manifiesto Ágil, sin embargo, entre las más utilizadas actualmente, se destacan cuatro: Programación Extrema o eXtreme Programming (XP) Esta metodología es una de las más exitosas actualmente, utilizadas para proyectos a corto plazo especialmente enfocada en el desarrollo de software. Se basa principalmente en la simplicidad, la comunicación, retroalimentación y a potenciar las relaciones interpersonales como clave para el éxito en la elaboración de cada proyecto, tiene como objetivos la satisfacción del cliente, potenciar el trabajo en equipo y aumentar la productividad. Al desarrollar un proyecto con este tipo de metodología, el cliente tiene participación continua y permanente con el equipo de trabajo, ya que deberán entregar versiones del producto, parciales pero funcionales muy frecuentemente para así adoptar todos los consejos y opiniones del cliente y cambios o modificaciones que desee y de esa manera mejorar la productividad y lograr un producto de calidad en poco tiempo. Características de Programación Extrema: Las sesiones en las que se reúne el equipo desarrollador con el cliente deben ser muy frecuentes y los avances que se van a mostrar deben ser funcionales ya que deben haber sido previamente probados. Se debe tener una buena comunicación, un ritmo laboral constante y un buen clima laboral ya que, usualmente se trabaja en parejas que se deben intercambiar frecuentemente permitiendo así, complementar el conocimiento entre los miembros del equipo. 11 Cada persona que compone al equipo tiene acceso al proyecto y a poder modificarlo, por lo tanto, a lo largo del proceso, se debe observar mejoría con el producto. Fases de un proyecto XP Exploración En esta fase el cliente se reúne con el coach para introducir el producto que tiene en mente, el coach le hace ciertas preguntas para descubrir los gustos del cliente y armar una base del producto; se utiliza la técnica llamada Historias de usuario que consiste en que el cliente escribe brevemente las características que el sistema debe tener y ciertos requisitos para el software, ya sean requisitos funcionales o no funcionales. En esta fase, se fija una fecha límite en que el cliente necesita el producto finalizado y se fijan la o las fechas en que el cliente se va a reunir con el equipo de desarrolladores para la entrega de avances y discutir cambios u observaciones de ser necesario. Planificación de la entrega (release) Al comienzo de esta fase los programadores se reúnen como equipo a discutir de las necesidades del cliente y, según lo comentado en la fase de exploración se ponen de acuerdo para desarrollar el producto y tener el plan de entregas y los avances listos para las fechas estipuladas con el cliente. Los programadores en base a las historias de usuario, trabajan en parejas al desarrollar el software para compartir ideas y para que el proceso pueda ser más simple y efectuado con mayor rapidez. Iteraciones En esta fase el cliente se reúne con los programadores en conjunto dónde éstos discuten todos los avances obtenidos y, de ser necesario, si el cliente desea agregar algún cambio a su producto, 14 Para asegurarse que se está trabajando apropiada y satisfactoriamente existe una gráfica llamada Burn Down Chart que nos ayuda a observar el progreso y garantizar que de acuerdo a lo que se planeó en el sprint es lo que realmente se está realizando. Artefactos Lista del producto o backlog El backlog es la lista de prioridades que el product owner se encarga de definir conforme a su criterio y a las necesidades del cliente acorde a las historias de usuario. Éste se tiene que actualizar constantemente de acuerdo a nuevos objetivos o prioridades que el cliente desee implementar a su proyecto. Sprint backlog Se define como la lista de actividades seleccionadas en la reunión de Planeación que serán ejecutadas durante el sprint para alcanzar los avances previstos. Incremento Es el adelanto que se le entrega al cliente al final de cada sprint, es de aquí que el cliente puede obtener información suficiente para implementar nuevas ideas o cambios que considere necesarios dependiendo de su experiencia. Roles Product owner Las principales características que debe tener un product owner es que en primer lugar debe priorizar el backlog y asegurarse de que sea lo más factible posible. Poder escribir bien detalladas 15 las historias de usuario y así poder conversar y aclarar las historias con el equipo. Debe ser una persona con carácter fuerte, que conozca varias técnicas de priorización para así, dejar en claro cuáles son los procesos más urgentes para que el equipo los pueda ir trabajando y poder decir que no a los que no son tan importantes, ya que depende del product owner el nivel de trabajo que tenga el equipo, es por esto que es muy importante que el product owner sea una persona dedicada al proyecto. Scrum Master Debe ser una persona que se lleve bien con el resto del equipo ya que deberá estar en constante comunicación con éste. Una característica importante es que debe ser preferiblemente una persona pacífica, que tenga el don de comunicarse ya que el Scrum Master va a mantener al equipo motivado y deberá remover impedimentos. Debe ser un buen observador para que pueda examinar ciertos aspectos que se podrían mejorar a lo largo del proceso. El Scrum Master se asegura que todo esté funcionando correctamente y así mismo se asegura que todo el equipo esté trabajando bajo los principios ágiles y reglas y procesos de Scrum. Scrum Team o Equipo de Desarrollo El equipo se encarga de desarrollar el producto para el cliente trabajando las historias de usuario de acuerdo al product backlog. El equipo es el que determina cuánto tiempo aproximadamente pueden durar haciendo cada historia y en base a eso se irá construyendo el Sprint backlog. El equipo debe trabajar unido y autoorganizarse para así construir el producto de forma incremental y que al finalizar cada sprint los avances hayan sido probados y estén funcionando. Reuniones 16 Planeación 19 Kanban Kanban nos ayuda a organizar el trabajo para así poder ser más óptimo, productivo y eficiente. Su nombre Kanban significa tablero visual o tarjetas visuales y se utiliza al igual que los métodos anteriores para controlar el avance de trabajo en una línea de producción. Kanban se enfoca en la mejora continua, quiere decir, que siempre se está cuestionando cómo se trabaja actualmente y qué se puede implementar o mejorar para hacerlo de una manera más óptima. Con este método, las tareas se van a clasificar por estados para que de esta forma sea más sencillo para el equipo medir el avance que se va obteniendo y así evitar repeticiones de tareas o que alguna se quede sin realizar. Comúnmente, una vez se hayan identificado los estados, éstos se van a colocar en columnas. Por lo general, en la mayoría de los casos se utilizan cuatro estados: Pendiente, que es aquí donde se colocan las tareas que entran al equipo pero que aún no se trabajan y que necesitan ser trabajadas. Haciendo, son las tareas que se están trabajando. En pruebas, los procesos que se están probando para verificar su funcionalidad antes de ser entregados. Y Hecho, que éstos son los avances que ya están listos para entregar al cliente. Éstos son los estados más comunes, sin embargo, Kanban no se limita a una cantidad de estados; en el futuro si es necesario agregar más se pueden agregar, siempre y cuando beneficie a la productividad y eficiencia del trabajo. 20 En Kanban es importante no llegar a un estado llamado cuello de botella, esto quiere decir, que cada columna debe tener un máximo y un mínimo, dónde el máximo va a ser el máximo límite de tareas que se pueden tener por columna para de esta forma evitar un exceso de tareas por hacer en una sola columna y así restringir la entrada a más tareas. El equipo debe ponerse de acuerdo para determinar el máximo y mínimo. En caso de que ocurra un cuello de botella, el equipo deberá trabajar unido y priorizar la columna que esté saturada para que se pueda solucionar lo antes posible. Para ayudar a disminuir los cuellos de botella existe una gráfica llamada Diagrama de Flujo Acumulado que ésta permite ver todos los procesos que se están realizando en un estado específico y cómo van evolucionando. Un tablero de Kanban nos ayuda a observar y controlar el progreso que va teniendo el equipo, de igual manera nos ayuda a medir el lead time y el cycle time, que lead time es el tiempo en que una tarea se demora desde que entró al equipo hasta que se completó (Pendiente-Hecho) y el cycle time es el tiempo en que una tarea se demora desde que se comenzó a trabajar hasta que se realizó (Haciendo-Hecho). Todo esto beneficia al equipo aumentando su rendimiento, reduciendo los tiempo de ciclo y asegurando las entregas continuas. Scrumban Es una combinación inteligente entre los métodos Scrum y Kanban dando como resultado un nuevo método uniendo las mejores características de cada uno para mejorar la productividad de un plan de empresa. Diferencias entre Scrum y Kanban 21 En Scrum se tienen equipos multifuncionales, esto quiere decir que cada miembro del equipo tiene las cualidades necesarias para poder resolver las tareas sin depender de otras áreas o personas, a diferencia de Kanban que no es necesario de siquiera tener un equipo, si no que puede ser conformado inclusive por sólo una persona. En Scrum se trabaja por entregar avances del producto en espacios de tiempo fijos (por sprints), en cambio, en Kanban no se trabaja por tiempos fijos, sino que se van viendo los resultados a medida que van terminando los avances sin determinar un tiempo en específico. En Scrum se prescriben roles como el product owner que se encarga de asegurarse que cada vez se haga lo más importante y el scrum master que se encarga de que todo se esté trabajando correctamente y así poder estar en una mejora constante ayudando en todas las partes de Scrum; mientras que en Kanban no se tienen roles definidos. Scrum se limita a añadir cambios hasta que finalice el sprint actual, mientras que en Kanban los cambios se pueden añadir en cualquier momento de acuerdo a la priorización que se les va dando. Similitudes entre Kanban y Scrum Cada método tiene una forma de manejar el trabajo que se está realizando en el equipo, en Scrum se controla por medio de los sprints y en Kanban se utilizan los estados para medir y limitar el trabajo. En ambos métodos se trabajan con gráficas que ayudan a visualizar de una mejor forma si el trabajo se está realizando de una manera realmente efectiva ya que en Scrum se utiliza el Burn Down Chart y en Kanban se utiliza el Diagrama de Flujo Acumulado. 24 Se utilizan pruebas automatizadas en código base secundario que se llevan a cabo cada vez que el código principal se considere lo suficientemente grande, para que así el código base principal pueda estar siempre estable y garantizar que funciona correctamente y sin errores. El pilar más importante de la Integración Continua es el sistema de control de versiones que se utiliza para informar y solventar conflictos de edición entre los desarrolladores que trabajan en el mismo código base y a la vez, monitorear los cambios que se producen. De parte de Operaciones, destacan 2 prácticas: Entrega Continua Es la implementación automática y frecuente de nuevos modelos de una aplicación en un ámbito de preparación para elaborar automáticamente los cambios en el código y conferir a la fase de producción. Despliegue continuo (CD) En esta práctica se realiza el despliegue del software en producción, para esto, el equipo debe asegurarse que el código se pueda desplegar a lo largo del ciclo de vida y de poder tener una respuesta rápida cuándo el producto esté en producción de que funciona correctamente después de agregar cambios. La diferencia entre entrega continua y despliegue continuo es que para la entrega continua se hace un despliegue a producción pero de forma manual ya sea al presionar un botón o al escribir la orden, mientras que el despliegue continuo lo hace de forma automática. 25 Ciclo de Vida o Fases de DevOps Planificación En esta fase, todos los integrantes del equipo DevOps se reúnen para definir y describir las características y funcionalidades de los sistemas y aplicaciones que van a producir; se ponen de acuerdo para elaborar un plan y alcanzar un objetivo pronunciado. Todos los miembros del equipo trabajan durante esta fase para lograr un objetivo definido. Realizan un seguimiento del progreso de todas las tareas por medio de creación de registros de los trabajos pendientes y la continua vigilancia de los errores, para esto utilizan ciertas partes de otras metodologías como Scrum o Kanban que les facilita la visualización del progreso. Desarrollo Esta fase comienza codificando la aplicación según los requisitos del cliente y desarrollando el software del proyecto; se empiezan a definir respectivas pruebas para asegurar que da cumplimiento a la indicación y que es funcional. A la hora de tener varios códigos funcionales se comienza a construir la aplicación con la integración de éstos, donde a partir de ese momento se pueden crear nuevas funcionalidades que van a componer al software. Al hacer este proceso es muy importante asegurarse que se está haciendo de la manera correcta, ya que un error en la unión de un código puede causar un fallo en el buen funcionamiento del proyecto provocando que deje de funcionar. En esta fase, el desarrollo del software es constante e interactivo, puesto que cada integrante del equipo trabaja por lograr agilizar el proceso y garantizar la entrega. Una vez esté todo listo, se realizan pruebas para verificar que todas las características del proyecto funcionen correctamente, aquí se consideran tanto las nuevas como las pruebas ya 26 existentes. Aquí entra un equipo importante llamado QA que es el que se encarga de identificar y corregir los errores que van surgiendo en el nuevo código. En caso que una prueba no haya sido exitosa, existe la posibilidad de hacer la corrección volviendo a crear el código. Entrega Una vez que la aplicación haya pasado por todas las pruebas y que éstas hayan sido exitosas, se puede crear una versión del software indicando que ha pasado por las aprobaciones anteriores; para esta fase el desarrollo continuo es posible por la integración y pruebas constantes. En esta fase también se establecen automatizaciones que mueven las aplicaciones de una versión a otra hasta que puedan estar disponibles para los clientes, como consecuencia de la automatización, se asegura que los procesos estén controlados permitiendo a los equipos que trabajan con DevOps poder realizar entregas confiables y con facilidad. Monitoreo En esta fase el equipo de Operaciones toma la responsabilidad de notificar a los otros miembros del equipo si ocurren fallas o comportamientos inapropiados durante producción, de ser así se deben tomar medidas inmediatas para planificar las mejoras. En esta última fase, se recopila toda la información que se obtuvo a lo largo de este proceso para que de esta manera realizar ajustes que sean necesarios para la siguiente fase de planificación. El equipo de Operación define ciertas medidas para supervisar y controlar el estado de las aplicaciones. 29 Esta fase es de las más importantes del proceso, ya que al probar el prototipo se puede identificar fallos que se necesiten resolver, mejoras significativas o posibles carencias que se puedan implementar. SAFe o Scaled Agile Framework SAFe es una metodología que ayuda a organizar empresas grandes con varios proyectos con un nivel alto de cambio en requerimientos y al crecimiento de una organización, esto permite que la empresa se mantenga de forma competitiva. Se basa en los principios de agile utilizando otras metodologías como Scrum, Kanban, XP y DevOps y tiene como objetivo lograr implementar la agilidad en toda la organización y no sólo en un equipo como en Scrum. Para poder lograr esta implementación existen tres niveles: Nivel de equipo En este nivel se define la organización de cada equipo que contribuye y trabaja en el desarrollo del software. En este nivel se utilizan ciertas técnicas de Scrum como lo son el product owner y el scrum master ya que al igual que en Scrum, aquí el Product owner debe traer bien planificado y priorizado el backlog y explicar detalladamente las historias de usuario en base a los requisitos que el cliente desea, el product owner es el que tiene la autoridad de decir qué se quiere hacer y en qué orden se debe hacer; mientras que el Scrum master se encarga de asegurarse que todo el equipo esté trabajando correctamente de acuerdo a las reglas de Scrum fomentando la agilidad dentro del equipo. En esta fase el equipo se reúne diariamente para medir el progreso hacia lo que se quiere lograr. 30 Nivel de Programa En este nivel se introducen nuevos roles como el Release Train Engineer que este se encarga de una sesión de planificación llamada Program Increment o PI dónde se establecen los objetivos comunes y dónde cada equipo trabaja bajo un plan concreto para la entrega de valor por iteraciones; Product Manager que trabaja de la mano con el Product owner en la elaboración y planificación del backlog y se encarga de transmitir la visión del cliente a los equipos de programación; y System Architect que es el responsable de definir y guiar hacia una visión técnica y arquitectónica para un Agile Release Train (ART) para de esta manera ayudar a garantizar que el sistema en desarrollo se adecue al propósito previsto. En una empresa varios equipos necesitan trabajar juntos utilizando sus propios métodos ágiles para que las entregas sean realmente valiosas, a esto se le llama ART (Agile Release Train) dónde varios equipos trabajan unidos compartiendo los diferentes métodos que utilizan que son funcionales para cada equipo sincronizando sus iteraciones y así poder realizar entregas de acuerdo a las respectivas necesidades de los clientes. ART utiliza prácticas ágiles a la hora de entregar los productos para ofrecer el valor requerido en el momento adecuado. Nivel de Portafolio En este nivel se define lo que más valor aporta a la organización y se aplican los principios Lean-Agile que Lean se refiere a intentar reducir al máximo lo que genere pérdidas o desperdicios en un flujo de trabajo o aquello que no genere valor, para equilibrar la estrategia y la ejecución dónde se proporciona una forma de crear temas estratégicos y la visión del portafolio para de esta forma alinear los desarrollos de soluciones con la estrategia empresarial. Lean-Agile ayuda a las 31 empresas a organizarse con las entregas de valor así como a financiar estas entregas para evitar problemas asociados con los costos del proyecto. En este nivel se controla la satisfacción de los empleados en la empresa, la de los clientes, el número de entregas que la empresa realiza al año y la calidad del software que se le ofrece al mercado. OKR o Objetivos y Resultados Clave OKR por sus siglas en inglés significa Objectives and Key Results, esta metodología ayuda a las empresas a definir objetivos medibles y para esto es necesario la participación de los miembros del equipo a la hora de establecer dichos objetivos; deben ser claros y específicos para no perder el enfoque y tener claro lo que la empresa procura alcanzar. Para que sea posible lograr cumplir estos objetivos es necesario implementar los resultados claves o Key Results que sirven como métrica para medir el progreso de la empresa y lograr determinar qué tan próxima está la compañía en alcanzar los objetivos establecidos, es decir metas menores que ayudan a la obtención de la meta principal. Para que la metodología OKR logre funcionar correctamente es importante definir objetivos ambiciosos y desafiantes que logren generar un impacto para que el negocio logre alcanzar su máximo potencial; sin embargo, deben ser alcanzables y comprobables para que se logren mantener y poder conectarlos con el trabajo diario. Pasos de la metodología OKR Establecer metas claras y especificas 34 Etapas de proceso UX-UI Investigación Esta etapa es una de las más importantes ya que es dónde se compila toda la información posible de acuerdo a las ideas u objetivos que el cliente tiene hacia el producto; también se definirán los objetivos y estrategias que el equipo se debe comprometer a alcanzar. Toda la información que se obtiene de esta fase debe ser muy clara y específica para evitar atrasos o malentendidos. Organización Una vez la información logre estar bien detallada y definida entra el diseñador UX a esta fase donde comienza a organizar y estructurar toda la información ya que debe construir una base del producto incorporando todas las necesidades del cliente; los mapas de arquitectura y los esquemas de navegación son las herramientas que ayudan al diseñador UX a preparar la base del producto y de acuerdo a esa estructura ya creada se definen todos los flujos funcionales que sean necesarios para desarrollar el producto digital que cumpla con todos los requisitos planteados por el cliente. Prototipado De acuerdo a los resultados de la etapa de organización se crean prototipos donde se va a elaborar un bosquejo una vez se haya definido con mucho detalle las funcionalidades y las pantallas del producto. Esta fase funciona para observar y establecer cómo quedaría el producto una vez terminado con sus funciones y diferentes categorías dependiendo de los gustos del cliente, es importante estar 35 seguro sobre las decisiones en esta fase ya que una vez que se apruebe el prototipo se comenzará a crear el producto final. En esta etapa se crean prototipos interactivos que simulan ciertas tareas que sean funcionales donde se permite interactuar con el producto desde el mismo prototipo, de esta manera, al finalizar esta etapa se puede determinar con seguridad la funcionalidad del producto para poder ser testeado y se asegura un producto de calidad y ahorro de tiempo, costo y de errores inesperados. Pruebas En esta etapa se prueba el producto para comprobar si se han logrado los objetivos, los usuarios son los encargados de probar el producto y de esta manera poder determinar qué sensaciones genera el producto en los usuarios ya sean malas o buenas. Se utiliza un diagrama de flujo que consiste en verificar e investigar qué es lo que el usuario desea obtener a través del producto para así estudiar y llevar un control con informes de características o funciones que se podrían mejorar o nuevos aspectos o tareas que se podrían implementar sobre el prototipo para que el producto final sea lo esperado por el cliente. Diseño Esta es la última fase donde los diseñadores UI entran en juego, en base a los prototipos listos y probados, los diseñadores UI se encargan de darle forma y estilo al producto diseñando gráficamente cada pantalla del producto digital; se definen los colores, el estilo de las letras, el tipo de íconos y la estructura de cómo será la aplicación visualmente. Una vez listo el diseño el equipo de programación comienza a implementar los códigos utilizando guías donde se explica cómo debe funcionar correctamente cada pantalla y elementos 36 al 39 Producción Cuando el producto ya ha pasado por cada fase y se aprobó el buen funcionamiento entonces el producto puede pasar a la fase de producción donde se necesita constantemente dar seguimiento y mantenimiento al producto una vez entregado al cliente, para cualquier modificación que se necesite implementar o para mejorar el rendimiento. Anti-Patrones Agile Un anti-patrón en general se refiere al uso de prácticas que simulan ser una solución apropiada y que al fin y al cabo terminan siendo consecuencias perjudiciales sin aportar ningún beneficio; en otras palabras, un anti-patrón es un patrón que se incorpora al proceso de trabajo sosteniendo la idea de que mejorará la situación o el producto pero que, en realidad, hace lo opuesto y lo empeora. Algunos ejemplos que sobresalen de anti-patrones en las metodologías ágiles son:  Cuando el Product Owner o Scrum Master establece el tiempo de duración de cada historia de usuario en ser trabajada.  Cuando, en lugar de tener reuniones Daily, tienen “Weekly” porque no consideran necesario reunirse todos los días.  Cuando no existen sesiones de feedback porque se cree que no hay nada que deba mejorarse.  Cuando los integrantes del equipo están trabajando en varios proyectos a la vez y no se dedican exclusivamente en uno solo.  Cuando no se tiene una comunicación apropiada con el cliente y ni tan siquiera se establecen los criterios de aceptación para las historias de usuario.  Cuando se piden opiniones del equipo, pero no son escuchadas. 40  Cuando el equipo no actualiza el tablero para reflejar el estado actual de los procesos. Existen muchos más anti-patrones para cada método ágil que sin duda son prácticas erróneas que pueden conducir al mal funcionamiento del equipo y por ende un producto con una calidad inesperada y poco provechosa. Eficiencia vs Eficacia El concepto de eficiencia consiste en lograr alcanzar los objetivos establecidos con el menor uso de recursos posible mientras que la eficacia se enfoca en conseguir un objetivo o resultado propuesto, esta es la principal diferencia entre eficiencia y eficacia. Una persona eficaz se enfoca en conseguir el resultado sin importar la cantidad de recursos que necesite mientras que un trabajador eficiente, al igual que la persona eficaz, logra alcanzar los objetivos cometidos, sin embargo, se enfoca en sacar el máximo provecho de los recursos disminuyendo los gastos en utilizar recursos extra o innecesarios. Cuadro comparativo entre eficacia y eficiencia: Eficacia Eficiencia Mide los resultados que se esperan obtener contra los resultados obtenidos. Mide los resultados y los recursos utilizados y los compara con los objetivos propuestos y costos esperados. Se enfoca en los resultados de un proceso. Se enfoca en el proceso que lleva a cabo un objetivo. Los recursos se utilizan para lograr los resultados. Le da énfasis al trabajo bien hecho y mejorar el producto o proyecto. 41 Se interesa por cumplir los objetivos establecidos. Busca resolver problemas productivos. Para las metodologías ágiles, es muy beneficioso tener un equipo tanto eficaz como eficiente ya que se espera sacar el máximo provecho de las situaciones y recursos para garantizar un producto de calidad y así obtener la satisfacción y aprobación del cliente. 3.6. Terminología Agile  Criterios de aceptación Un criterio de aceptación es una descripción formal del comportamiento de un producto de software, generalmente expresada como un ejemplo o un escenario de uso. Se han propuesto varias notaciones y enfoques diferentes para tales ejemplos o escenarios. En muchos casos, el objetivo es que sea posible automatizar la ejecución de dichas pruebas mediante una herramienta de software, ya sea ad-hoc para el equipo de desarrollo o fuera de la plataforma.  Antipatrón Los antipatrones son soluciones comunes a problemas comunes donde la solución es ineficaz y puede resultar en consecuencias no deseadas. 44 El desarrollo del cliente es un marco de cuatro pasos que proporciona una manera de utilizar un enfoque científico para validar las suposiciones sobre su producto y negocio.  Daily Meeting Un Daily Meeting es una de las técnicas ágiles más comúnmente practicadas y presenta la oportunidad para que un equipo se reúna de forma regular para coordinar sus actividades.  Terminado La definición de terminado es una lista acordada de las actividades que se consideran necesarias para obtener un incremento del producto, normalmente representado por un caso de usuario, a un estado hecho al final de un sprint.  Épica Se denomina Epic a una historia de usuario que por su gran tamaño el equipo descompone en historias con un tamaño más adecuado para ser gestionada con los principios y técnicas ágiles.  Historia de usuario En consulta con el cliente o el Product Owner en la que el equipo divide el trabajo a realizar en incrementos funcionales. Se espera que cada historia de usuario produzca una contribución al valor del producto en general.  Estimación 45 En el desarrollo de software, una "estimación" es la evaluación del esfuerzo necesario para llevar a cabo una tarea de desarrollo determinada; esto se expresa con mayor frecuencia en términos de duración.  Facilitador Un facilitador es una persona que elige o se le da el papel explícito de llevar a cabo una reunión.  Lanzamientos frecuentes Un equipo de Agile lanza con frecuencia su producto en manos de los usuarios finales, escuchando comentarios, ya sean críticos o agradecidos.  Desarrollo Incremental En un contexto ágil, el desarrollo incremental es cuando cada versión sucesiva de un producto es utilizable y cada una se basa en la versión anterior mediante la adición de funcionalidad visible para el usuario.  Integración Integración se refiere a cualquier esfuerzo que aún se requiera para que un equipo de proyecto entregue un producto adecuado para su lanzamiento como un todo funcional.  INVEST 46 El acrónimo INVEST significa un conjunto de criterios utilizados para evaluar la calidad de una historia de usuario. Si la historia no cumple con uno de estos criterios, es posible que el equipo desee reformularla.  Iteración Una iteración es un cuadro de tiempo (TimeBox) durante el cual tiene lugar el desarrollo. La duración puede variar de un proyecto a otro y suele ser fija.  Kanban El Método Kanban es un medio para diseñar, gestionar y mejorar el flujo para el trabajo de conocimiento y permite a los equipos comenzar donde están para impulsar el cambio evolutivo.  Tablero Kanban (Kanban Board) Un tablero Kanban es una herramienta de flujo de trabajo visual que consta de varias columnas. Cada columna representa una fase diferente en el proceso de flujo de trabajo.  Puntos Los equipos ágiles generalmente prefieren expresar las estimaciones en unidades que no sean las "horas-hombre" que se distinguen por el tiempo. Posiblemente la unidad más extendida es los "puntos de historia".  Product Backlog 49 proyecto o esfuerzo, casi todas ellas a tiempo completo. 50  Sala de equipo El equipo (idealmente todo el equipo, incluido el propietario del producto o el experto en dominio) tiene el uso de un espacio dedicado durante la duración del proyecto, aparte de las actividades de otros grupos.  TimeBox Un timebox es un período de tiempo previamente acordado durante el cual una persona o un equipo trabaja constantemente hacia la finalización de algún objetivo. 51 4. Conclusiones Para concluir, si estuvimos atentos a todo lo mencionado en la investigación, sabremos que Agile es una de las filosofías que más ayuda al hacer trabajos y proyectos, ya que busca hacer un cambio en los ya mencionados para sacarles provecho. Luego de esto vienen los marcos de trabajo Scrum, Kanban y Scrumban los cuales son algunas de las metodologías que mejores resultados da a la hora de hacer trabajos. Lo que nos vienen a implementar estas metodologías son nuevas formas de trabajar ya que nos sacan de la misma rutina de siempre en los proyectos y traen ideas mejores y hasta innovadoras; por ejemplo, con Scrum entregamos el valor en períodos cortos de tiempo ya que esto permite insertar el producto en el mercado de una forma rápida y así empezara generar ganancias. Con el Kanban el objetivo de esta es gestionar de forma general la manera en que se completan las tareas, garantizando así calidad, reduciendo el desperdicio, brinda una mejora continua ya que 54 Garzas. J. (2013) Scaled Agile Framework (SAFe), una metodología ágil para grandes empresas https://www.javiergarzas.com/2013/09/scaled- agil.html Mangialomini. J. (2016) Introducción a SAFe https://www.adictosaltrabajo.com/2016/06/27/introduccion-a-safe/ Tomas. D. (2019) Cómo implementar la metodología OKR http://www.davidtomas.com/2019/12/como-implementar-la-metodologia-okr/ Content. R. (2018) OKR: qué es y cómo implementar la metodología de objectives and key results https://rockcontent.com/es/blog/okr/ Malzoni. E. (2018) OKRs ¿Qué son y cómo implementarlas? https://www.qulture.rocks/es/blog/okrs-que- son-y-como- implementarlas%EF%BB%BF/ Neoland. (2018) ¿Qué es el diseño UX/UI)?https://www.neoland.es/blog/que-es- el-ux-ui- design Deloitte. C. (2021) ¿Cuál es la metodología mas adecuada para tu proyecto?https://www2.deloitte.com/es/es/pages/technology/articles/waterfall- vs-agile.html Domínguez. P. (2021) En que consiste el modelo en cascada https://openclassrooms.com/en/courses/4309151-gestiona-tu-proyecto-de- desarrollo/4538221- 55 en-que-consiste-el-modelo-en-cascada RT. M. (2020) Anti- patrones http://doagilebeagile.com/2020/08/04/s1e3-anti- patrones-en- agil-vol-1/ 56 Quijano. J. (2021) Antipatrones Agiles ¿Quién no se siente identificado con alguno? https://www.genbeta.com/desarrollo/antipatrones-agiles-quien-no-se-siente- identificado-con- alguno Graván Durán. A. (2018) Manifiesto “agile”, ¿Qué es? https://www.bbva.com/es/agile- manifiesto-que-es/ https://www.scrumio.com/glosario-agile/#:~:text=Product%20Backlog%20aqu%C3%AD.- ,Product%20Goal%20u%20Objetivo%20de%20Producto,es%20el%20Product%20Goal%20aqu %C3%AD.
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved