lunes, 15 de octubre de 2018

UML


Resultado de imagen para IMAGENES SOBRE UML1. Contenido

   INTEGRANTES:

  1. Alexandra Villanueva Abanto
  2. Cristel Delgado Bustamante
  3. Gianella Inoñan Rodriguez                                                    Ingeniería de Requerimientos

I. Tema: Lenguaje UML
1.1.- Definición
UML es llamado un lenguaje de modelado, no un método. Los métodos consisten de ambos de un lenguaje de modelado y de un proceso. El lenguaje de modelado es la notación (principalmente gráfica) que usan los métodos para expresar un diseño. El proceso indica los pasos que se deben seguir para llegar a un diseño. UML provee a los analistas y arquitectos de sistemas que trabajan en el diseño y análisis de objetos de un lenguaje consistente para especificar, visualizar, construir y documentar los artefactos de un sistema de software, así también es útil para hacer modelos de negocios.
1.2.- Características

  1.  Uso de metamodelo
  2. Especificación de un IDL(Lenguaje de Intercambio de Datos)
  3. Usa notación comprensible por el humano para representar modelos ADOO

1.3.-Utilidad -Beneficios
UML es un lenguaje para modelamiento de propósito general evolutivo, ampliamente aplicable, dable de ser soportado por herramientas e industrialmente estandarizado. Se aplica a una multitud de diferentes tipos de sistemas, dominios, y métodos o procesos.

  • Como un lenguaje para modelamiento ampliamente aplicable, puede ser aplicado a diferentes tipos de sistemas (software y no - software), dominios (negocios versus software) y métodos o procesos.
  • Como un lenguaje para modelamiento soportable por herramientas, las herramientas ya están disponibles para soportar la aplicación del lenguaje para especificar, visualizar, construir y documentar sistemas.
  • Como un lenguaje para modelamiento industrialmente estandarizado, no es un lenguaje cerrado, propiedad de alguien, sino más bien, un lenguaje abierto y totalmente extensible reconocido por la industria.
  • UML posibilita la captura, comunicación y nivelación de conocimiento estratégico, táctico y operacional para facilitar el incremento de valor, aumentando la calidad, reduciendo costos y reduciendo el tiempo de presentación al mercado; manejando riesgos y siendo proactivo para el posible aumento de complejidad o cambio.


BENEFICIOS


  • Provee a los desarrolladores un lenguaje de modelamiento visual listo para utilizar
  • Proporciona mecanismos de extensión y de especialización para ampliar lo0s conceptos básicos
  • Independencia de los lenguaje de programación y de métodos y procesos de desarrollo de software
  •  Proporciona una base para entender el lenguaje modelado
  • Aumenta el crecimiento de las herramientas de Orientación a Objetos


1.4.-Vistas
Cada diagrama usa la anotación pertinente y la suma de estos diagramas crean las diferentes vistas.

  • Vista Casos de uso: Se forma con los diagramas de casos de uso, colaboración, estados y actividades.
  • Vista de Procesos: Se forma con los diagramas de la vista de diseño. Recalcando las clases y objetos referentes a procesos.
  • Vista de Diseño: Se forma con los diagramas de clases, objetos, colaboración, estados y actividades.
  • Vista de Implementación: Se forma con los diagramas de componentes, colaboración, estados y actividades.
  • Vista de Despliegue: Se forma con los diagramas de despliegue, interacción, estados y actividades.

1.5.- DiagramasResultado de imagen para IMAGENES SOBRE UML
Se dispone de los siguientes:

  • Diagrama de casos de uso: Muestran los casos de uso, actores y sus relaciones. Muestra quien puede hacer que y relaciones existen entre acciones (casos de uso). Son muy importantes para modelar y organizar el comportamiento del sistema.
  • Diagrama de Clases: muestra las clases, interfaces, colaboraciones y sus relaciones. Son los más comunes y dan una vista estática del proyecto.
  •  Diagrama de Objetos: Es un diagrama de instancias de las clases mostradas en el diagrama de clases. Muestra las instancias y como se relacionan entre ellas. Se da una visión de casos reales.
  • Diagrama de Componentes: Muestran la organización de los componentes del sistema. Un componente se corresponde con una o varias clases, interfaces o colaboraciones.
  • Diagrama de Despliegue: Muestra los nodos y sus relaciones. Un nodo es un conjunto de componentes. Se utiliza para reducir la complejidad de los diagramas de clases y componentes de un gran sistema. Sirve como resumen e índice.
  • Diagrama de Secuencia y Diagrama de Colaboración: Muestran a los diferentes objetos y las relaciones que pueden tener entre ellos, los mensajes que se envían entre ellos. Son dos diagramas diferentes, que se puede pasar de uno a otro sin perdida de información, pero que nos dan puntos de vista diferentes del sistema. En resumen, cualquiera de los dos es un Diagrama de Interacción.
  • Diagrama de Estados: Muestra los estados, eventos, transiciones y actividades de los diferentes objetos. Son útiles en sistemas que reaccionen a eventos.
  • Diagrama de Actividades: Es un caso especial del diagrama de estados. Muestra el flujo entre los objetos. Se utilizan para modelar el funcionamiento del sistema y el flujo de control

