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

Scrum Metodologia de Desarrollo Agil, Monografías, Ensayos de Tecnologías de la Información y la Comunicación

Scrum es una metodología de desarrollo que no implica mayor complejidad, pero que sí necesita de un gran aporte colaborativo por parte de los integrantes del equipo. Esto es debido a que este metodología no se centra en seguir un plan pre elaborado, sino en adaptarse de manera continúa a las situaciones que se vayan presentando durante el proyecto.

Tipo: Monografías, Ensayos

2018/2019

Subido el 30/07/2019

luiggi-lamela
luiggi-lamela 🇵🇪

5 documentos

1 / 30

Toggle sidebar

Documentos relacionados


Vista previa parcial del texto

¡Descarga Scrum Metodologia de Desarrollo Agil y más Monografías, Ensayos en PDF de Tecnologías de la Información y la Comunicación solo en Docsity! 2012-I Calidad de Software | Universidad San Martin de Porres SCRUM SCRUM 1 1 Calidad de Software2012-IFIA Colchado Ramos , Walter De La Quintana Cornejo, Alonso Luján Del Castillo, Franccesco Maguiña Cárdenas, Carlos SCRUM SCRUM SCRUM 2 2 Calidad de Software2012-IFIA : SCRUM 1. Introducción Hoy en día, el mundo cambia rápidamente de necesidades, aún mucho más que antes. Cada vez se necesita adaptarse a las nuevas situaciones que van modificándose con el día a día. En el desarrollo de Software ocurre lo mismo, hay que adaptarse a este cambio de la mejor manera posible, tal que el planeamiento de un software tenga todo calculado en caso ocurra un evento inesperado. Sin embargo, la velocidad de los cambios de necesidades de software ha sido mucho más veloz que la de desarrollo con las metodologías clásicas. Para este problema, hay ciertas metodologías que han acudido al rescate, las llamadas “metodologías ágiles”, como es el caso de Scrum. Scrum es una metodología de desarrollo que no implica mayor complejidad, pero que sí necesita de un gran aporte colaborativo por parte de los integrantes del equipo. Esto es debido a que este metodología no se centra en seguir un plan pre elaborado, sino en adaptarse de manera continúa a las situaciones que se vayan presentando durante el proyecto. Es una metodología ágil que tiene lo siguiente: • Una forma de desarrollo adaptable. • No está orientado a los procesos tanto como a las personas. • Utiliza un desarrollo ágil, es decir, emplea iteraciones y es incremental. Scrum, cambió la forma de ver un proyecto, centrándolo en manejar la funcionalidad más que en entregables de documentación. Y a pesar de controlar de forma empírica y adaptable un proyecto, se centra en manejar un trabajo de equipo, de tal manera que todos sepan todo acerca del proyecto. En pocas palabras, el hecho de que sea una metodología ágil no implica que carezca de buenas prácticas o que genere un manejo desordenado del proyecto. Por eso, en el presente trabajo, se explicará sobre la metodología, cómo está conformada, qué roles participan, la forma de trabajo de Scrum, y varios puntos más. Asimismo, se dará un ejemplo práctico de un proyecto realizado con la metodología. SCRUM SCRUM 5 5 Calidad de Software2012-IFIA SCRUM SCRUM 6 6 Calidad de Software2012-IFIA 2. La Esencia de SCRUM Hay ciertos conceptos que Scrum maneja y que es necesario tenerlos en claro para poder seguir con la metodología. Hay que tener en cuenta, que no es un desarrollo clásico, esta metodología rompe con el clásico esquema de pre planificar un proyecto e ir siguiendo la estructura trazada. Scrum maneja de una manera empírica y adaptable la forma cómo va evolucionando el proyecto, es decir, tiene unas prácticas que hacen que esta tenga una gestión ágil. Revisión de las Iteraciones En la metodología, las iteraciones son conocidas como sprint. Al final de cada sprint, siempre se realiza una revisión del proyecto con todo el equipo del proyecto. Estas son las reuniones donde, como máximo se determinará algún cambio significativo en el producto final. Desarrollo Incremental y Evolutivo No hay un diseño pre elaborado para el proyecto. El hecho que sea incremental quiere decir que al final de cada iteración tenemos una parte del producto final complemente funcional, lista para ser probada y evaluada. Esto ayuda a reducir la incertidumbre y adecuarse a los eventuales cambios que se produzcan. Si se desea tratar de hacer una planificación a futuro, tal como la duración del proyecto, se tendrá que confiar en la experiencia de un miembro del equipo que pueda estimar el tiempo de las iteraciones y el desarrollo del producto en general. Sin embargo, no es recomendable pre estimar tiempos, ay que el constante cambio va a variar el tiempo inicial calculado. Hay que tener en cuenta que este no es un desarrollo por fases; esto mismo es lo que hace de la metodología, ágil. Auto-Organización En las metodologías ágiles, la pre-planificación del proyecto recae sobre un rol. Este rol será el que participe en la toma de decisiones a lo largo del proyecto. En cambio, en Scrum, los equipos, al ser auto-organizados, pueden tomar decisiones como equipo sin esperar la autorización de algún otro rol. Colaboración La naturaleza ágil de la metodología hace fácil que los integrantes del equipo colaboren entre sí, ya que si se realiza de manera abierta, se pueden compartir los conocimientos de cada integrante, independientemente de su responsabilidad en el proyecto, lo que enriquece al proyecto y se puede manejar eventos más fácilmente al existir 100% de comunicación. SCRUM SCRUM 7 7 Calidad de Software2012-IFIA Metodología 1. Introducción Como se mencionó anteriormente las necesidades de un proyecto o producto de software cambian constantemente, a medida que esto sucede, muchas metodologías clásicas debido a la burocracia y la gran cantidad de documentación que manejan terminan haciendo al proyecto más engorroso que centrando todas sus actividades en la funcionalidad del producto, la metodología SCRUM parte de ese problema para basar sus soluciones de tal manera que el desarrollo se realice de una manera informal pero simple, explícita y flexible para gestionar el desarrollo del software basando todas sus actividades envueltas en procesos iterativos e incrementales y además de contar con un equipo que trabajen teniendo un objetivo claro, haciéndolo todos juntos y en la misma dirección. SCRUM respeta las cinco etapas tradicionales de un proyecto que facilitan su gestión y control; ellas son: planificación, análisis, diseño, construcción y prueba, e implementación La metodología SCRUM se inicia cuando se concibe una visión general del proyecto, haciendo las especificaciones necesarias para priorizar las funcionalidades y elegir cuales son las más importantes para llevarlas acabo en un periodo de tiempo breve (normalmente 30 días) o llamado también SPRINT haciendo de éste un proceso ágil, iterativo e incremental. Hay que tener en cuenta que un punto clave de SCRUM es que el equipo se centra en maximizar las capacidades de entregar y responder a aquellos requisitos emergentes de manera rápida. 2. Proceso Iterativo e Incremental SCRUM se basa en el incremento operativo del producto (SPRINT) o iteraciones las cuales contienen todo el trabajo relacionados con las funcionalidades que se desarrollara en una etapa haciendo entregas parciales al usuario relacionados con la evolución del proyecto. Se ha propuesto como proceso iterativo para garantizar la retroalimentación continua de información así como la validación del sistema y además como un proceso incremental para poder así añadir capacidades y funcionalidades de acuerdo al crecimiento de las necesidades. Cabe resaltar que el conjunto de funcionalidades a desarrollar por cada iteración se especifican en el Product Backlog y éstas se determinan durante las reuniones SPRINT PLANNING donde se definen los requisitos a desarrollar determinando así la cantidad de trabajo a realizar, se debe tener en claro que el desarrollo de estás funcionalidades no se podrán cambiar una vez que la iteración empiece. Cada una de estas iteraciones contiene en sus actividades reuniones breves diarias en las que participa todo el grupo, a estas reuniones se les llama el Scrum Daily Meeting, en el cual cada miembro del equipo describe que actividades ha realizado desde la ultima reunión, que actividades realizará ese día y explicar que obstáculos o riesgos puede presentar las actividades que realiza 3. Etapas del Proceso de Desarrollo 3.1.Planificación • Objetivo: Definir el proyecto propiamente dicho. • Tareas: ✓ Relevamiento preliminar de los procesos del negocio SCRUM SCRUM 10 10 Calidad de Software2012-IFIA ✓ Definición de actividades ✓ Definición del alcance ✓ Estimación de tiempos ✓ Definición de recursos ✓ Análisis de riesgos ✓ Estimación de costos • Entregables: ✓ Documento de definición del proyecto o del Sprint. La planificación se realiza en forma general para determinar el alcance, la duración y el precio del proyecto, una vez que el cliente decide llevarlo a cabo, las siguientes planificaciones son a nivel de iteración, además se planifica el Sprint. 3.2.Análisis • Objetivo: Obtener todas las definiciones y especificaciones funcionales para poder llevar adelante las fases de Diseño y Construcción. • Tareas: ✓ Afianzamiento de las definiciones funcionales ✓ Definición de los requisitos a través de casos de uso ✓ Planificación de las etapas posteriores ✓ Ajuste de los tiempos prestablecidos. • Entregables: ✓ Documento de alcance ✓ Casos de uso y sus respectivas descripciones. Es una etapa clave ya que el alcance y las características de la solución quedan acordados, lo cual permite mitigar los principales riesgos de un proyecto 3.3.Diseño • Objetivo: Generar el modelo de datos para que la solución cumpla con los requerimientos definidos. • Tareas: ✓ Diagrama Entidad Relación (DER) ✓ Diseño de las interfaces de usuario SCRUM SCRUM 11 11 Calidad de Software2012-IFIA ✓ Diseño de las integraciones a realizar. ✓ Pruebas para puntos críticos del proyecto. • Entregables: ✓ DER ✓ Esqueleto del software armado ✓ Guía de diseño ✓ Diseño de la infraestructura ✓ Planificación ajustada con la evolución y avances obtenidos El diseño generado deberá contemplar las posibles modificaciones futuras, crecimiento de la solución, mayor carga e incorporación de nuevas funcionalidades. 3.4.Construcción y Pruebas • Objetivo: Construir la solución del Release (Sprint), cumpliendo con las definiciones y especificaciones de los documentos de alcance.. • Tareas: ✓ Programación y desarrollo de todos los componentes y funcionalidades. ✓ Implementación de las estructuras de datos y sus procedimientos ✓ Elaboración de documentación técnica y ajustes funcionales ✓ Implementación de las integraciones y todas las actividadesnecesarias para poner en marcha la solución. ✓ Pruebas de usabilidad, funcionalidad y carga de datos. • Entregables: ✓ Incremento de software funcionando Generalmente es la etapa de mayor duración y con mayor dinámica de trabajo 3.5.Implementación • Objetivo: Disponer del sistema productivo con sus ambientes de producción, metodología de trabajo y manuales operativos. • Tareas: ✓ Puesta en marcha de la aplicación en el ambiente de producción SCRUM SCRUM 12 12 Calidad de Software2012-IFIA herramienta, de acceso libre y fácil de utilizar, es una aplicación Web que permite compartir la información entre todo el equipo. Esta herramienta para la administración del proyecto permite: ✓ Manejar dinámicamente el Backlog de Producto haciendo una estimación inicial del esfuerzo de cada requerimiento identificado hasta el momento. ✓ Definir las tareas y arrastrarlas al Sprint apropiado, donde se irán restimando diariamente. ✓ Observar un gráfico por cada Sprint que nos indica la velocidad con la que avanza el proyecto. Estos gráficos llamados “burndown” no sólo permiten observar el estado de avance del proyecto, sino también analizar sus comportamientos e ir aprendiendo para mejorar los Sprints que restan. 3.12. Burndown chart En Scrum se planifica y se mide el esfuerzo restante necesario para desarrollar el producto. Esta gráfica suele utilizarse en lugar de un diagrama de PERT debido a que el camino crítico en un desarrollo ágil cambia diariamente. Esto haría obsoleto el diagrama de PERT cada día. Es por esto que no es útil una herramienta que modele el camino crítico a partir de actividades. La solución es utilizar una técnica que permita medir la velocidad de desarrollo, para ello se utiliza el criterio del equipo a partir del cual se calcula diariamente el camino crítico. Esto permite recalcular el plan y la velocidad en que se realiza el trabajo. En función de esto el equipo puede trabajar para acelerar o desacelerar el trabajo para cumplir con la fecha de entrega. SCRUM SCRUM 15 15 Calidad de Software2012-IFIA : Desarrollo de Ingeniería 1. Planificación Inicial 1.1.Solicitud de Proyecto El presente proyecto surge de una solicitud realizada por un productor de uva y propietario de tres fincas ubicadas en el departamento de Lavalle, quien ha pedido la construcción de un Software de Trazabilidad que le facilite la tarea de registración de todas las operaciones realizadas durante el proceso de producción de cada una de sus propiedades, que permita optimizar el manejo de información en el campo y demostrar que se cumple con la trazabilidad. El porqué de la solicitud del proyecto 1.2.Explicación: La solicitud del proyecto de desarrollar un Software de Trazabilidad para la producción de uva nace a partir de las amenazas que han surgido en el mundo en materia de seguridad que han llevado a EE.UU. y a la Unión Europea (UE) a adoptar severas medidas en los procedimientos de importación de productos, especialmente los alimentos para uso humano y animal. La situación que se presenta en la actualidad parte de un principio general de prohibición que establece que no se comercializarán alimentos que no sean seguros, que por definición reglamentaria comprende tanto aquellos que sean nocivos para la salud, como los que no sean aptos para el consumo humano. 1.3.Evaluación de la información deseada Para el desarrollo de esta solución se debe conocer la historia de la uva a través del ciclo de producción; identificar el cómo, quién, cuándo, dónde y por qué se hizo en cualquier etapa de la cadena agrícola. Se debe poder identificar los productos, hasta el momento en que el operador realice su entrega al siguiente eslabón en la cadena. El software deberá mantener un registro de las propiedades rurales, identificando para cada una de ellas sus titulares y/o productores, y para cada viñedo la distribución de sus cuarteles, origen de los mismos, el tipo de conducción y las variedades de uva que contempla: ✓ Administrar datos de titulares y/o productores, trabajadores, proveedores y bodegas. ✓ Administrar las maquinarias y camiones, con sus revisiones técnicas y seguros de transportes correspondientes. ✓ Registrar en forma rápida y sencilla cada uno de los partes de las tareas agrícolas que se realizan en la finca, que contienen información como: Tarea que se realizó, duración, trabajador, máquinas y agroquímicos utilizados. SCRUM SCRUM 16 16 Calidad de Software2012-IFIA ✓ Registrar en forma rápida y sencilla cada uno de los remitos de cosecha que se efectúan durante la vendimia, que contienen información como: Finca, cuartel, cosechador, kilos, camión, bodega destino, etc. ✓ Administrar usuarios. Permitir diferentes niveles de acceso al sistema. 1.4.Situación actual Actualmente el cliente nunca ha contado con un sistema informático, ya que todos los procesos que realizan quedan asentados en papel, si bien es cierto se lleva un registro completo y detallado del personal pero, aparte de ello, son muy pocas la tareas de campo que se registran, quedando estas prácticamente reducidas a la etapa de la vendimia, donde se deja asentada una información mínima de lo que se ha cosechado. Dicha registración, que se realiza manualmente, queda en planillas y también en lo que es denominado el Libro de Campo. Esta manera de operar imposibilita llevar un control de las actividades realizadas durante todo el proceso de producción y manifiesta la incapacidad de contar con información rápida y precisa en el momento que se solicite. 1.5.Estructura de División del Trabajo (EDT) La EDT mostrada a continuación está elaborada en un formato de alto nivel para poder tener una visión general del alcance del proyecto. SCRUM SCRUM 17 17 Calidad de Software2012-IFIA ✓ Precio: $5.000 por cada lugar físico donde se instale el sistema. 2.2. Software: e-FLEXWARE Bodegas - Empresa: BEJERMAN (Argentina) ✓ Administra el trabajo realizado en la viña identificando y asociando los elementos que intervienen en cada tarea. ✓ Efectúa un seguimiento estricto de la maduración de la uva. ✓ Permite efectuar comparaciones entre diferentes años. ✓ Refleja los ingresos a la Bodega indicando para caja viaje de uva su procedencia. ✓ El módulo de Producción es uno más que se puede integrar al Sistema e- Flexware ERP, es decir no es un módulo que pueda venderse en forma independiente. ✓ Para un Sistema de gestión monousuario, hay que pensar en una idea de inversión de aproximadamente $10.000. 2.3. Software: Packing - Empresa: COMPUAGRO (Chile) ✓ Control total de Trazabilidad (Caja, Pallet, Bins). ✓ Control de inventarios de materiales e integración con Agro2000 para el pago de remuneraciones de acuerdo a la producción del día. ✓ Herramienta que le permite programar sus embarques, controlando el cumplimiento del instructivo (el número de pallet especifico). ✓ Emite los informes necesarios para las inspecciones SAG y otros. ✓ Etiquetado de cajas con la información que requiera. ✓ Cierre de proceso por productor o viñedo. ✓ Precio: $4.500 por cada lugar físico donde se instale el sistema. 1.9.Hardware Recomendado para asegurar calidad de servicio SLA De acuerdo a la calidad de servicio acordada, la empresa consultora recomienda la adquisición de un equipo mínimo como el que sigue: SCRUM SCRUM 20 20 Calidad de Software2012-IFIA ✓ Intel Core 2 duo o Core i3(Recomendado Core i5 o superior) ✓ 3GB MB Memoria RAM (Recomendado 4GB de RAM) ✓ 500GB de Disco Rígido (Recomendado 800GB de Disco Rígido) ✓ Resolución de pantalla 800 x 600 (Recomendado 1024 x 768) 3. Comenzando con SCRUM El primer paso es comenzar a armar el Backlog de Producto. Inicialmente colocamos en él los requerimientos de la etapa de investigación, que será la primera que llevaremos a cabo; luego colocamos los requerimientos que fueron identificados a partir de los casos de uso en la planificación inicial del proyecto (que forma parte del análisis) y que luego fueron priorizados por el cliente. Como se observa en el siguiente gráfico (leer de abajo hacia arriba), el Backlog contiene inicialmente todos los requerimientos definidos hasta el momento estimados en horas de esfuerzo. Backlog del Producto 1.10. Agenda del Proyecto 1.11. Sprint 1: Objetivo: El objetivo del primer Sprint es realizar la investigación sobre la necesidad y la importancia de la trazabilidad en la producción agraria, conocer el Reglamento que la define y también el producto sobre el que se aplicará, más específicamente la producción de uva. Alcance: El alcance abarca el módulo de Investigación previo al desarrollo del software. SCRUM SCRUM 21 21 Calidad de Software2012-IFIA Como se puede observar en el siguiente gráfico se presenta el primer Sprint con sus tareas definidas y estimadas en horas, vale aclarar que es la estimación inicial y que este es el único de tres semanas; los Sprints restantes serán de 4 semanas. Backlog del Producto 1.12. Sprint 2: Objetivo: Comenzar con el desarrollo de los primeros requerimientos que se encuentran actualmente en el Backlog para obtener la primera versión funcional del software. Alcance: El alcance del segundo Sprint abarca parte del módulo de Datos, se seleccionan las primeras 8 aplicaciones para carga de datos. Backlog de Sprint: Como puede observarse en el siguiente gráfico se presenta el segundo Sprint con sus tareas definidas y sus estimaciones iniciales en horas. Debido a que todos los requerimientos tienen definidas las mismas tareas (excepto Planificación e Implementación) y a los efectos de que el gráfico no sea tan extenso se ha desplegado solamente el primer requerimiento. Las tareas definidas para cada requerimiento transitan por todas las etapas especificadas en nuestro proceso de desarrollo: ✓ Describir el caso de uso Análisis ✓ Modelado de datos Análisis y Diseño ✓ Crear el formulario Diseño y Construcción ✓ Compilar y Probar Construcción y Prueba SCRUM SCRUM 22 22 Calidad de Software2012-IFIA : Conclusiones y Recomendaciones 1. Conclusiones • SCRUM es una metodología ágil que permite concentrarse en entregar el producto con todas las características necesarias más que en aspectos secundarios como documentación. • Se manejan pocos roles y artefactos, permitiendo la baja complejidad de la metodología. • A diferencia de metodologías tradicionales, el cliente forma parte del equipo. • SCRUM, a pesar de ser una metodología ágil, puede ser desarrollada usando estándares como la ISO 12207. • La comunicación es parte vital de la metodología y esta se hace verbalmente (informal) • El equipo de desarrollo tiene una jerarquía plana, es decir, todos tienen el mismo nivel dentro del equipo. • A diferencia de XP, SCRUM se centra más en la parte administrativa del proyecto que en la de desarrollo. 2. Recomendaciones • Las iteraciones (sprints) deberán tomar desde 15 a 30 días como máximo. • La tarea del SCRUM Master es levantar todos los obstáculos para que el equipo pueda realizar su trabajo. • Se debe involucrar lo más posible al cliente, ya que es quien presentará el product backlog • Al trabajar con los stories de cada Sprint, es bueno anotar cada uno en un post-it en un pizarrón y empezar a ordenarlos de esa manera. • Las reuniones diarias (daily scrum) deberán incluir los temas: qué hice ayer, qué problemas tuve y qué haré hoy. Cada participante no deberá demorar más del tiempo establecido. • Añadir documentación de otras metodologías puede ser útil para ciertos casos. La Especificación de Caso de Uso, es muy útil al momento de detallar las funcionalidades del producto. SCRUM SCRUM 25 25 Calidad de Software2012-IFIA 3. Referencias Bibliográficas • PALACIO, Juan Flexibilidad con SCRUM. Principios de Diseño e Implantación de SCRUM. • CITÓN, María Laura Metodología Ágil SCRUM aplicado al desarrollo de un software de trazabilidad. SCRUM SCRUM 26 26 Calidad de Software2012-IFIA Anexos 1. Mapeo de SCRUM con ISO 12207 SCRUM SCRUM 27 27 Calidad de Software2012-IFIA
Docsity logo



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