Vous êtes sur la page 1sur 30

Actividad 4.

Modelos giles de
proceso.

M.C. Juan Carlos Olivares Rojas


Syllabus
jcolivares@itesm.edu.mx
May, 2009
Introduccin
Para la ingeniera de software la agilidad
es la combinacin de filosofa y el
conjunto de directrices de desarrollo.

Esta Metodologa como fin ltimo busca


la satisfaccin del cliente, la entrega del
software de acuerdo al tiempo
especificado y que el equipo de trabajo
est motivado para desarrollar su trabajo.
Introduccin
El proceso de desarrollo de software
generalmente se asociaba con una tendencia
que se enfocaba hacia el control de ese
proceso de desarrollo definiendo actividades
y ciertos roles del personal desarrollador del
software.

Este enfoque para el desarrollo de software


ya no resultaba ser el ms adecuado para
muchos proyectos donde el sistema es muy
cambiante y en donde el tiempo de
desarrollo es muy corto.
Introduccin
Las metodologas para el desarrollo de
software conocidas como giles, se
caracterizan por estar orientadas para
proyectos pequeos, constituyen una
solucin prcticamente a la medida, ofrecen
la simplificacin de tareas, a pesar de lo cual
permite asegurar la calidad del producto de
software.

Dentro de la ingeniera de software, las


metodologas giles representan sin duda
uno de los temas emergentes.
Introduccin
Toda la comunidad de sistemas
computacionales vive con intensidad un
debate entre quienes apoyan las
metodologas tradicionales y las
metodologas giles.

Las metodologas tradicionales va de lo


general a lo particular. Su premisa
fundamental argumenta que hay suficiente
planeacin y administracin, por lo que el
resultado puede predecirse y as mismo
pueden evitarse los riesgos.
Introduccin
Las caractersticas de los mtodos giles
son que:

Optimizan la productividad del equipo de


desarrollo al contar con un equipo de
desarrollo dinmico.

Se minimizan los riesgos debido a que


pueden ser detectados tiempo antes de
que se presenten.
Introduccin
Aseguran la satisfaccin del usuario final
porque se cuenta con su cooperacin
durante el desarrollo del producto de
software.

Los clientes pueden alcanzar el retorno


de su inversin en el proyecto de
software, porque no les representa un
gasto, sino una inversin.
Metodologas giles
Personas + Agilidad = Software
Introduccin - Que es Agile?
Desarrollo iterativo, con la recopilacin
anticipada de requerimientos seguida por
el trabajo en la codificacin, y
continuando con ms requerimientos y
ms cdigo. Este enfoque pretende dar
mayor prioridad a la satisfaccin del
cliente a travs de la entrega anticipada y
continua de software valioso.
Introduccin - Que es Agile?

Un marco terico de mejores prcticas


que busca minimizar los riesgos de un
proyecto a travs de iteraciones de
desarrollo muy cortas, que generalmente
no exceden de 4 semanas.
Origen de la metodologa Agile
Las metodologas giles tienen sus orgenes
en los aos 80 y 90 con los entonces
denominados mtodos ligeros (lightweight
methods).
Origen de la metodologa Agile
Las prcticas de desarrollo gil no
comenzaron a ser populares sino
hasta el ao 2001, cuando un grupo
de representantes y entusiastas de las
metodologas de Programacin
Extrema, Scrum, DSDM, Crystal Clear,
entro otras, decidieron establecer los
cimientos de metodologas orientadas
a documentacin y procesos pesados
(heavyweight process).
Caractersticas dentro del enfoque de
desarrollo de Agile
Un fuerte nfasis en las pruebas sobre la
aplicacin que se desarrolla y una continua
integracin de sus componentes.

Mantener la simpleza en el concepto, diseo y


desarrollo de los componentes del software
que se construye.

Documentar solo lo estrictamente necesario y


centrarse en lo ms crtico del producto, que es
el cdigo fuente.
Caractersticas dentro del enfoque de
desarrollo de Agile
En el proceso de desarrollo iterativo, el contar
con software funcionando al final de cada
iteracin es una buena medida del progreso.

Durante el desarrollo de software las


solicitudes pueden cambiar en cualquier punto.
Esto es correcto desde el punto de vista de
desarrollo; la gestin de cambios en el alcance
se usa tambin en beneficio del cliente.
Caractersticas dentro del enfoque de
desarrollo de Agile
El proceso Agile pueden llevar el ciclo corto de
entrega al extremo. Algunos proyectos de
programacin extrema, entregan en periodos
realmente cortos, aun cada semana. Aunque
esto pueda ser duro de gestionar, no hay nada
inherentemente equivocado con esto.
La gente de negocio y los desarrolladores
trabajan juntos diariamente a lo largo del
proyecto, pretendiendo con esto la satisfaccin
del cliente.
Caractersticas dentro del enfoque de
desarrollo de Agile
Para lograr la exitosa entrega de proyectos
Agile considera que el mejor enfoque es
integrar proyectos alrededor de gente motivada
y despus asegurar que cuenten con las
herramientas, los procesos y habilidades
apropiadas para llevar a cabo el trabajo.
Se recomienda conveniente que a intervalos
regulares, el equipo reflexione acerca de cmo
ser ms efectivo, entonces realiza los ajustes y
modifica su comportamiento en consecuencia.
Caractersticas dentro del enfoque de
desarrollo de Agile
El mtodo ms efectivo y eficiente para
transmitir informacin hacia y entre el
equipo de desarrollo, es la conversacin
cara a cara, auque en ocasiones ser
necesario emplear otro medio.
Caractersticas
Evitar los enrolladas metodologas
tradicionales.
Pretenden ser adaptables en lugar de
predecibles:
Tradicionales: tienden a planear el proceso.
Agile: El cambio es Bienvenido.(cliente)
Son orientados a la gente no al proceso
Tradicionales: se pretende definir un proceso
El papel del proceso es apoyar
Caractersticas
Maneja tiempo de entrega frecuente:
Revisiones regulares frecuentes
Reunin corta
Ideas para cambiar el proceso
Excelencia, tcnica y buen diseo
Personas factor No. 1
Caractersticas
Son menos orientados al documento
Estn orientados al cdigo
Menor tiempo de entrega
Prioridad ms alta la satisfaccin del cliente