2. Resumen
Uso de metamodelo - Utilidad - Beneficios UML es un lenguaje para modelamiento de propósito general evolutivo, ampliamente aplicable, dable de ser soportado por herramientas e industrialmente estandarizado. Como un lenguaje para modelamiento ampliamente aplicable, puede ser aplicado a diferentes tipos de sistemas ( software y no - software ), dominios ( negocios versus software ) y métodos o procesos. Como un lenguaje para modelamiento soportable por herramientas, las herramientas ya están disponibles para soportar la aplicación del lenguaje para especificar, visualizar, construir y documentar sistemas. Como un lenguaje para modelamiento industrialmente estandarizado, no es un lenguaje cerrado, propiedad de alguien, sino más bien, un lenguaje abierto y totalmente extensible reconocido por la industria. Provee a los desarrolladores un lenguaje de modelamiento visual listo para utilizar Aumenta el crecimiento de las herramientas de Orientación a Objetos Diagrama de Objetos : Es un diagrama de instancias de las clases mostradas en el diagrama de clases. Diagrama de Secuencia y Diagrama de Colaboración : Muestran a los diferentes objetos y las relaciones que pueden tener entre ellos, los mensajes que se envían entre ellos. En resumen, cualquiera de los dos es un Diagrama de Interacción. Diagrama de Actividades : Es un caso especial del diagrama de estados
3. Summary

Use of metamodel - Utility - Benefits UML is a language for modeling of general evolutionary purpose,
 widely applicable, it can be supported by tools and industrially standardized. As a widely applicable
 modeling language, it can be applied to different types of systems (software and non - software), 
domains (business versus software) and methods or processes. As a language for modeling supported
 by tools, the tools are already available to support the application of the language to specify, visualize, 
build and document systems. As an industrially standardized modeling language, it is not a closed 
language, owned by someone, but rather, an open and fully extensible language recognized by the
 industry. Provides developers with a visual modeling language ready to use. Increases the growth of 
Object Orientation tools. Object Diagram: It is an instance diagram of the classes shown in the class 
diagram. Sequence Diagram and Collaboration Diagram: They show the different objects and the
 relationships they can have between them, the messages that are sent between them. In summary, 
either of these is an Interaction Diagram. Activity Diagram: It is a special case of the state diagram

4. Recomendaciones

  • Es necesario seguir una frecuencia gráfica de pasos, o procesos para alcanzar la solución del problema. Se recomienda que la construcción del diagrama esté correcta; al igual que el paso del mismo a un lenguaje de programación. Si está correcto puede resultar relativamente simple para el entendimiento de las personas ajenas a la elaboración del mismo, además permite que el problema se solucione de una manera más eficiente y directa. 
  • Se recomienda buscar la mejor alternativa posible para la solución del problema, ya que los diagramas de flujos obligan a un análisis de todos los caminos posibles para encontrarle solución a cualquier situación o problema.
  •  Se deben usar solamente líneas de flujo horizontal y/o vertical.



5. Conclusiones
Podemos apoyarnos en UML para el modelado de sistemas en tiempo real y al hacerlo, nuestras recomendaciones son las siguientes:

Capturar y entender los requerimientos usando un modelo de casos de uso.

Estudiar las distintas partes que conforman al sistema y cómo interactúan estas. Reflejando las interfaces, protocolos e intercambio de señales. Para tal fin nos podemos apoyar de los diagramas de clases, estructura compuesta y comunicación.

Estudiar el comportamiento del sistema en el tiempo y el dependiente del estado usando diagramas de interacción, diagramas de transición de estados y diagramas de tiempo.

Por supuesto esta no es una relación exhaustiva, en caso de ser necesario adicione (o ¿porque no? remueva) los diagramas que sean necesarios, lo importante como siempre es tener una comprensión aceptable del problema y especificar una solución que lo resuelva. No es tan complejo… ni tan simple.

6. Apreciación del Equipo

  • Comprender que son los casos de uso y cómo estos se relacionan con los sujetos y cuál es su papel en el modelado realizar los respectivos diagramas de clases  y  comprender su estructura y dinámica de datos.
  • Es el nuevo estándar para los ingenieros de sistemas,  el lenguaje de modelado unificado como herramienta base de este método de programación sirve como guía de entendimiento para modelar requisitos y poder entender el problema desde la perspectiva de los flujos de los datos y de la información solamente hasta cuando se empieza a modelar es cuando se van encontrando nuevos eventos que posiblemente no se piensen en el momento de concebir el problema, cuando se modela se entiende de manera más global el desarrollo.
  • Se desarrollaron los respectivos diagramas y fue asimilada la importancia que estos tienen  cuando se necesita comprender el flujo de la información. El ejercicio propuesto  brindo las características que casi todos los programas informáticos tienen con sus respectivas adecuaciones.
    Se logró un verdadero aprendizaje de la importancia del Lenguaje de modelado unificado como herramienta de programación.

