Documente Academic
Documente Profesional
Documente Cultură
PROFESOR
MARTIN DIAZ
INGENIERO DE SISTEMAS
INDICE
INTRODUCCIN
------------------------------------------------------------------------------------------------3
PRIMERA PARTE: MARCO TERICO
1. MTODOS GILES---------------------------------------------------------------- 9
1.1.
INTRODUCCIN--------------------------------------------------------------------- 9
1.1.1.
1.1.2.
1.2.
1.2.1.
1.2.2.
1.2.3.
2.
SCRUM------------------------------------------------------------------------------ 19
2.1.
INTRODUCCIN------------------------------------------------------------------- 19
2.2.
LA ESENCIA DE SCRUM-------------------------------------------------------- 20
2.3.
ELEMENTOS DE SCRUM------------------------------------------------------- 21
2.3.1.
2.3.2.
2.3.3.
2.3.4.
2.3.5.
Roles------------------------------------------------------------------------------------------ 22
Poda de requerimientos------------------------------------------------------------------25
Product Backlog----------------------------------------------------------------------------25
Sprint------------------------------------------------------------------------------------------26
Valores----------------------------------------------------------------------------------------35
PROCESO DE DESARROLLO----------------------------------------------- 38
3.1.
INTRODUCCIN------------------------------------------------------------------- 38
3.2.
3.3.
3.3.1.
3.3.2.
3.3.3.
3.3.4.
3.3.5.
Planificacin---------------------------------------------------------------------------------40
Anlisis----------------------------------------------------------------------------------------40
Diseo-----------------------------------------------------------------------------------------41
Construccin y Prueba------------------------------------------------------------------- 41
Implementacin-----------------------------------------------------------------------------42
3.4.
3.5.
HERRAMIENTAS------------------------------------------------------------------- 44
3.5.1.
3.5.2.
3.5.3.
3.5.4.
3.5.5.
3.5.6.
3.5.7.
Tcnicas de relevamiento--------------------------------------------------------------- 44
Work Breakdown Structure (WBS)---------------------------------------------------- 44
Casos de uso------------------------------------------------------------------------------- 44
Diagrama de actividades-----------------------------------------------------------------45
Diagrama de Entidad Relacin (DER)------------------------------------------------45
ScrumWorks---------------------------------------------------------------------------------46
Burndown chart-----------------------------------------------------------------------------47
3.5.8. Clarion 5.5-----------------------------------------------------------------------------------47
INTRODUCCIN
En la actualidad la tecnologa, marca de una manera trascendental en el
mercado ante los competidores que evolucionan con el entorno, facilitando
el acceso de los productos a los clientes con equipos de cmputos y
soluciones digitales que contribuyen, a la implementacin de estrategias
para el fcil desarrollo de la actividad comercial.
PRIMERA PARTE
MARCO TERICO
1. MTODOS GILES
1.1. INTRODUCCIN
1.1.1. El dilema del software
Cualquiera que alguna vez haya sido responsable de conducir un
proyecto de desarrollo de software sabe que no es para nada fcil.
Coordinar y negociar exitosamente con las partes implicadas en el
proyecto desafa al ms experimentado lder.
Los valores anteriores inspiran los doce principios del manifiesto. stas
son las caractersticas que diferencian un proceso gil de uno tradicional.
Los dos primeros son generales y resumen gran parte del espritu gil.
I. La prioridad es satisfacer al cliente mediante tempranas y continuas
entregas de software que le aporten un valor. Un proceso es gil si a
las pocas semanas de empezar ya entrega software que funcione
aunque sea rudimentario. El cliente decide si pone en marcha dicho
software con la
implica adems que la estructura del software debe ser flexible para
poder incorporar los cambios sin demasiado coste agregado.
Luego existen una serie de principios que tienen que ver directamente con
el proceso de desarrollo de software a seguir.
III. Entregar frecuentemente software que funcione desde un par de
semanas a un par de meses, con el menor intervalo de
tiempo
VII.
el
XII.
Metodologas giles
Metodologas
Tradicionales
Trabajo
y gestin guiada por un
plan general del proyecto que
comprende todo su ciclo de
Conocimiento detallado de
los requisitos antes de
comenzar el diseo del
proyecto.
Hacerlo bien a la primera. Evitar
la re-codificacin y el re-trabajo
que supone una prdida de
Comunicacin formal segn el
plan de comunicacin del
proyecto.
Gestin de equipos y
personas centralizada en el
gestor del proyecto.
2. SCRUM
2.1. INTRODUCCIN
Scrum es una metodologa gil de gestin de proyectos cuyo objetivo
primordial es elevar al mximo la productividad de un equipo. Reduce al
mximo la burocracia y actividades no orientadas a producir software que
funcione y produce resultados en periodos muy breves de tiempo. Como
mtodo, Scrum enfatiza valores y prcticas de gestin, sin pronunciarse
sobre requerimientos, prcticas de desarrollo, implementacin y dems
cuestiones tcnicas. Ms bien delega completamente en el equipo la
responsabilidad de decidir la mejor manera de trabajar para ser lo ms
productivos posibles.
Con visin de que el trabajo es efectuado por equipos autoorganizados y auto-dirigidos, logrando motivacin, responsabilidad
y compromiso.
Nueva funcionalidad
Sprint
Backlog
Visin:
ROI versiones
hitos
El flujo de Scrum
Roles
Product Owner
Scrum Master
Team (Equipo)
Poda de requerimientos
Product Backlog
Sprint
Planificacin
Sprint Backlog
Scrum
Estimaciones
Builds continuos
Revisin del Sprint
Reunin retrospectiva
Valores
Foco, comunicacin, respeto y coraje.
2.3.1. Roles
La dimensin del equipo total de Scrum no debera ser superior a veinte
personas. Si hay ms, lo ms recomendable es formar varios equipos. No
hay una tcnica oficial para coordinar equipos mltiples, pero se han
documentado experiencias de hasta 800 miembros, divididos en Scrums
de Scrum, definiendo un equipo central que se encarga de la
coordinacin, las pruebas cruzadas y la rotacin de los miembros.
Scrum tiene una estructura muy simple. Todas las responsabilidades del
proyecto se reparten en 3 roles:
Team (Equipo)
Responsable de transformar el Backlog de la iteracin en un incremento
de la funcionalidad del software. Tiene autoridad para reorganizarse y
definir las acciones necesarias o sugerir remocin de impedimentos.
Auto-gestionado
Auto-organizado
Multi-funcional
Scrum diferencia claramente entre estos dos grupos para garantizar que
quienes tienen la responsabilidad tienen tambin la autoridad necesaria
Implicados en el proyecto
Marketing
Equipo
Scrum Master
Comercial
Etc.
las
lista
2.3.4. Sprint
Scrum est basado en el control emprico de procesos. Se utiliza cuando
la capacidad de prediccin es vaga, la incertidumbre alta o el proceso es
demasiado complejo para ser modelado y definido.
Control:
C
Inspeccin diaria y resolucin de problemas
PROCESO
Entrada:
Salida:
Backlog de producto seleccionado
Nuevo incremento del producto
Proceso:
Sprint con sus prcticas y reglas
Planificacin
Se planifica en detalle el trabajo al inicio de cada Sprint asumiendo que
los objetivos no van a cambiar durante el mismo. De esta manera se
atena el riesgo.
Requerimientos
de recursos de infraestructura
o logsticos
Sprint Backlog
Trabajo o tareas determinadas por el equipo para realizar en un Sprint.
Scrum diario
Scrum asume que el proceso es complejo y que es necesario
inspeccionarlo frecuentemente, por eso se realiza una reunin diaria de
seguimiento. El encuentro diario impide caer en el dilema sealado por
Fred Brooks: Cmo es que un proyecto puede atrasarse un ao? Un da
a la vez.
Mantener el foco.
Estimaciones
Las estimaciones se realizan por primera vez en la reunin
de
planificacin al inicio del Sprint. Luego las tareas se re-estiman todos los
das y se registran sus cambios en el Backlog del Sprint; esta actividad
puede ser realizada inmediatamente antes o despus del Scrum diario.
la
Se prueba que no se
El programador
Pasa a integracin lo
rompa el build.
libera cdigo.
ms pronto posible (diario al menos).
Reunin retrospectiva
Scrum involucra el concepto de mejora continua a travs de las reuniones
de retrospeccin. Las reuniones buscan detectar los puntos positivos y
negativos del Sprint para generar propuestas de mejora para futuros
Sprints.
2.3.5. Valores
Foco Los individuos y sus interacciones son ms importantes que el
proceso y las herramientas. La gente es el principal factor de xito de un
proyecto de software.
Coraje El coraje implica saber tomar decisiones difciles. Reparar un error cuando
se detecta. Mejorar el cdigo siempre que el feedback y las sucesivas iteraciones se
manifiesten susceptibles de mejora.
SEGUNDA PARTE
METODOLOGA
3. PROCESO DE DESARROLLO
3.1. INTRODUCCIN
En este apartado se presenta el proceso de desarrollo elaborado para
complementar la metodologa Scrum ya que esta no contiene definiciones
en cuestiones tcnicas.
planificacin,
anlisis,
diseo,
construccin
prueba,
38
Dado que los proyectos de software son largos es comn dividir el trabajo
en mini proyectos. Cada mini proyecto es una iteracin que resulta en un
incremento. Para ser ms efectivas las iteraciones deben ser controladas,
es decir deben ser seleccionadas y llevadas a cabo de una forma
planeada.
3.3.2. Anlisis
Objetivo: Obtener todas las definiciones y especificaciones funcionales
para poder llevar adelante las fases de Diseo y Construccin. Es una
etapa clave ya que el alcance y las caractersticas de la solucin quedan
acordados, lo cual permite mitigar los principales riesgos de un proyecto.
3.3.3. Diseo
Objetivo: Generar el modelo de datos para que la solucin cumpla con
los requerimientos definidos. El diseo generado deber contemplar las
posibles modificaciones futuras, crecimiento de la solucin, mayor carga e
incorporacin de nuevas funcionalidades.
especificaciones
de
los
documentos
de alcance.
elaboracin
de
documentacin
tcnica
ajustes
3.3.5. Implementacin
Objetivo: Disponer del sistema productivo con sus ambientes de
produccin, metodologa de trabajo y manuales operativos. Se incluye, de
ser necesario, el personal operativo capacitado. Obtencin de nuevas
funciones a agregar o posibles errores a reparar.
Sistema totalmente
probado.
Objetivos
Modelo de negocio
Procesos
Actividades
Planificacin
Estimacin Alcance
Estimacin Tiempo
Especificaciones funcionales
Anlisis
Requerimientos
Ajuste de tiempos
Proceso de
desarrollo
Modelo de datos
Diseo
Interfases
Releases
Construccin y Pruebas
Programar
Integracin y pruebas
Revisin y Retrospeccin
Implementacin
Puesta en
marcha
Carga de datos
3.5. HERRAMIENTAS
3.5.1. Tcnicas de relevamiento
Entrevistas con el cliente y los usuarios; revisin de registros, y
observacin.
Tanto los casos de uso como las descripciones de los mismos se utilizan
en la etapa del anlisis para definir los requisitos.
3.5.6. ScrumWorks
Permite llevar a cabo el seguimiento del proyecto. Es una herramienta de
automatizacin de procesos giles que admite a los equipos autoorganizarse y aumentar la productividad. Esta herramienta, de acceso
libre y fcil de utilizar, es una aplicacin Web que permite compartir la
informacin entre todo el equipo.
Definir las tareas y arrastrarlas al Sprint apropiado, donde se irn reestimando diariamente.
Observar un grfico por cada Sprint que nos indica la velocidad con la
que avanza el proyecto.