Está en la página 1de 5

Tabla comparativa metodologías de desarrollo de software

agiles y rígidas

RIGIDOS AGILES/ FLEXIBLES

RUP XP
Rational Unified Process. La programación extrema o Xtreme Programming (XP) es
El Proceso Racional Unificado o RUP es un proceso de desarrollo una metodología de desarrollo de la ingeniería de software formulada
de software desarrollado por la empresa Rational Software, por Kent Beck, autor del primer libro sobre la materia, Extreme
actualmente propiedad de IBM. Programming Explained: Embrace Change (1999). Es el más
destacado de los procesos ágiles de desarrollo de software.
Características:
RUP se utiliza para forma disciplinada de asignar tareas y Características:
responsabilidades en una empresa de desarrollo (quién hace qué, Se puede considerarla programación extrema como la adopción de
cuándo y cómo). las mejores metodologías de desarrollo de acuerdo a lo que se
Desarrollo iterativo pretende llevar a cabo con el proyecto, y aplicarlo de manera
Administración de requisitos dinámica durante el ciclo de vida del software.
Uso de arquitectura basada en componentes Se diferencia de las metodologías tradicionales
Control de cambios  principalmente en que pone más énfasis en la adaptabilidad que en
Modelado visual del software la previsibilidad.
Verificación de la calidad del software Se aplica de manera dinámica durante el ciclo de vida del
Pretende implementar las mejores prácticas en Ingeniería de software.
Software, de forma que se adapte a cualquier proyecto Es capaz de adaptarse a los cambios de requisitos.
Junto con el Lenguaje Unificado de Modelado (UML), constituye la Los individuos e interacciones son más importantes que los
metodología estándar más utilizada para el análisis, diseño, procesos y herramientas.
implementación y documentación de sistemas orientados a objetos. Al individuo y las interacciones del equipo de desarrollo sobre el
proceso y las herramientas
Pasos: Pasos:
 La estructura dinámica de RUP es la que permite que éste
sea un proceso de desarrollo fundamentalmente iterativo, y en  Desarrollo iterativo e incremental: Pequeñas mejoras, unas
esta parte se ven inmersas las cuatro fases: tras otras.
 Inicio (también llamado Incepción o Concepción).  Pruebas unitarias continuas: Son frecuentemente repetidas y
 Elaboración. automatizadas, incluyendo pruebas de regresión. Se aconseja
 Desarrollo (también llamado Implementación, Construcción). escribir el código de la prueba antes de la codificación.
 Cierre (también llamado Transición).  Programación en parejas: Se recomienda que las tareas de
desarrollo se lleven a cabo por dos personas en un mismo
puesto. Se supone que la mayor calidad del código escrito de
esta manera -el código es revisado y discutido mientras se escribe-
es más importante que la posible pérdida de productividad
inmediata.
 Frecuente integración del equipo de programación con el cliente
o usuario: Se recomienda que un representante del cliente
trabaje junto al equipo de desarrollo.
 Corrección de todos los errores antes de añadir nueva
funcionalidad: Hacer entregas frecuentes.
 Refactorización del código: Es decir, reescribir ciertas partes
del código para aumentar su legibilidad y Mantenibilidad, pero sin
modificar su comportamiento. Las pruebas han de garantizar que
en la refactorización no se ha introducido ningún fallo.
 Propiedad del código compartido: en vez de dividir la
responsabilidad en el desarrollo de cada módulo en grupos de
trabajo distintos, este método promueve el que todo el personal
pueda corregir y extender cualquier parte del proyecto.
 Las frecuentes pruebas de regresión garantizan que los posibles
errores serán detectados.
 Simplicidad del código: es la mejor manera de que las cosas
funcionen.
 Cuando todo funcione se podrá añadir funcionalidad si es