7. Glosario de Términos
  1. IDL: Lenguaje de Intercambio de Datos
  2. PROACTIVO:Que tiene iniciativa y capacidad para anticiparse a problemas o necesidades futuras.
  3. IMPLEMENTACIÓN: Se forma con los diagramas de componentes, colaboración, estados y actividades.
  4. DESPLIEGUE: Se forma con los diagramas de despliegue, interacción, estados y actividades.
  5. DIAGRAMA DE ESTADOS: Muestra los estados, eventos, transiciones y actividades de los diferentes objetos. Son útiles en sistemas que reaccionen a eventos.
  6. DIAGRAMA DE ACTIVIDADES: Es un caso especial del diagrama de estados. Muestra el flujo entre los objetos. Se utilizan para modelar el funcionamiento del sistema y el flujo de control
  7. VISTA CASOS DE USO: Se forma con los diagramas de casos de uso, colaboración, estados y actividades.
  8. VISTA DE PROCESOS: Se forma con los diagramas de la vista de diseño. Recalcando las clases y objetos referentes a procesos.
  9. VISTA DE DISEÑO: Se forma con los diagramas de clases, objetos, colaboración, estados y actividades.
  10. DIAGRAMA DE CLASES: muestra las clases, interfaces, colaboraciones y sus relaciones. Son los más comunes y dan una vista estática del proyecto.

8. Bibliografía o Linkografía
 http://es.wikipedia.org/wiki/Biblioteca_virtual.
: http://linux.ciberaula.com/articulo/breve_analisis_software_libre/.
 http://www.monografias.com/trabajos12/elsoflib/elsoflib.shtml.
http://www.slideshare.net/cchez/gestores-de-contenido.
 http://www.librosweb.es/css/index.html.

kanban

                                                             Ingeniería de Requerimientos
I. Tema: Metodologías Kanban
1. Contenido
1.1.- Definición:
Es una de las llamadas Metodología Agiles, aquellas que buscan gestionar de manera generalizada cómo se van completando las tareas. Kanban es una palabra japonesa que se compone de dos partes: Kan, que significa visual, y Ban, que hace referencia a tarjeta, de modo que como podemos deducir la metodología utiliza tarjetas para gestionar, de manera visual, la realización de determinados procesos y tareas.

El método Kanban formulado por David J. Anderson es una aproximación al proceso gradual, evolutivo y al cambio de sistemas para las organizaciones. Utiliza un sistema de extracción limitada del trabajo en curso como mecanismo básico para exponer los problemas de funcionamiento del sistema (o proceso) y estimular la colaboración para la mejora continua del sistema.
1.2. Características:

1.3.Principios:

Para poder agilizar las tareas, Kanban cuenta los siguientes principios básicos que lo fundamentan:
A. Visualización: Para poder comprender en qué momento del desarrollo se encuentra tu proyecto o revisar los temas tratados, Kanban es totalmente transparente, de forma que tienes acceso a todas la tareas en cualquier momento. Lo cual te permite organizarte en los diferentes bloques (Por Hacer, En proceso, Pendiente de revisión, Hecho) y hacer modificaciones para el buen funcionamiento del equipo.
B. En Proceso: No se debe de trabajar con más de una tarjeta a la vez. Y esta tarjeta, se clasifica en uno de los tres bloques restantes al finalizar la jornada. Durante la realización de las tareas, surgen dudas, o se ven fallos / mejoras. Kanban fomenta la continua modificación de las tareas, ya que se trata de un sistema de trabajo inmediato, compuesto por pequeñas tareas de corta duración.
C. Priorización: Gracias a este concepto, cuando vas al bloque de las tareas pendientes, ya tienes claro cuál es el siguiente tema a tratar. La trasparencia que te permite ver todos los ejercicios a realizar hace que sea posible una gestión mejor del tiempo y colocar las tareas con un orden coherente para facilitar el trabajo propio y el del equipo.

D. Medir el tiempo: Gracias al sistema de situar las tareas en “Haciendo”, durante el tiempo que trabajamos en ellas y etiquetar las tarjetas según el tema tratado, podemos hacer un seguimiento del tiempo invertido en cada función, departamento o campo.
1.4.- Columnas
Si tomamos como referencia el conjunto de una fábrica, o también cualquier otro tipo de organización, como por ejemplo un equipo de desarrollo, el sistema Kanban se organiza con un gran tablón dividido en columnas, normalmente siete:


  •  Objetivos: se marcan a largo plazo, con la idea de que todos los miembros del equipo los tengan en mente. Es una columna opcional, no siempre está presente.
  • Pendiente: esta columna engloba las tareas pendientes que se pueden afrontar de forma inmediata. En el lugar más alto de esa columna colocaremos la tarea pendiente que tiene la máxima prioridad, y en cuanto empecemos, la pasaremos a las siguientes columnas.
  • Preparación: también es opcional. Aquí incluimos aquellas tareas que necesitan cierta discusión interna antes de ser afrontadas. Cuando lo tengamos claro, pasamos a la siguiente columna.
  • Desarrollo: en este espacio situamos la tarea hasta que la terminemos. Si algo falla, regresa a la columna anterior.
  • Prueba: comprobamos que todo funciona bien. En función de ese examen, la tarea avanza en el tablón o retrocede.
  • Aplicación: la existencia de esta columna depende de las características de cada tarea. Hablamos, por ejemplo, de tareas como colocar una nueva versión de una aplicación en un servidor.
  • Hecho: cuando ya no tenemos que preocuparnos más de algo porque hemos terminado la tarea.