Mayor calidad Menor costo


Cuando elegir metodologas giles?

Los requerimientos son poco claros


Se desea fomentar la mejora continua del
proceso

El cliente entiende el proceso

Son ideales para pequeos grupos

Se tienen canales de comunicacin


SCRUM
Scrum es una metodologa gil de desarrollo de proyectos
que toma su nombre y principios de los estudios realizados
sobre nuevas prcticas de produccin por Hirotaka Takeuchi
e Ikujijo Nonaka a mediados de los 80.

SCRUM es una forma de gestionar proyectos de software.


No es una metodologa de anlisis, ni de diseo, como podra
ser RUP, es una metodologa de gestin del trabajo.

Scrum es una metodologa de desarrollo muy simple, que


requiere trabajo duro porque no se basa en el seguimiento de
un plan, sino en la adaptacin continua a las circunstancias
de la evolucin del proyecto.
SCRUM

Scrum es una metodologa gil, y como tal:

Es un modo de desarrollo de carcter adaptable ms que predictivo.


Orientado a las personas ms que a los procesos.
Emplea la estructura de desarrollo gil: incremental basada en iteraciones
y revisiones.

http://www.ingenierosoftware.com/equipos/scrum.php
CRYSTAL

Crystal Methodologies, fue propulsado por Alistair Cockburn.


En qu consiste la metodologa Crystal?
Crystal da vital importancia a las personas que componen el
equipo de un proyecto, y por tanto sus puntos de estudio son:

Aspecto humano del equipo


Tamao de un equipo (nmero de
componentes)
Comunicacin entre los componentes
Distintas polticas a seguir
Espacio fsico de trabajo

www.dsic.upv.es/asignaturas/facultad/lsi/trabajos/282002.ppt
CRYSTAL

Caractersticas del equipo Crystal

Crystal aconseja que el tamao del equipo sea reducido


(Pocos <-componentes).

La mejora de la comunicacin entre los miembros del equipo del proyecto:


Mismo lugar de trabajo Disminuye el coste de la comunicacin

Los principios detrs de Crystal se basan en:


- El equipo puede reducir artefactos intermedios a medida que
produzca cdigo funcionando ms frecuentemente y/o use canales de
comunicacin ms ricos entre las personas
- Cada proyecto es nico y evoluciona lo largo del tiempo.

www.dsic.upv.es/asignaturas/facultad/lsi/trabajos/282002.ppt
FDD (Feature Driven
Development)
Desarrollo orientado a la funcionalidad.

nfasis en el diseo y la construccin


- No cubre todo el proceso de desarrollo
- Orientado a Critical Systems

Dnde se Usa?

Aplicaciones financieras (finales 90)


- Recomendado para nuevos proyectos o segundas versiones
- Es recomendado comenzar gradualmente
- Driver: CALIDAD
- Critical Systems online

http://www-2.dc.uba.ar/materias/isoft2/2005_02/clases/AGILE_IS2_10112005_6.pdf
eXtreme Programming

-Las races surgieron en la comunidad Smalltalk; de la colaboracin de Kent Becky Ward


Cunningham a fines de los 80.

-En 1996 Beck fue llamado a Chrysler para inspeccionar el progreso de un proyecto de
liquidacin de sueldos de la empresa.

- Debido a la baja calidad del cdigo entregado, Beck sugiri desechar todo el cdigoy
empezar de cero.

-All empez a poner en marcha una serie de prcticas aprendidas anteriormente, y las fue
refinando hasta lo que se convertiran en las bases de XP.

VALORES

- Comunicacin
- Feedback
- Simplicidad
- Coraje

http://www-2.dc.uba.ar/materias/isoft2/2005_02/clases/AGILE_IS2_10112005_6.pdf
Conclusiones
No hay metodologa que funcione de manera
universal, de hecho cada vez ms las
metodologas se conciben como 'marcos'
metodolgicos que es necesario ajustar para
cada organizacin y tipo de proyecto. Realizar
este ajuste es algo que necesita de una
experiencia y un conocimiento previo. El
problema con la implantacin de una
metodologa es que no se suele tener una
segunda oportunidad.
Referencias
Curso de Proyecto Integrador de Software
Bsico, Universidad TecMilenio, 2009

Olivares, J. (2008), Unidad 1


Comunicacin, Curso de Ingeniera de
Proyectos, Universidad Vasco de Quiroga,
Morelia, Michoacn, Mxico.
Questions?

Vous aimerez peut-être aussi