necesario. La programación extrema apuesta que es más sencillo
hacer algo simple y tener un poco de trabajo extra para
cambiarlo si se requiere, que realizar algo complicado y quizás
nunca utilizarlo.
MSF SCRUM
Microsoft Solutions Framework (MSF) es un enfoque Proyectos de Desarrollo Ágil
personalizable para entregar con éxito soluciones tecnológicas de Es un proceso en el que se aplican de manera regular un conjunto
manera más rápida, con menos recursos humanos y menos de buenas prácticas para trabajar colaborativamente, en equipo, y
riesgos, pero con resultados de más calidad. MSF ayuda a los obtener el mejor resultado posible de un proyecto. Estas prácticas se
equipos a enfrentarse directamente a las causas más habituales de apoyan unas a otras y su selección tiene origen en un estudio de la
fracaso de los manera de trabajar de equipos altamente productivos.
 proyectos tecnológicos y mejorar así las tasas de éxito, la calidad
de las soluciones y el impacto comercial. Características:
Se realizan entregas parciales y regulares del producto final,
Características: priorizadas por el beneficio que aportan al receptor del proyecto.
Principios fundamentales y actitudes en el contexto de MSF para
orientar y guiar a los equipos y sus miembros en el trabajo en Por ello, Scrum está especialmente indicado para proyectos en
colaboración para entregar una solución entornos complejos, donde se necesita obtener resultados pronto,
donde los requisitos son cambiantes o poco definidos, donde la
El modelo de equipo de MSF permite escalar los proyectos, garantiza innovación, la competitividad,
que los equipos satisfacen diversas necesidades de las partes la flexibilidad y la productividad son fundamentales.
interesadas y define roles y responsabilidades controlados por
objetivos Pasos:
 Planificación de la iteración
El modelo de gobernanza de MSF (llamado anteriormente modelo de  El primer día de la iteración se realiza la reunión de
proceso de MSF) permite obtener resultados rápidos y de alta planificación de la iteración. Tiene dos partes:
calidad por medio de un ciclo de vida de proyecto comprobado que  Selección de requisitos (4 horas máximo). El cliente presenta al
identifica actividades clave del proyecto equipo la lista de requisitos priorizada del producto o proyecto.
El equipo pregunta al cliente las dudas que surgen y selecciona
Pasos: los requisitos más prioritarios que se compromete a completar
 Visión. Desarrollar un entendimiento claro sobre lo que se en la iteración, de manera que puedan ser entregados si el
necesita dentro del contexto de las restricciones del proyecto. cliente lo solicita.
 Reunir al equipo necesario para concebir soluciones con las  Planificación de la iteración (4 horas máximo). El equipo
opciones y los enfoques más adecuados para esas necesidades  elabora la lista de tareas de la iteración necesarias para
y que también satisfagan de manera óptima esas restricciones. desarrollar los requisitos a que se ha comprometido. La
 Planeación. Hacer evolucionar la solución conceptual hasta llegar estimación de esfuerzo se hace de manera conjunta y los
a diseños y planes tangibles para que se pueda compilar en miembros del equipo se autoasignan las tareas.
una pista de compilación.  Ejecución de la iteración
 Cada día el equipo realiza una reunión de sincronización (15
minutos máximo), normalmente delante de un tablero físico
pizarra (Scrum Taskboard).
 Compilar los aspectos de la solución de acuerdo con las entregas  Cada miembro del equipo inspecciona el trabajo que el
de la pista de planeación, como diseños, planes,  resto está realizando (dependencias entre tareas, progreso
programaciones y requisitos. hacia el objetivo de la iteración, obstáculos que pueden impedir
 Estabilización este objetivo) para poder hacer las adaptaciones necesarias
 Mejorar la calidad de la solución para satisfacer los criterios de que permitan cumplir con el compromiso adquirido. En la
lanzamiento para la implementación en producción. reunión cada miembro del equipo responde a tres preguntas:
 Validar que la solución satisfaga las necesidades y expectativas  ¿Qué he hecho desde la última reunión de
de las partes interesadas.  sincronización?
 Validar la facilidad de uso de la solución desde la perspectiva  ¿Qué voy a hacer a partir de este momento?
de los usuarios.  ¿Qué impedimentos tengo o voy a tener?
 Maximizar el éxito y minimizar los riesgos asociados con la  Durante la iteración el Facilitador (Scrum Master) se encarga