1.5.-Pasos:
Realmente una de las cosas que diferencian a Kanban del resto, es que acá vas a necesitar un tablero de verdad. No es nada extraño ni loco, con el avance de los días de trabajo notarás que fue una magnífica idea comprar ese tablero y los post-it para escribir objetivos.
Así que vamos a ver los pasos para realizar bien la configuración de una metodología Kanban.
A. Definir el Flujo de Trabajo: Una vez que ya tienes el tablero que es requisito para esta metodología, es entonces cuando podrás empezar a seccionarlo dependiendo del número de tareas, fases o proyectos que tengas en puerta. Considera que el tablero debe estar a la vista de todo el equipo de trabajo, pues será necesario estar al pendiente de los procesos y de ir actualizándolos conforme se vaya avanzando en él.
Ahora sí que como te comentaba, un tablero puede ser destinado para un solo proyecto o bien para muchos proyectos, todo dependerá de si deseas mantener el flujo de trabajo constante o medianamente pausado.
B. Fases del Ciclo de Producción: Es importante que te des cuenta, de cómo debes seccionar el tablero para ir marcando el flujo de producción. En este caso es realmente necesario que los procesos sean divididos en pequeños segmentos, para que se pueda agilizar y no se quede estancado en uno con demasiada duración.
Es por eso que en los post-it que vayas colocando con cada proceso, deberá ser colocado el número de horas requeridas para completarlo, al finalizar las horas se determinará por qué no se ha terminado o bien ya se habrá avanzado a otra fase.
C. Stop Starting, start finishing: La filosofía de Kanban, trabaja de esta forma, no te voy a envolver en términos que te puedan confundir pues la idea es obvia: “No se empieza una nueva tarea, hasta terminar la otra”. Esto se debe principalmente a que la idea es tener un alto porcentaje de tareas completadas y no como ciertos equipos de desarrollo que tienen una gran cantidad de proyectos en puerta y muchas tareas por hacer, la mayoría empezadas, pero ninguna terminada.
Esta es la situación principal que se trata de evitar con Kanban y es que aunque parezca muy obvia, la realidad es que muchos la pasan de largo, aun cuando es fundamental.
D. Tener un Control: Algo con lo que trabaja Kanban, es con el control del flujo de trabajo. Si bien la idea es que los trabajadores tengan actividad realmente constante y no se detengan aun cuando terminen sus tareas. Kanban permite llevar un control de todo gracias a las notas que se van colocando.
De esta forma además permite que se ejecuten varios proyectos se forma simultánea, una parte del equipo pudo haber terminado sus tareas del proyecto anterior y avanzar al siguiente, mientras los demás siguen todavía trabajando en ello.

La idea es no provocar interrupciones a cada momento, además de que si necesitas un control, puedes ir almacenando las tarjetas y listo.
1.6.-Ventajas
A. Procesos innecesarios: Debida a la comunicación y las facilidades de las diferentes herramientas Kanban, evitamos procesos que reducen la eficiencia o maximizan el tiempo de trabajo. Por ejemplo el no tener que usar papeles, facilitarnos la comunicación interna, resolver dudas de forma inmediata o asignar tareas para su revisión.
B. Conciencia sobre el desarrollo: Gracias a la comunicación y al control que se tiene en todo momento sobre el estado el producto, es
mucho más sencillo mantener al equipo actualizado y con conocimiento del proceso que les envuelve.
C. Equipo motivado: Debido a las características de Kanban y su metodología de trabajo, el equipo se ve más único, y con una mayor facilidad para plantear y resolver dudas al mismo tiempo que van saliendo. Se crea un vínculo mayor que con otros procedimientos y sirve como incentivados para los miembros del equipo.
D. Flexibilidad: Ya que vivimos tiempos rápidos, tenemos que saber cómo enfrentarnos a los cambios, y con Kanban, podemos hacer variaciones al producto tan pronto como se detecte un error o un giro en el mercado.
Estos errores se localizan en breves periodos de tiempo debido a la corta duración de las tareas asignadas. Esto permite ofrecer productos que puedan competir con mercados emergentes y ofrece una flexibilidad de adaptación mucho mayor.

