Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Metodologias Agiles PDF
Metodologias Agiles PDF
Metodologas giles
Trujillo Per
2007
Metodologas giles
ndice
1. Introduccin.................................................................................................. 3
2. Historia de los Procesos de Desarrollo..................................................... 3
3. Las Metodologas giles ............................................................................ 6
3.1 El Manifiesto gil...................................................................................... 8
3.2 Metodologas giles versus Metodologas Tradicionales ......................... 9
3.3 Por qu usar Metodologas giles? ..................................................... 10
4. Metodologas giles de Desarrollo de Software ..................................... 11
4.1 XP eXtreme Programming................................................................... 12
4.2 Scrum ..................................................................................................... 18
4.3 Crystal Clear .......................................................................................... 23
4.4 DSDM Dynamic Systems Development Method ................................. 27
4.5 FDD Feature Driven Development ...................................................... 30
4.6 ASD Adaptive Software Development ................................................. 32
5. Crtica a las Metodologas giles ............................................................. 34
6. Conclusiones.............................................................................................. 36
7. Referencias ................................................................................................ 37
Metodologas giles
Metodologas giles
1. Introduccin
Para asegurar el xito durante el desarrollo de software no es suficiente contar
con notaciones de modelado y herramientas, hace falta un elemento importante: la
metodologa de desarrollo, la cual nos provee de una direccin a seguir para la correcta
aplicacin de los dems elementos.
incluyendo
modelado
documentacin
roles,
detallada.
actividades
Este esquema
del
sistema
es
muy cambiante,
en
donde
se
exige
reducir
proyectos
pequeos,
medida para ese entorno, aportando una elevada simplificacin que a pesar de ello no
renuncia a las prcticas esenciales para asegurar la calidad del producto.
Metodologas giles
del anlisis estructurado, el cual fue uno de los precursores en el camino hacia la
aplicacin de prcticas estandarizadas dentro de la ingeniera de software. Este modelo
surge como respuesta al modelo codificar y probar que era el que predominaba en la
dcada de los sesenta. En esta poca ya existan modelos iterativos e incrementales
pero no eran disciplinados ni estaban formalizados.
los
cuales
al
presentar
retrabajo. Otra opcin era no permitir cambio alguno a los requerimientos una vez
que se iniciara el desarrollo lo que traa aparejado que el usuario no vea la aplicacin
hasta que ya estaba construida y una vez que interactuaba no cubra sus
necesidades.
forma
se
Metodologas giles
Fue el mismo Barry Boehm, quien en un artculo describe tres hitos crticos a
ser utilizados en cualquier proyecto p a r a p oder planificar y controlar el progreso
del mismo, dando visibilidad a los stakeholders. Estos hitos estn relacionados con las
etapas de avance que se van dando a lo largo de un proyecto de acuerdo a como
ocurren las actividades de ingeniera (que componen los espirales del modelo en
espiral) a las actividades de produccin (que componen la construccin en cascada
del software). Su impacto en la industria del software ha sido tan importante que
uno de los procesos mas utilizados en la actualidad, el RUP, los incorpora. Estos hitos
son:
El primer hito finaliza con la definicin del alcance del software a construir, la
identificacin de los stakeholders, y el delineamiento del plan de desarrollo del
sistema. El mismo ocurre al final de la fase de Concepcin segn el RUP.
El segundo hito finaliza con el delineamiento de la arquitectura del sistema, la
resolucin de todos los riesgos crticos del proyecto, y el refinamiento de los objetivos y
el alcance del sistema. A partir de este hito, se comienza la construccin en forma
masiva del sistema, llegndose a utilizar el mximo de recursos en el proyecto.
Metodologas giles
es
una
de
las
razones
principales
del
advenimiento
de
las
herramientas
que
generaban
cdigo
en
forma
automtica tomando como entradas sintaxis de alto nivel. En general, se considera que
Metodologas giles
este fue uno de los primeros hitos en pos de la agilidad en los procesos de
desarrollo.
Durante 1996, Beck es llamado por Chrysler como asesor del proyecto Chrysler
Comprehensive Compensation (C3) payroll system. Dada la poca calidad del sistema
que se estaba desarrollando, Beck decide tirar todo el cdigo y empezar de cero
utilizando las prcticas que l haba ido definiendo a lo largo del tiempo. El sistema,
que administra la liquidacin de aproximadamente 10.000 empleados, y consiste de
2.000 clases y 30.000 mtodos, es puesto en operacin en Mayo de 1997 casi
respetando el calendario propuesto. Como consecuencia del xito de dicho proyecto,
Kent Beck dio origen a XP iniciando el movimiento de metodologas giles al que se
anexaran otras metodologas surgidas mucho antes que el propio Beck fuera
convocado por Chrysler.
Tras esta reunin se cre The Agile Alliance, una organizacin, sin nimo de
lucro, dedicada a promover los conceptos relacionados con el desarrollo gil de
Metodologas giles
software y ayudar a las organizaciones para que adopten dichos conceptos. El punto
de partida fue el Manifiesto gil, un documento que resume la filosofa gil.
Son
caractersticas que diferencian un proceso gil de uno tradicional. Los dos primeros
principios son generales y resumen gran parte del espritu gil. El resto tienen que
ver con el proceso a seguir y con el equipo de desarrollo, en cuanto metas a seguir y
organizacin del mismo. Los principios son:
Metodologas giles
Metodologas Tradicionales
Basadas en normas provenientes de
estndares seguidos por el entorno de
desarrollo.
Cierta resistencia a los cambios.
principios.
numerosas polticas/normas.
Metodologas giles
es bastante flexible.
El cliente es parte del equipo de
desarrollo.
distribuidos.
Pocos artefactos.
Ms artefactos.
Pocos roles
Ms roles.
software.
10
Metodologas giles
complejo en su globalidad.
Metodologa
Acrnimo
Adaptive Software
Creacin
Tipo de modelo
Highsmith 2000
ASD
Caracterstica
Inspirado en sistemas
Development
adaptativos complejos
Agile Modeling
Ambler 2002
Metodologa basada en la
Suministra modelado
prctica
AM
Cristal Methods
Cockbum 1998
CM
nfasis en modelo de
ciclos
Agile RUP
Booch, Martin,
dX
Newkirk 1998
artefactos RUP
11
Metodologas giles
Dynamic Solutions
Stapleton 1997
Framework/modelo de
ciclo de vida
en RAD
DSDM
Delivery Model
Evolutionary
Project
Gilb 1976
EVO
existente
Disciplina en prcticas de
Management
eXtreme
Beck 1999
XP
Programming
ingeniera
Feature-Driven
Development
1998
FDD
construccin
Metodologa
Charette 2001,
Metodologa basada en
Forma de pensar modelo
LD
Mary y Tom
procesos productivos
logstico
Poppendieck
Rapid Development
McConnell 1996
Survey de tcnicas y
Seleccin de best
modelos
practices, no mtodo
Lineamientos, disciplinas,
Framework de
prcticas
desarrollo de soluciones
Sutherland 1994
Proceso framework de
Complemento de otros
Schwaber 1995
management
mtodos, giles o no
RAD
Microsoft Solutions
Microsoft 1994
MSF
Framework
Scrum
Scrum
Tabla N2. Tabla de convergencias y divergencias entre las principales metodologas giles.
12
Metodologas giles
Figura N1. Evolucin de los largos ciclos de desarrollo en cascada (a) a ciclos
iterativos ms cortos (b) y a la mezcla que hace XP.
13
Metodologas giles
iteracin.
B. Roles XP
Los roles de acuerdo con la propuesta original de Beck son:
- Programador. El programador escribe las pruebas unitarias y produce el
cdigo del sistema.
- Cliente. Escribe las historias de usuario y las pruebas funcionales
para
validar
historias de usuario
y decide cules
a las
Proporciona
realimentacin al
14
Metodologas giles
C. Proceso XP
El ciclo de desarrollo consiste (a grandes rasgos) en los siguientes pasos:
1.
2.
3.
4.
5.
Vuelve al paso 1.
D. Prcticas XP
La principal suposicin que se realiza en XP es la posibilidad de disminuir
la mtica curva exponencial del costo del cambio
suficiente para que el diseo evolutivo funcione. Esto se consigue gracias a las
tecnologas disponibles para ayudar en el desarrollo de software y a la aplicacin
disciplinada de las siguie ntes prcticas.
cliente
15
Metodologas giles
del
el cliente y el equipo de
que
describe
proyecto.
Refactorizacin
(Refactoring).
Es
una
actividad
constante
de
Programacin en parejas.
probablemente
16
Metodologas giles
17
Metodologas giles
y complementarlas con otras ideas desde la perspectiva del negocio, los valores humanos
y el trabajo en equipo.
4.2 Scrum
Scrum define un proceso emprico, iterativo e incremental de desarrollo
que intenta obtener ventajas respecto a los procesos definidos (cascada, espiral,
prototipos, etc.) mediante la aceptacin de la naturaleza catica del desarrollo de
software, y la utilizacin de prcticas tendientes a manejar la impredictibilidad y el
riesgo a niveles aceptables. El mismo surge e n 1 9 8 6 , de un artculo d e la
Harvard Business Review titulado The New New Product Development Game
de Hirotaka Takeuchi e Ikujiro Nonaka, que introduca las mejores prcticas ms
utilizadas en 10 compaas japonesas altamente innovadoras. A partir de ah y
tomando referencias al juego de rugby, Ken Scwaber y Jeff Sutherland formalizan el
proceso conocido como Scrum en el ao 1995.
18
Metodologas giles
se
define
el
Product
Backlog,
que
contiene
todos
los
19
Metodologas giles
gil de
20
Metodologas giles
Pre-Juego:
Montaje
(Staging).
El
propsito
es
identificar
ms
4.
21
Metodologas giles
Al fin de cada iteracin de treinta das hay una demostracin a cargo del Scrum
Master. Las presentaciones en PowerPoint estn prohibidas. En los encuentros diarios,
las gallinas deben estar fuera del crculo. Todos tienen que ser puntuales; si alguien
llega tarde, se le cobra una multa que se destinar a obras de caridad. Es permitido usar
artefactos de los mtodos a los que Scrum acompae, por ejemplo Listas de Riesgos si
se utiliza UP, Planguage si el mtodo es Evo, o los Planes de Proyecto sugeridos en la
disciplina de Gestin de Proyectos de Microsoft Solutions Framework. No es legal, en
cambio, el uso de instrumentos tales como diagramas PERT, porque stos parten del
supuesto de que las tareas de un proyecto se pueden identificar y ordenar; en Scrum el
supuesto dominante es que el desarrollo es semi-catico, cambiante y tiene demasiado
ruido como para que se le aplique un proceso definido.
22
Metodologas giles
cortas
con
usuarios/clientes, minimizando
feedback
de
esta
frecuente
forma
la
por
parte
necesidad
de
de
los
productos
23
Metodologas giles
Los mtodos se llaman Crystal evocando las facetas de una gema: cada faceta es
otra versin del proceso, y todas se sitan en torno a un ncleo idntico. Hay cuatro
variantes de metodologas: Crystal Clear (Claro como el cristal) para equipos de 8 o
menos integrantes; Amarillo, para 8 a 20; Naranja, para 20 a 50; Rojo, para 50 a 100. Se
promete seguir con Marrn, Azul y Violeta. La ms exhaustivamente documentada es
Crystal Clear (CC), la misma que puede ser usada en proyectos pequeos de categora
D6, aunque con alguna extensin se aplica tambin a niveles E8 a D10. El otro mtodo
24
Metodologas giles
2.
3.
4.
5.
6.
25
Metodologas giles
Ambiente
tcnico
con
prueba
automatizada,
management
de
26
Metodologas giles
27
Metodologas giles
1.
2.
3.
4.
5.
6.
7.
8.
9.
DSDM define cinco fases en la construccin de un sistema ver Figura N8. Las
mismas son: estudio de factibilidad, estudio del negocio, iteracin del modelo
funcional, iteracin del diseo y construccin, implantacin. El estudio de
factibilidad es una pequea fase que propone DSDM para determinar si la
metodologa se ajusta al proyecto en cuestin. Durante el estudio del negocio se
involucra al cliente de forma temprana, para tratar de entender la operatoria que el
sistema deber automatizar. Este estudio sienta las bases para iniciar el desarrollo,
definiendo las features de alto nivel que deber contener el software. Posteriormente,
se inician las iteraciones durante las cuales: se bajar a detalle los features
identificados anteriormente, se realizar el diseo de los mismos, se construirn los
componentes de software, y se implantar el sistema en produccin previa aceptacin
del cliente.
28
Metodologas giles
29
Metodologas giles
30
Metodologas giles
Los buenos procesos van hasta el fondo del asunto, de modo que los
miembros del equipo se puedan concentrar en los resultados.
Los ciclos cortos, iterativos, orientados por rasgos (features) son mejores.
Hay tres categoras de rol en FDD: roles claves, roles de soporte y roles
adicionales. Los seis roles claves de un proyecto son: (1) administrador del proyecto,
quien tiene la ltima palabra en materia de visin, cronograma y asignacin del
personal; (2) arquitecto jefe (puede dividirse en arquitecto de dominio y arquitecto
tcnico); (3) manager de desarrollo, que puede combinarse con arquitecto jefe o
manager de proyecto; (4) programador jefe, que participa en el anlisis del
requerimiento y selecciona rasgos del conjunto a desarrollar en la siguiente iteracin;
(5) propietarios de clases, que trabajan bajo la gua del programador jefe en diseo,
codificacin, prueba y documentacin, repartidos por rasgos y (6) experto de dominio,
que puede ser un cliente, patrocinador, analista de negocios o una mezcla de todo eso.
31
Metodologas giles
Los tres roles adicionales son los de verificadores, encargados del despliegue y
escritores tcnicos. Un miembro de un equipo puede tener otros roles a cargo, y un solo
rol puede ser compartido por varias personas.
Algunos agilistas sienten que FDD es demasiado jerrquico para ser un mtodo
gil, porque demanda un programador jefe, quien dirige a los propietarios de clases,
quienes dirigen equipos de rasgos. Otros crticos sienten que la ausencia de
procedimientos detallados de prueba en FDD es llamativa e impropia. Los promotores
del mtodo aducen que las empresas ya tienen implementadas sus herramientas de
prueba, pero subsiste el problema de su adecuacin a FDD. Un rasgo llamativo de FDD
es que no exige la presencia del cliente.
32
Metodologas giles
ASD presupone que las necesidades del cliente son siempre cambiantes. La
iniciacin de un proyecto involucra definir una misin para l, determinar las
caractersticas y las fechas y descomponer el proyecto en una serie de pasos
individuales, cada uno de los cuales puede abarcar entre cuatro y ocho semanas. Los
pasos iniciales deben verificar el alcance del proyecto; los tardos tienen que ver con el
diseo de una arquitectura, la construccin del cdigo, la ejecucin de las pruebas
finales y el despliegue.
33
Metodologas giles
adaptativa
GlaxoSmithKline,
se
cuentan
Landmark,
Nextel,
AS
Bank
Nike,
de
Nueva
Phoenix
Zelanda,
International
CNET,
Health,
Thoughworks y Microsoft.
34
Metodologas giles
35
Metodologas giles
6. Conclusiones
No existe una metodologa universal para hacer frente con xito a cualquier
proyecto de desarrollo de software.
Las metodologas giles ofrecen una solucin casi a medida para una gran
cantidad de proyectos.
A pesar de las continuas criticas que las metodologas giles sufren, son usadas
por muchas grandes empresas y se han utilizado en grandes sistemas, lo que
hace prever que estas metodologas han llegado para quedarse.
36
Metodologas giles
7. Referencias
[1].
Boehm,
Barry
W.,
Spiral
Model
of
Software
Development
and
Martin, J., Rapid Application Development, Macmillan Inc., New York, 1991.
[5].
[6].
[7].
[8].
[9].
37