implementación y las operaciones de la solución en los entornos de que el equipo pueda cumplir con su compromiso y de que
de destino de la solución. no se merme su productividad.
 Deploy  Elimina los obstáculos que el equipo no puede resolver por sí
 Integrar una solución correctamente en producción dentro de los mismo.
entornos designados.  Protege al equipo de interrupciones externas que puedan
 Transferir la responsabilidad de la entrega restante de la solución afectar su compromiso o su productividad. Durante la iteración,
de un equipo de proyecto a equipos de operaciones y soporte el cliente junto con el equipo refina la lista de requisitos (para
técnico tan pronto y de manera tan fluida como sea posible. prepararlos para las siguientes
 iteraciones) y, si es necesario, cambian o replanifican los
objetivos del proyecto para maximizar la utilidad de lo que se
desarrolla y el retorno de inversión.
 Inspección y adaptación
 El último día de la iteración se realiza la reunión de revisión de
la iteración. Tiene dos partes:
 Demostración (4 horas máximo). El equipo presenta al cliente
los requisitos completados en la iteración, en forma de
incremento de producto preparado para ser entregado con el
mínimo esfuerzo. En función de los resultados mostrados y de
los cambios que haya habido en el contexto del proyecto, el
cliente realiza las adaptaciones necesarias de manera objetiva,
ya desde la primera iteración, replanificando el proyecto.
 Retrospectiva (4 horas máximo). El equipo analiza cómo ha
sido su manera de trabajar y cuáles son los problemas que manera continua su productividad. El Facilitador se encargará
podrían impedirle progresar adecuadamente, mejorando de de ir eliminando los obstáculos identificados.

CASCADA CRYSTAL
La metodología en cascada es un modelo lineal de diseño de Esta forma se pretende obtener mayor rentabilidad en el desarrollo
software que emplea un proceso de diseño secuencial. de proyectos de software, Los métodos Crystal no prescriben prácticas
concretas, porque están en continuo cambio.
Características:
El desarrollo fluye secuencialmente desde el punto inicial hasta el Características:
punto final, con varias etapas diferentes: planteamiento, iniciación, Se tiene en cuenta que Crystal da vital importancia a las personas
análisis, diseño, construcción, pruebas, implementación y que componen el equipo de un proyecto, y por tanto sus puntos de
mantenimiento. estudio son: Aspecto humano del equipo, Tamaño de un equipo
La metodología en cascada supera algunas de las limitaciones de (número de componentes), Comunicación entre los componentes,
otros métodos, como: A/ Scrum: los procesos de desarrollo que Distintas políticas a seguir, Espacio físico de trabajo. Compuesta por
siguen la metodología en cascada tienden a ser más seguro, ya unas características importantes como lo son Crystal aconseja que
que existe una firme orientación al plan. A diferencia del método el tamaño del equipo sea reducido (Pocos componentes) También La
Scrum, donde el abandono de uno de los miembros del equipo mejora de la comunicación entre los miembros
puede suponer un grave problema, con la metodología en cascada
no lo sería, ya que se dispone de una completa planificación y del equipo del proyecto, El Mismo lugar de trabajo à Disminuye el
documentación que permite suplir este tipo de pérdidas. coste de la comunicación y Mejora individual à Mejora global del
De esta forma, un nuevo diseñador puede fácilmente tomar la equipo, de esta forma se tienen en cuenta las políticas de equipo
posición vacante siguiendo el plan de desarrollo sin ningún “Se utilizarán políticas diferentes para equipos diferentes” Codificación
problema. B/ Ágil: aunque altamente flexible, el enfoque ágil no por colores de Crystal: esto Dependiendo del tamaño del equipo.
tiene la estructura que tiene la metodología en cascada, lo que
implica algunos inconvenientes. Los más significativos son los que Pasos:
tienen que ver con la dificultad para predecir los presupuestos a  Entregas frecuentes, en base a un ciclo de vida iterativo e
partir de líneas de tiempo. Y es que, sin una planificación completa, incremental. En función del proyecto puede haber desde
todos los aspectos quedan vagamente definidos y son susceptibles entregas semanales hasta trimestrales. Para los que conozcan
de generar confusión. Scrum: en Scrum las entregas son, máximo, cada 4 semanas,
en las Crystal se contemplan muchas más opciones.
Pasos:  Mejora reflexiva. Que viene a ser mejora continua. Las
 Análisis de requisitos. iteraciones ayudan a ir ajustando el proyecto, a ir mejorándolo.
 Diseño del sistema.  Comunicación osmótica. Traducido al castellano, que el equipo
 Diseño del programa. esté en una misma ubicación física, para lograr la
 Codificación. comunicación cara a cara.
 Pruebas.  Seguridad personal. Todo el mundo puede expresar su opinión
 Implementación del programa. sin miedos, teniéndosele en cuenta, considerándose su
 Mantenimiento. opinión, etc.
 Enfoque. Períodos de no interrupción al equipo (2h horas),