E. Más eficaces: Como ya hemos comentado, Kanban nos permite optimizar los tiempos, lo cual se traduce en eficiencia. Mayor calidad en menor tiempo. Además de las múltiples actualizaciones que podemos hacer durante el proceso evolutivo de un proyecto, es otros de los factores que nos permiten no tener que volver a empezar prácticamente desde cero al detectar errores o querer implementar mejoras.
2. Resumen
El método Kanban formulado por David J. Para poder agilizar las tareas, Kanban cuenta los siguientes principios básicos que lo fundamentan : Visualización : Para poder comprender en qué momento del desarrollo se encuentra tu proyecto o revisar los temas tratados, Kanban es totalmente transparente, de forma que tienes acceso a todas la tareas en cualquier momento. Lo cual te permite organizarte en los diferentes bloques ( Por Hacer, En proceso, Pendiente de revisión, Hecho ) y hacer modificaciones para el buen funcionamiento del equipo. Si tomamos como referencia el conjunto de una fábrica, o también cualquier otro tipo de organización, como por ejemplo un equipo de desarrollo, el sistema Kanban se organiza con un gran tablón dividido en columnas, normalmente siete : Pendiente : esta columna engloba las tareas pendientes que se pueden afrontar de forma inmediata. Hecho : cuando ya no tenemos que diferencian a Kanban del resto, es que acá

3. Summary
The Kanban method formulated by David J. In order to speed up tasks, Kanban has the following basic principles: Visualization: In order to understand when your project is in development or review the topics discussed, Kanban is totally transparent, way you have access to all the tasks at any time. Which allows you to organize yourself in the different blocks (To Do, In process, Pending review, Done) and make modifications for the proper functioning of the equipment. If we take as a reference the whole of a factory, or any other type of organization, such as a development team, the Kanban system is organized with a large plank divided into columns, normally seven: … Pending: this column includes the tasks pending that can be faced immediately. … Fact: when we no longer have to differentiate Kanban from the rest, it is that here


4. Recomendaciones
  1. Ningún trabajo puede realizarse fuera de secuencia 
  2. Si se detecta algún problema notificar directamente al supervisor 
  3. No se debe despachar ningun producto defectuoso al proceso siguiente
5. Conclusiones
  • La mejor forma sabida de tirar-control es nuestro control kanban.
  •  Kanban ofrece la oportunidad de delegar transacciones materiales rutinarias.
  • Un número de calidades atractivas contribuyen al renombre cada vez mayor del control kanban.
  •  Kanban es simple (mecánicamente) y relativamente barato poner en ejecución y funcionar.
  •   Simplemente la determinación de la cantidad y de la localización de kanbans controla la cantidad de inventario.
6. Apreciación del Equipo
  1.  Kanban permiten restringir la cantidad de tareas que se pueden incluir en una lista. De esta manera, se puede limitar el número de tarjetas por columna.
  2.  Kanban para la gestión de proyectos cuentan con espacio ilimitado para añadir notas en cada tarjeta. La mayoría incluye un campo de descripción y permite adjuntar archivos relacionados. 
  3. Kanban ofrecen la posibilidad de activar una vista de calendario. Esto refleja la visualización de los plazos de desarrollo o de las fechas de entrega/vencimiento.
7. Glosario de Términos
  1.  Enfocar: Hacer que la imagen de un objeto obtenida con un mecanismo óptico se produzca exactamente en el lugar adecuado para que se vea con nitidez.
  2.  Especificación:Precisar datos o detalles sobre algo, especialmente con el objetivo de diferenciarlo con claridad de otras personas o cosas.
  3.  Ambigüedad:Comportamiento, hecho, palabra o expresión que puede entenderse o interpretarse de diversas maneras.
  4.  Involucrados:Hacer participar a una persona en un asunto, comprometiéndola o hablando de ella como si participase.
  5.  Modernizar:Adaptar o cambiar una cosa antigua o anticuada dándole características de lo que se considera moderno o actual.
  6.  Optima: método para determinar los valores de las variables que intervienen en un proceso o sistema para que el resultado sea el mejor posible.
  7.  Síntesis:Cosa compleja que resulta de reunir distintos elementos que estaban dispersos o separados organizándolos y relacionándolos.
  8. PLANIFICACIÓN:es un método que permite ejecutar planes de forma directa, los cuales serán realizados y supervisados en función del planeamiento
  9. INFLEXIBLE: Que no se conmueve ni se doblega, ni desiste de su propósito.
  10. ANTEMANO:Con anticipación, anteriormente
8. Bibliografía o Linkografía

  • https://prezi.com/szgzabfgzcb-/recomendaciones-para-el-funcionamiento-correcto-del-kanban/
  • https://www.ealde.es/8-caracteristicas-de-kanban/
  • http://www.redalyc.org/html/849/84920503036/
  • https://innokabi.com/canvas-de-modelo-de-negocio/

  •                                                                                                 Ingeniería de Sistemas y Telemática



                                                             Ingeniería de Requerimientos
I. Tema: Metodologías SCRUM
1. Contenido
 Definición:
