Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Metodologias Agiles
Metodologias Agiles
- FDD
- AUP
- Crystal Clear
- DSDM
Introduccin.
Caractersticas.
Fases.
Fases de FDD
Roles.
El primer grupo lo forman los roles clave que como su nombre indica son
indispensables para el progreso del sistema. En este grupo se encuentra
el administrador de proyecto, que es quien siempre tiene la ltima
palabra en visin, cronograma y seleccin del personal. De la parte ms
tcnica est encargado el arquitecto jefe, que controla el diseo global
y la implementacin de las diferentes funcionalidades desde el nivel
ms alto. Quien se preocupa de que todas se desarrollen
correctamente es el manager de desarrollo, encargndose de los
conflictos en el equipo y de resolver problemas referentes a los recursos.
Artefactos.
A lo largo del proceso, el primero y principal documento que se genera
es en el que se definen todas las funcionalidades de la aplicacin, el
Modelo de Dominio. ste se elabora utilizando la tcnica llamada
Unifieid Modeling Languaje (UML), como diagrama de clases, aunque
posteriormente fue mejorado por Peter Coad dando lugar al Domain
Neutral Component (DNC) y arquetipos de clase. A continuacin
observamos un ejemplo que modela el dominio de un hotel y las
conferencias que se realizan en l, en formato DNC.
DNC
Conclusin
Disciplinas:
A diferencia del RUP, el AUP tiene tan solo 7 disciplinas:
1. Modelo. Entender el problema planteado por el proyecto e identificar
una solucin para abordar el problema.
2. Implementacin. Transformar el modelo(s) en cdigo ejecutable y
realizar pruebas de nivel bsico en concreto prueba de unidad.
3. Pruebas. Realizar una evaluacin objetiva para asegurarse la calidad.
Esto incluye encontrar defectos, asegurarse de que el sistema funciona
como debera y verificar que cumple los requisitos.
4. Desarrollo. Planificar la entrega del sistema y ejecutar el plan para
hacer que el sistema este disponible para el usuario final.
5. Administrar la Configuracin. Administrar el acceso a los artefactos del
proyecto. Esto incluye Esto incluye el seguimiento de versiones de
artefactos a travs del tiempo, asi como el control y la gestin de los
cambios a los mismos.
6. Administracin del Proyecto. Dirigir las actividades que toman parte en
el proyecto. Esto incluye la administracin de riesgos, dirigir personas
(asignarles tareas, llevar el seguimiento de su progreso, etc), y
coordinarse con personas y sistemas fuera del mbito del proyecto para
asegurarse que se entrega a tiempo y dentro del presuspuesto
7. Medio Ambiente. Apoyar el resto del esfuerzo, garantizando que el
proceso es adecuado, las guias (normas y directrices), y las
herramientas (hardware, software, etc) estn disponibles para el
equipo segn sea necesario.
una aplicacin es algo que podra ser potencialmente lanzado si pasara los
controles de calidad de pre-produccin, pruebas y procesos de desarrollo.
En la imagen se observa que la primera versin de produccin suele
tomar mas tiempo de desarrollo que las dems; en la primera versin de un
sistema el equipo tiene que establecer las bases, lo que lleva mucho tiempo,
pero permitir que las versiones siguiente sean lanzadas mas rpido. La
entrega de la primera produccin puede tomar doce meses, la segunda
entrega, nueve meses, y luego, las siguientes versiones, se entregan cada seis
meses.
Principios:
1. Tus empleados saben que estn haciendo. Los empleados no van a
leerse los detalles de la documentacin del proceso, pero
necesitarn alguna orientacin de alto nivel y / o formacin de vez en
cuando. El producto del AUP propone enlaces para muchos de los
detalles, si estas interesados en ellos, pero no te fuerza a usarlos.
2. Simplicidad. Todo es descrito con precisin usando un puado de
paginas, pero sin pasarse.
3. Agilidad. El AUP se ajusta a los valores y principios del desarrollo gil de
software y de la Alianza gil.
4. Centrarse en actividades de alto valor. La atencin se centra en las
actividades que realmente cuentan, y no en cada cosa que pudiera
pasar a lo largo del desarrollo del proyecto.
5. Independecia de las Herramientas. Con la AUP se pueden utilizar
cualquier conjunto de herramientas que quiera el desarrolador. La
recomendacin es que utilice las herramientas que se adapten
mejor para el trabajo, que a menudo son herramientas simples.
6. Adaptar el AUP para que cumpla tus necesidades.
Bibliografa
http://www.ambysoft.com/unifiedprocess/agileUP.html
http://en.wikipedia.org/wiki/Agile_Unified_Process
Introduccin
DSDM (Dynamic System Development Method) es considerada la primera
metodologa gil y es la nica de ellas que ha sido declarada en un Consorcio
formado por 17 personas en Gran Bretaa en el ao 1994. El origen de esta
metodologa surgi como resultado de la bsqueda de una metodologa
pblica que se ajustase a cualquier herramienta de desarrollo de software y
que pudieras ser usado en proyectos RAD (Rapid Agile Development).
Creado con la experiencia de los fundadores en las prcticas que se llevaban
a cabo en la industria del software el primer modelo DSDM fue liberado en el
ao 1995. Su involucracin en la industria fue positivo por lo tanto el presidente
del Consenso decidi que sera til crear un libro sobre la aplicacin real del
mtodo a los proyectos de software.
Esta metodologa se basa en 9 principios que se apoyan en la ideologa RAD:
1. Es obligatoria la involucracin del usuario en el proyecto.
2. Los equipos de trabajo que desarrollen el proyecto deben de poder tomar
decisiones.
3. Se deben de producir entregas frecuentemente para comprobar el estado
del proyecto.
4. Las entregas deben cumplir los propsitos de modelo que se indicaron.
5. La solucin del negocio requiere un ciclo de desarrollo iterativo e
incremental.
6. Cualquier cambio en el desarrollo es posible, ya que este mtodo permite la
reversibilidad.
7. Los requerimientos del proyecto estn especificados a un alto nivel.
8. El testeo se integra en el mismo ciclo de vida.
9. La colaboracin y cooperacin entre los miembros interesados en el
proyecto es esencial.
Fases
El DSDM tiene un ciclo de desarrollo dividido en 5 fases:
Estudio de factibilidad: en esta fase se comprueba que la metodologa se
ajuste al proyecto que se va a llevar a cabo.
Estudio de negocio: Se establece la temprana comunicacin con el cliente
para llegar a las bases del sistema que deber de desarrollarse y como
debern de operarse. Se encuentran las necesidades de ms alto nivel del
software y se sientan las bases del desarrollo a su alrededor, junto a los costes
de tiempo y capital
Iteracin del modelo funcional: como su nombre indica es la primera iteracin
que se lleva a cabo en ella se deben de crear prototipos que puedan ser
usados y vaya supliendo necesidades del sistema a desarrollar en cada
iteracin. Esta iteracin se divide en 4 subfases principales: Acordar Plan, Crear
Prototipo, Revisar Prototipo e Identificar Prototipo funcional.
Iteracin de Diseo y Construccin: Crea el diseo de la aplicacin y se
construir atendiendo a este empleando el prototipo generado en la fase
anterior. Tambin est dividido en 4 subfases principales: Acordar plan, Crear
prototipos de diseo, Revisar los prototipos de diseo e Identificar estos
prototipos.
Implementacin e implantacin: En esta fase se produce el beta-testing
adems de ensear a los usuarios a usarla, se crean los manuales de uso de la
aplicacin, se encuentran errores en el uso si es que existen, se restablecen los
criterios del negocio y si hay errores se vuelve a comenzar el ciclo de vida, en
caso contrario se implantar el software entregndoselo al cliente (empresa o
usuarios).
Roles de trabajo
La gente que trabaja junta de manera efectiva son el fundamento de un
proyecto exitoso. El DSDM reconoce esta necesidad y asigna papeles y
responsabilidades claros a cada persona en el proyecto, ya sean clientes o
proveedores. Estas dos comunidades deben trabajar hombro con hombro en
los proyectos DSDM rompiendo toda barrera que impida la comunicacin.
Los principales roles a desempear son:
Patrocinador de negocio:
Es el nivel ms alto en la parte del proyecto. Se encarga de resolver las dudas
de negocio a cualquier persona y decidir las decisiones financieras. Tiene la
gran responsabilidad de que el proyecto se desarrolle a la velocidad
adecuada y eficazmente.
Sus responsabilidades son:
Visionario de Negocio
Uno de los niveles ms altos del proyecto. Est involucrado de manera ms
activa que el Patrocinador, es el responsable de interpretar las necesidades
del Patrocinador y comunicar estas necesidades al equipo intentando
fielmente el plan de proyecto. Adems, aprovisionar al equipo de desarrollo
con una direccin estratgica y asegurndose de que la solucin escogida a
la hora de solucionar un problema conseguir los beneficios estimados.
Analista de Negocio
Est ntegramente integrado con el equipo de desarrollo de soluciones y es el
centro de las relaciones entre los encargados de gestionar el negocio y los
tcnicos, proveyendo una direccin acertada y decisiva provista por el equipo
de desarrollo de soluciones en una base diaria. Es el encargado de
comprobar que todas las necesidades se analizan correctamente y se reflejan
en el plan de desarrollo.
Otras de sus responsabilidades son:
Desarrollador de soluciones
Interpreta los requerimientos de negocio y los traduce a una posible solucin
que logra solucionar las necesidades funcionales y no funcionales. Debera de
estar a tiempo completo desarrollndose en un nico proyecto.
Sus responsabilidades son:
Probador de soluciones
El probador de soluciones est totalmente integrado con el equipo de
desarrollo de soluciones y ejerce pruebas en relacin a la estrategia de
pruebas tcnicas plasmadas en el proyecto.
Sus responsabilidades son:
Trabaja con los encargados del negocio para definir los escenarios y
casos de prueba para la solucin propuesta.
En compromiso con la Estrategia Tcnica de Pruebas:
-
Consejero de Negocio:
Acta como compaero del Embajador de Negocio, el consejero es quien
provee de ayudas especficas y especialistas al desarrollo de soluciones o a la
prueba de estas. Normalmente ser un usuario con buenos conocimientos o
un beneficiario de la solucin, aunque quizs simplemente ofrece un apoyo a
las bases legales del proyecto.
Facilitador de Taller
Es el responsable de controlar el proceso de taller y el catalizador en la
preparacin y comunicacin. Tambin es el responsable del proceso en el
taller, aunque no del contenido de este.
Sus responsabilidades son:
Para cada taller:
Coach
El papel de Coach es una ayuda para el equipo con limitada experiencia que
usa DSDM para obtener todo el provecho del equipo posible. Debera de ser
una persona con certificacin acreditada para estar capacitado para llevar a
cabo el trabajo y tener los conocimientos necesarios.
Sus responsabilidades son:
Roles de especialistas:
Se encargan de aportar todo lo posible al campo de conocimiento del
proyecto en el cual son expertos e intentar trabajar con total eficacia
siguiendo las indicaciones de las capas superiores y adaptndose al plan de
desarrollo. La decisin de que todo acabe bien es suya al ser la mano de obra
principal el proyecto. Si su forma de trabajo no es la correcta sufren en mayor
medida la capacidad de ser sustituidos.
Conclusin:
Como hemos podido comprobar en este trabajo el DSDM es una metodologa
que tiene en mente la limitacin de recursos y que la velocidad es importante.
Adems, se preocupa en gran medida por la colaboracin entre la empresa
de desarrollo y el cliente. Se interesa mucho por la coordinacin y el control
sobre la comunicacin colocndola en el centro de la metodologa.
En el DSDM se mezclan las bases para el desarrollo gil y una organizacin
estricta del equipo y la planificacin. Debera ser utilizado en proyectos que
puedan tener especificaciones cambiantes o que necesiten desarrollarse en
poco tiempo.
Y lo ms importante es que fue creado en un consenso de expertos lo que
hace que sea una metodologa ideal y de utilidad bien demostrada, adems
puede ser utilizada junto con otras metodologas.
La metodologa sufri una importante atencin debido a los beneficios del
feedback que se obtena de los usuarios que trabajaban codo con codo en el
proyecto.
Metodologa Crystal:
Introduccin:
La familia de metodologas Crystal nace a principios de los 90 por uno
desarrollador de software llamado Alistair Cockburn en base a sus
distintos proyectos y experiencia. Es un tipo de metodologa gil cuyo
nombre viene de su comparacin de los grupos con los minerales segn
su color o dureza. Se caracteriza por su gran nfasis en la comunicacin
y su tolerancia, que la hace ideal en casos en los que XP es inaplicable
o para proyectos pequeos.
Crystal se define con mucho nfasis en la comunicacin y de forma muy
ligera en relacin a los productos peridicos entregables. Aneja
interacciones cortas con feedback frecuente por parte del cliente,
minimizando los productos intermedios. Tambin cuenta con usuarios
reales que participan en la definicin del producto como tal.
Esta familia dispone de unos cdigos de color para marcar la
complejidad de cada una de las metodologas que la componen: de
ms oscuro y pesado a ms claro y ligero; y de mayor criticidad y rigor a
menor. Situadas en una grfica, estas metodologas siguen los
parmetros de Comodidad, Dinero Discrecional y Esencial y Vidas.
Segn este cdigo de colores, el Clear es para equipos de 8 o menos
personas, el Amarillo para equipos de entre 10 y 20 personas, el Naranja
para equipos de entre 20 y 50 personas, el Rojo de 50 a 100 y el Azul de
100 a 200.
Valores o Propiedades:
Como casi todos los mtodos, Crystal Clear consiste en valores, tcnicas
y procesos. Los siete valores o propiedades de esta metodologa son:
Mejora reflexiva, es decir, periodos de reflexin para que los
desarrolladores puedan pensar, tomar notas, reflexionar, relajarse,
discutir... Se obtienen as una serie de hbitos o prcticas de desarrollo
que nos gustara mantener, una lista de lo que nos gustara intentar y de
lo que queremos evitar, generando as una mejora continua en nuestro
proyecto.
Esqueleto ambulante, una transaccin debe ser simple pero estar
completa, no dejarla a medio programar, ya que al volver a mejorarla
al cabo de un tiempo puede habrsenos olvidado el cdigo y ser
incapaces de mejorarla sin mermar sus funcionalidades.
Procesos:
Esta metodologa no especifica ningn ciclo ciclo de vida o modelo de
procesos, pero determina una gua estndar de las prcticas ms
utilizadas. Estas son:
-
Roles:
En Crystal se establecen unos roles bien definidos para cada integrante
del grupo. Estos son:
-
Desarrollo de un proyecto:
En el desarrollo de un proyecto en Crystal se deben tener en cuenta
para empezar las personas que componen un equipo, el aspecto
humano del mismo, la comunicacin entre los componentes, las
distintas polticas a seguir y el espacio fsico de trabajo. Especial
importancia tiene el tamao del equipo, ya que si es elevado produce
una metodologa ms pesada. Tambin es importante una
comunicacin cercana para que sea ms barata y efectiva,
recomendando el cara a cara. Dado que Crystal no es una
metodologa concreta sino ms bien una familia de ellas, todas
comparten una serie de caractersticas llamadas cdigo gentico. Estas
son:
1.
Modelo de Juego Cooperativo, dividiendo a los integrantes del
equipo en grupos o partidos cuyos objetivos consisten en inventar y
comunicar para mejorar su concentracin. Cada partido es diferente y
3.
Conclusin:
Como conclusin podemos remarcar que las metodologas Crystal son
altamente recomendables para equipos pequeos. Son flexibles y
priorizan la parte humana, apuntando a lograr eficiencia, habitabilidad
y confianza entre los integrantes del grupo. Los requisitos se obtienen
mediante programacin por parejas. Tambin presta especial atencin
al espacio fsico donde se sita el equipo y a la comunicacin. La
necesidad de las entregas peridicas, adems, estimulan la
concentracin y resalta la importancia de la comunicacin con el
cliente junto con las reuniones. Por ltimo, el equipo elige que tcnicas
aplicar segn las caractersticas del proyecto.
COMPARATIVA:
- Tamao de los equipos
FDD: Pensado para proyectos cortos y equipos pequeos, pero
muy escalable.
Crystal: Preferiblemente para equipos de tamao reducido, pero
modificable segn el peso del proyecto.
DSDM:Pensado para proyectos que deben desarrollarse de
manera rpida con un equipo ajustado y dirigido.
AUP: Preferiblemente
aumentar el tamao.
pequeos,
pero
con
posibilidad
de
- Obtencin de requisitos
FDD: No define explicitamente esta parte del proyecto, sino que
propone proceder a partir de un momento en el que ya se han
recogido de la manera que se quiera, en las 3 primeras fases.
Crystal: El equipo elige la manera en la que obtendrn los
requisitos, si bien debe haber comunicacin suficiente para debatrilo y
que todos los integrantes trabajen a gusto.
DSDM: Se definen los requisitos en dos fases iniciales llamadas
estudio de factibilidad y estudio de negocio.
AUP: Se produce en la primera fase, que est destinada
especficamente para ello, y condiciona la siguiente iteracin.
- Carga de trabajo
FDD: A medio camino entre la documentacin y el desarrollo,
bastante libre para los desarrolladores auque con orden, porque estos
estn muy jerarquizados.
Crystal: Cada componente del equipo tiene su papel,
especificando uno concreto para la docuemntacin (Escritor), para la
arquitectura (Diseador Principal), la programacin (ProgramadorDiseador), etc.
DSDM: El trabajo est muy organizado en niveles muy claros y con
funciones definidas, la carga se reparte en la medida de lo posible entre
todos los niveles.