objetivos y prioridades claros, definiendo así tareas concretas.
Si llevas desde hace tiempo pasando por este blog, recordarás
ya comentábamos, tiempo a, aquello de que el entorno físico
afecta al rendimiento del desarrollador software (te dejo aquel
post).
 Fácil acceso a usuarios expertos. Las Crystal (a diferencia de
otras como XP) no exigen que los usuarios estén
continuamente junto al equipo de proyecto (no todas las
organizaciones pueden hacerlo), sí que, como mínimo,
semanalmente debe haber reuniones y los usuarios deben
estar accesibles.
 Entorno técnico con pruebas automatizadas, gestión de la
configuración e integración continua.

ESPIRAL tiempo y otra información relacionadas con el proyecto.


Inicialmente fue propuesto por un ingeniero en informática, llamado
Barry W. Boehm, dentro de un artículo publicado en 1986, como  Análisis de riesgos: Las tareas requeridas para evaluar riesgos
una mejora del modelo de desarrollo en cascada. técnicos y de gestión.

Características:  Ingeniería: Las tareas requeridas para construir una o más


Cada ciclo comienza con la elaboración de objetivos funcionales y de representaciones de la aplicación.
rendimiento y las formas posibles de alcanzar estos objetivos.
Puede combinarse con otros modelos, como el de cascada o el  Construcción y acción: Las tareas requeridas para construir,
evolutivo. probar, instalar y proporcionar soporte al usuario (por ejemplo:
Es un modelo centrado en los riesgos. Se utiliza para sistemas documentación y práctica).
complejos.
Se empieza un nuevo ciclo cada vez que el cliente quiera hacer  Evaluación del cliente: Las tareas requeridas para obtener la
mejoras en el software, así, se vuelven a evaluar nuevas reacción del cliente según la evaluación de las representaciones
alternativas y riesgos hasta que el sistema sea aceptado. del software creadas durante la etapa de ingeniería e
implementada durante la etapa de instalación.
Pasos:
 Comunicación con el cliente: Las tareas requeridas para
establecer comunicación entre el desarrollador y el cliente.

 Planificación: Las tareas requeridas para definir recursos, el


KANBAN
Kanban es una palabra japonesa que significa algo así como
“tarjetas visuales” (kan significa visual, y ban tarjeta). Esta técnica
se creó en Toyota, y se utiliza para controlar el avance del
trabajo, en el contexto de una línea de producción. Creada por
Toyota para mejorar su producción usando técnicas just-in-time
(JIT).

Características:
Kanban no es una técnica específica del desarrollo software, su
objetivo es gestionar de manera general como se van
completando tareas, pero en los últimos años se ha utilizado en la
gestión de proyectos de desarrollo software, a menudo con Scrum
(lo que se conoce como Scrumban)

Pasos:
 Seleccionar las referencias que se van a producir mediante
Kanban.
 Calcular la cantidad de piezas por kanban (tamaño del lote).
 Escoger el tipo de señal y el tipo de contenedor estándar. El
contenedor puede variar por referencia.
 Calcular el número de contenedores por referencia (curva de
producción) y la secuencia pitch.
 Dar seguiemiento (WIP o SWIP).

También podría gustarte