Es un proceso de la Metodología Ágil que se usa para minimizar los riesgos durante la realización de un proyecto, pero de manera colaborativa.
Es ágil y flexible para gestionar el desarrollo de software, cuyo principal objetivo es maximizar el retorno de la inversión para su empresa (ROI). Se basa en construir primero la funcionalidad de mayor valor para el cliente y en los principios de inspección continua, adaptación, auto-gestión e innovación.
Se suele planificar por semanas. Al final de cada Sprint o iteración, se va revisando el trabajo validado de la anterior semana. En función de esto, se priorizan y planifican las actividades en las que invertiremos nuestros recursos en el siguiente Sprint.
Scrum se centra en ajustar sus resultados y responder a las exigencias reales y exactas del cliente. De ahí, que se vaya revisando cada entregable, ya que los requerimientos van variando a corto plazo. El tiempo mínimo para un Sprint es de una semana y el máximo es de cuatro semanas.
Entre las ventajas que brinda Scrum se encuentran la productividad, calidad y que se realiza un seguimiento diario de los avances del proyecto, logrando que los integrantes estén unidos, comunicados y que el cliente vaya viendo los avances.

  1. 1.- Características:


  •  Enfatiza valores y prácticas de gestión, sin pronunciarse sobre requerimientos, prácticas de desarrollo, implementación y demás cuestiones técnicas
  •  Hace uso de Equipos auto-dirigidos y auto-organizados
  • Puede ser aplicado teóricamente a cualquier contexto en donde un grupo de gente necesita trabajar junta para lograr una meta común.
  • Desarrollo de software iterativos incrementales basados en prácticas agiles
  • Iteraciones de treinta días; aunque se pueden realizar con más frecuencia, estas iteraciones, conocidas como Sprint
  • Dentro de cada Sprint se denomina el Scrum Master al Líder de Proyecto quien llevará a cabo la gestión de la iteración
  • Se convocan diariamente un “Scrum Daily Meeting” el cual representa una reunión de avance diaria de no más de 15 minutos con el propósito de tener realimentación sobre las tareas de los recursos y los obstáculos que se presentan. En la cual se responden preguntas como: ¿Qué has hecho desde el último encuentro? ¿Qué obstáculos hay para cumplir la meta? ¿Qué harás antes del próximo encuentro?


  1. 2.- Beneficios:


  • Cumplimento de Expectativas: El cliente establece sus expectativas indicando el valor que le aporta cada requisito / historia del proyecto, el equipo los estima y con esta información el Product Owner establece su prioridad. De manera regular, en las demos de Sprint el Product Owner comprueba que efectivamente los requisitos se han cumplido y transmite se feedback al equipo.
  • Flexibilidad a Cambios: Alta capacidad de reacción ante los cambios de requerimientos generados por necesidades del cliente o evoluciones del mercado. La metodología está diseñada para adaptarse a los cambios de requerimientos que conllevan los proyectos complejos.
  • Reducción del Time to Market: El cliente puede empezar a utilizar las funcionalidades más importantes del proyecto antes de que esté finalizado por completo.
  • Mayor Calidad del Software: La metódica de trabajo y la necesidad de obtener una versión funcional después de cada iteración, ayuda a la obtención de un software de calidad superior.
  • Mayor Productividad: Se consigue entre otras razones, gracias a la eliminación de la burocracia y a la motivación del equipo que proporciona el hecho de que sean autónomos para organizarse. Maximiza el Retorno de la Inversión (ROI): Producción de software únicamente con las prestaciones que aportan mayor valor de negocio gracias a la priorización por retorno de inversión.
  • Predicciones de Tiempos: Mediante esta metodología se conoce la velocidad media del equipo por sprint (los llamados puntos historia), con lo que consecuentemente, es posible estimar fácilmente para cuando se dispondrá de una determinada funcionalidad que todavía está en el Backlog.
  • Reducción de Riesgos: El hecho de llevar a cabo las funcionalidades de más valor en primer lugar y de conocer la velocidad con que el equipo avanza en el proyecto, permite despejar riesgos eficazmente de manera anticipada.

  1. 3.-Fases:

A. Planteamiento: un proyecto gestionado bajo el modelo SCRUM parte de los objetivos que han trazado con anterioridad el cliente y la empresa. Lo primero es fraccionarlo en entregas parciales, de manera que el cliente pueda replantear aspectos a los que en principio no prestó la importancia debida o que simplemente desconocía. Esos aspectos pueden ser sobre costes, estrategias, producción, etc.
B. Lista de Tareas: el equipo de trabajo elabora la lista de tareas que debe tener en cuenta para cada
entrega de resultados. Es muy importante hacer una estimación del esfuerzo requerido para, de esta manera, fijas plazos proporcionados.
C. Reuniones: lo ideal es que cada día el equipo dedique 15 minutos para reunirse y ponerse al tanto de la evolución del plan. En estas sesiones, el líder del proyecto (Scrum Master) debe encargarse de que cada miembro cumpla con las labores que le han sido asignadas y de motivarles para que su productividad no descienda.
En caso de que detecte alguna incidencia dentro del grupo, es necesario que tome las opciones más adecuadas, que pueden ir desde un relevo de la función hasta el nombramiento de miembros de apoyo.
D. Demostración: una vez ejecutadas las labores de cada fase, el equipo se reúne con el cliente para mostrar los avances correspondientes. El cliente decide si replantea los elementos del proyecto. Si es necesario, el equipo asume nuevos compromisos.

E. Retrospectiva: los miembros del equipo se reúnen para valorar el proceso de entrega de resultados y analizan los factores que podrían mejorar de cara al final del proceso. La función del Scrum Master será eliminar dichos obstáculos
1.4.- Roles:diagrama-proceso-scrum
A. Principales

  • Product Owner: El Product Owner se asegura de que el equipo Scrum trabaje de forma adecuada desde la perspectiva del negocio. El Product Owner ayuda al usuario a escribir las historias de usuario, las prioriza, y las coloca en el Product Backlog.
  •  ScrumMaster o Facilitador: El Scrum es facilitado por un ScrumMaster, cuyo trabajo primario es eliminar los obstáculos que impiden que el equipo alcance el objetivo del sprint. El ScrumMaster no es el líder del equipo (porque ellos se auto-organizan), sino que actúa como una protección entre el equipo y cualquier influencia que le distraiga. El ScrumMaster se asegura de que el proceso Scrum se utiliza como es debido. El ScrumMaster es el que hace que las reglas se cumplan.
  • Team o Equipo de Desarrollo: El equipo tiene la responsabilidad de entregar el producto. Es recomendable un pequeño equipo de 5 a 9 personas con las habilidades transversales necesarias para realizar el trabajo (análisis, diseño, desarrollo, pruebas, documentación, etc.).

B. Auxiliares
Los roles auxiliares en los "equipos Scrums" son aquellos que no tienen un rol formal y no se involucran frecuentemente en el "proceso Scrum", sin embargo deben ser tomados en cuenta. Un aspecto importante de una aproximación ágil es la práctica de involucrar en el proceso a los usuarios, expertos del negocio y otros interesados ("stakeholders"). Es importante que esa gente participe y entregue retroalimentación con respecto a la salida del proceso a fin de revisar y planear cada sprint.

  • Stakeholders: Son las personas que hacen posible el proyecto y para quienes el proyecto producirán el beneficio acordado que justifica su desarrollo. Sólo participan directamente durante las revisiones del "sprint".
  • Managers o Administradores: Son los responsables de establecer el entorno para el desarrollo del proyecto.

1.5.-SPRINT:
Es el período en el cual se lleva a cabo el trabajo en sí. Es recomendado que la duración de los Sprints sea constante y definida por el equipo con base en su propia experiencia. Se puede comenzar con una duración de sprint en particular (2 o 3 semanas) e ir ajustándolo con base en el ritmo del equipo, aunque sin relajarlo demasiado.
Al final de cada sprint, el equipo deberá presentar los avances logrados, y el resultado obtenido es un producto que, potencialmente, se puede entregar al cliente.
Así mismo, se recomienda no agregar objetivos al sprint o sprint backlog a menos que su falta amenace al éxito del proyecto. La constancia permite la concentración y mejora la productividad del equipo de trabajo.

Debemos recordar que los Sprint es la herramienta que usa Scrum, por lo tanto maneja las misma fases:

  • Reunión de planificación de Sprint
  • El Scrum Diario
  • Trabajo de desarrollo durante el Sprint
  • Revisión del Sprint
  • Retrospectiva del Sprint

1.6.-Documentos
A. Product Backlog: Se trata como un documento de alto nivel para todo el proyecto. Es el conjunto de todos los requisitos de proyecto, el cual contiene descripciones genéricas de funcionalidades deseables, priorizadas según su retorno sobre la inversión (ROI). Representa el qué va a ser construido en su totalidad. Es abierto y solo puede ser modificado por el Product Owner. Contiene estimaciones realizadas a grandes rasgos, tanto del
valor para el negocio, como del esfuerzo de desarrollo requerido.
Esta estimación ayuda al Product Owner a ajustar la línea temporal (KEV) y, de manera limitada, la prioridad de las diferentes tareas. Por ejemplo, si dos características tienen el mismo valor de negocio la que requiera menor tiempo de desarrollo tendrá probablemente más prioridad, debido a que su ROI será más alto.
B. Sprint Backlog: Es el subconjunto de requisitos que serán desarrollados durante el siguiente sprint. Al definir el sprint backlog, se describe el cómo el equipo va a implementar los requisitos durante el sprint. Por lo general los requisitos se subdividen en tareas, a las cuales se asignan ciertas horas de trabajo pero ninguna tarea con una duración superior a 16 horas.
Si una tarea es mayor de 16 horas, deberá ser dividida en otras menores. Las tareas en el sprint backlog nunca son asignadas, son tomadas por los miembros del equipo del modo que les parezca adecuado.
C. Burn Down Chart: Es una gráfica mostrada públicamente que mide la cantidad de requisitos en el Backlog del proyecto pendientes al comienzo de cada Sprint. Dibujando una línea que conecte los puntos de todos los Sprints completados, podremos ver el progreso del proyecto. Lo normal es que esta línea sea descendente (en casos en que todo va bien en el sentido de que los requisitos están bien definidos desde el principio y no varían nunca) hasta llegar al eje horizontal, momento en el cual el proyecto se ha terminado (no hay más requisitos pendientes de ser completados en el Backlog).

Si durante el proceso se añaden nuevos requisitos la recta tendrá pendiente ascendente en determinados segmentos, y si se modifican algunos requisitos la pendiente variará o incluso valdrá cero en algunos tramos.
2. Resumen
Es ágil y flexible para gestionar el desarrollo de software, cuyo principal objetivo es maximizar el retorno de la inversión para su empresa ( ROI ). Al final de cada Sprint o iteración, se va revisando el trabajo validado de la anterior semana. El tiempo mínimo para un Sprint es de una semana y el máximo es de cuatro semanas. Iteraciones de treinta días ; aunque se pueden realizar con más frecuencia, estas iteraciones, conocidas como Sprint Dentro de cada Sprint se denomina el Scrum Master al Líder de Proyecto quien llevará a cabo la gestión de la iteración Se convocan diariamente un “ Scrum Daily Meeting ” el cual representa una reunión de avance diaria de no más de 15 minutos con el propósito de tener realimentación sobre las tareas de los recursos y los obstáculos que se presentan. De manera regular, en las demos de Sprint el Product Owner comprueba que efectivamente los requisitos se han cumplido y transmite se feedback al equipo. Maximiza el Retorno de la Inversión ( ROI ) : Producción de software únicamente con las prestaciones que aportan mayor valor de negocio gracias a la priorización por retorno de inversión. Predicciones de Tiempos : Mediante esta metodología se conoce la velocidad media del equipo por sprint ( los llamados puntos historia ), con lo que consecuentemente, es posible estimar fácilmente para cuando se dispondrá de una determinada funcionalidad que todavía está en el Backlog
3. Summary
It is agile and flexible to manage software development, whose main objective is to maximize the return on investment for your company (ROI). At the end of each Sprint or iteration, the validated work from the previous week is reviewed. The minimum time for a Sprint is one week and the maximum is four weeks. Iterations of thirty days; although they can be done more frequently, these iterations, known as Sprint Within each Sprint, the Scrum Master is called to the Project Leader who will carry out the management of the iteration. A daily "Scrum Daily Meeting" is convened which represents a meeting of daily progress of no more than 15 minutes with the purpose of having feedback on the tasks of the resources and the obstacles that arise. On a regular basis, in the Sprint demos, the Product Owner verifies that the requirements have been met and transmits feedback to the team. Maximizes the Return on Investment (ROI): Production of software only with the features that provide the most business value thanks to the prioritization of return on investment. Time Predictions: Through this methodology we know the average speed of the team by sprint (the so-called history points), with which consequently, it is possible to estimate easily for when there will be a certain functionality that is still in the Backlog


4. Recomendaciones
4 recomendaciones* para implantar y hacer scrum:

  1. No combinar roles
  2. No acortar, ni alargar los Sprints
  3. No suprimir reuniones/ceremonias de Scrum
  4. Retrospectivas, retrospectivas, retrospectivas, retrospectivas
5. Conclusiones
En el Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, Scrum está especialmente indicado para proyectos en entornos complejos, donde se necesita obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde lai nnovación, la competitividad, la flexibilidad y la productividad son fundamentales.

6. Apreciación del Equipo
El scrum es n marco de trabajo que se bas aen base de  principios, practicas y valores agiles.
el obetivo del scrum es mejorar la satisfaccion del cliente  la velocidad y calidad de desarrollo atravez del trabajo en equipo y la transparencia.

7. Glosario de Términos
  1. Iteración: operando de esta forma, y desarrollando en cada iteración el proceso descrito, el autor consigue clasificar la población en grupos estables
  2. Incrementales: Se considera Innovación incremental cuando se crea un valor sobre un producto que ya existe, añadiéndole nuevas mejoras. El proceso de innovación comienza sobre una base conceptual. A partir de aquí se realizan una serie de procesos creativos enfocados a conseguir unos fines determinados
  3. Realimentación: En un sistema o proceso que se regula a sí mismo, acción por la que cada resultado del proceso incide en el conjunto del proceso integrándolo y modificándolo.
  4. Feedback: Capacidad de un emisor para recoger reacciones de los receptores y modificar su mensaje, de acuerdo con lo recogido.
  5. Consecuentemente:  Que sigue en orden inmediato respecto a una cosa.
  6. Backlog.: El Backlog es una lista ordenada de todo el trabajo pendiente. Contenido. Dependiendo del método ágil utilizado, los elementos incluidos en el Backlog se denominan ítems, historias de usuario, unidades de trabajo, etc.
  7. Product Owner: Un product owner, normalmente, es uno de los futuros usuarios del sistema. O alguien de marketing, o un “product manager” o, en definitiva, alguien que sabe lo que quieren los usuarios del sistema en desarrollo. Te recomiendo leer antes de seguir aquel post de claves para implantar el rol de product owner
  8. ScrumMaster: El Scrum Master (SM) o facilitador de proyectos, es la figura que lidera los equipos en la gestión ágil de proyectos. Su misión es que los equipos de trabajo alcancen sus objetivos hasta llegar a la fase de “sprint final”, eliminando cualquier dificultad que puedan encontrar en el camino.
  9. Transversales: Transversal significa aquello que cruza, corta o atraviesa. Puede también referirse a: Plano transverso, en anatomía
  10. Subdividen: Dividir en partes más pequeñas cada una de las partes que resultan de haber dividido previamente un todo


8. Bibliografía o Linkografía