Sei sulla pagina 1di 11

METODOLOGÍAS ÁGILES

Cada metodología ágil, cuenta con características propias y hace hincapié en ciertos
aspectos específicos. Entre las metodologías ágiles más utilizadas se determina a
continuación: XP (Extreme Programming), Scrum, Crystal Clear, DSDM (Dynamic
Systems Developmemt Method), FDD (Feature Driven Development), ASD (Adaptive
Software Development), XBreed, Extreme Modeling, Lean Development (LD), Lean
Software Development (LSD), etc.

Metodología SCRUM
Introducción
Scrum1 es una metodología ágil y flexible para gestionar el desarrollo de software, cuyo
principal objetivo es maximizar el retorno de la inversión para su empresa (ROI). Se
basa en construir primero la funcionalidad de mayor valor para el cliente y en los
principios de inspección continua, adaptación, auto-gestión e innovación.

La metódica de trabajo promueve la innovación, motivación y compromiso del equipo


que forma parte del proyecto, por lo que los profesionales encuentran un ámbito
propicio para desarrollar sus capacidades.

Fases de la metodología SCRUM


Conformada por las fases de Análisis de requerimientos, Diseño y Programación,
Prueba, Aceptación del producto y Publicación.
 Análisis de requisitos. Se realiza tanto el análisis de mercado como el análisis
de restricciones físicas de los dispositivos móviles; el análisis de estas fases son
fundamentales para paliar la incertidumbre y riesgos a nivel técnico.
 Diseño y Programación. Corresponden al diseño, programación y pruebas son
ejecutadas bajo el marco propio de la metodología Scrum a través de los Sprints
y sus elementos principales (taskboard, Scrum diario, planificación de release,
entre otros).
 Aceptación del producto. Se lo realiza la validación del sistema, en el cual se
confirma la aceptación del producto.
 Publicación. Si los requerimientos del cliente se han cumplido felizmente se lleva
a cabo la publicación de la versión estable.

1
SOFTING Software Engineers
1
Características de la metodología SCRUM:
 Cumplimento de expectativas. El cliente establece sus expectativas indicando el
valor que le aporta cada requisito.
 Flexibilidad a cambios. Alta capacidad de reacción ante los cambios de
requerimientos generados por necesidades del cliente o evoluciones del
mercado.
 Reducción del Time to Market. El cliente puede empezar a utilizar las
funcionalidades más importantes del proyecto antes de que esté finalizado por
completo.
 Mayor calidad del software. La metódica de trabajo y la necesidad de obtener
una versión funcional después de cada iteración, ayuda a la obtención de un
software de calidad superior.
 Mayor productividad. Se consigue gracias a la eliminación de la burocracia y a
la motivación del equipo que proporciona el hecho de que sean autónomos para
organizarse.
 Maximiza el retorno de la inversión (ROI). Producción de SW únicamente con
las prestaciones que aportan mayor valor de negocio gracias a la priorización
por retorno de inversión.
 Predicciones de tiempos. Mediante esta metodología se conoce la velocidad
media del equipo por sprint.
 Reducción de riesgos. El hecho de llevar a cabo las funcionalidades de más
valor en primer lugar, permite despejar riesgos eficazmente de manera
anticipada.

Proceso de SCRUM2.
El Sprint3 consiste en un bloque de tiempo (time-box) de un mes o menos durante el
cual se crea un incremento del producto, utilizable y potencialmente entregable. El
modelo define un conjunto de roles, artefactos y prácticas, con el fin de ajustar y reglar
el proceso de desarrollo a ejecutar durante un proyecto:

2
http://www.softeng.es/es-es/empresa/metodologias-de-trabajo/metodologia-scrum
5
Miguel Ángel Lara Aranda. Guía práctica de uso de las diferentes metodologías de ingeniería del software
2

2
 Product Backlog. Conjunto de requisitos denominados historias, priorizados por
valor de negocio, o lo que es lo mismo, por retorno de inversión considerando su
beneficio y coste.
 Sprint Planning. El equipo determina la cantidad de historias que puede
comprometerse a completar en ese sprint.
 Sprint. Iteración de duración prefijada durante la cual, el equipo trabaja para
convertir las historias del Product Backlog, en una nueva versión del SW.
 Sprint Backlog. Lista de las tareas necesarias para llevar a cabo las historias del
sprint.
 Daily sprint meeting. Reunión diaria de cómo máximo 15 minutos, en la que el
equipo se sincroniza para trabajar de forma coordinada. Cada miembro comenta
que hizo el día anterior, que hará hoy y si hay impedimentos.
 Demo y retrospectiva. Reunión que se realiza al término del sprint y en la que el
equipo presenta las historias conseguidas mediante una demonstración del
producto.

Roles de SCRUM
La gestión de un proyecto Scrum se centra en definir cuáles son las características que
debe tener el producto a construir y en vencer cualquier obstáculo que pudiera
entorpecer la tarea del equipo de desarrollo.

El equipo Scrum está formado por los siguientes roles:


 Scrum master. Líder del equipo, guiándolo para que cumpla las reglas y
procesos de la metodología
 Product owner. Representante de los accionistas y clientes que usan el
software. Se focaliza en la parte de negocio y él es responsable del ROI del
proyecto.
 Team. Profesionales con los conocimientos técnicos y que desarrollan el
proyecto de manera conjunta llevando a cabo las historias a las que se
comprometen al inicio de cada sprint.

Ventajas y Desventajas de la metodología SCRUM


Ventajas:
 El cliente está satisfecho ya que recibe lo que necesita y esperaba

3
 El coste en términos de proceso y Management es mínimo, llevando a un
resultado más rápido y barato.
 Ayuda a la empresa a ahorrar tiempo y dinero
 Rápido desarrollo y testeo y cualquier error puede ser fácilmente rectificado.
 Iterativo en su naturaleza, requiere continuo feedback del usuario.
 Fácil de manejar los cambios debido a los sprints tan cortos y el feedback
constante.
 Las reuniones diarias hacen posible medir la productividad individual.
 Puede trabajar con cualquier tecnología o lenguaje de programación

Desventajas:
 Si no existe una fecha definitiva de finalización del proyecto es posible que se
siga solicitando, y añadiendo, nueva funcionalidad.
 Está bien para proyectos pequeños, de rápido movimiento ya que trabaja bien
solo con equipos pequeños.

Metodología CRYSTAL4 CLEAR


Introducción.
Cockburn (2004). Crystal se define como una metodología ágil variable basada en la
eficiencia y en la importancia del potencial humano, aplicable a proyectos no críticos,
equipos de trabajo con un número variable de desarrolladores y mediante entregas de
código funcional, práctico y probado en periodos de uno a tres meses.

Dependiendo de la cantidad de desarrolladores involucrados, el bienestar de los


mismos, el ciclo de vida del desarrollo del proyecto, el presupuesto monetario
imprescindible y el presupuesto de uso opcional Cristal Methodologies es capaz de
clasificarse mediante los siguientes colores que determinan las metodologías incluidas
dentro de las metodologías Crystal:
 Crystal Clear, para equipos de hasta seis personas.
 Crystal Yellow, de entre diez y veinte personas.
 Crystal Orange, para equipos entre veinte y cincuenta personas.
 Crystal Red, entre cincuenta y cien personas.

4
Miguel Ángel Lara Aranda. Guía práctica de uso de las diferentes metodologías de ingeniería del software

4
 Crystal Orange Web
 Crystal Magenta
 Crystal Blue

Solo tres de las metodologías incluidas dentro de las metodologías Crystal han sido
realmente construidos y son usados en proyectos de las diferentes organizaciones:

Crystal Clear. Es utilizada por equipos de desarrollo máximo de seis personas que
trabajen en una misma oficina u oficinas adyacentes y en donde el proyecto que se
lleve a cabo no sea de gran envergadura o con grandes dificultades para su desarrollo.
Los siguientes son los principales características de esta metodología::
 Cuando el número de personas aumenta, también aumenta la necesidad de
coordinar.
 Cuando el potencial de daños se incrementa, la tolerancia a variaciones se ve af
ectada.
 La sensibilidad del tiempo en que se debe estar en el mercado varía: a veces est
e tiempo debe acortarse al máximo y se toleran defectos, otras se enfatiza la au
ditoria, confiabilidad, protección legal, entre otros.
 Las personas se comunican mejor cara a cara, con la pregunta y la respuesta en
el mismo espacio de tiempo.

Crystal Orange. Es utilizada por equipos de desarrollo hasta de 40 desarrolladores, que


sus respectivos locales residan en el mismo edificio. Está diseñado para sistemas de
tamaño o complejidad media.
Los roles están organizados en equipos denotados como: equipo de planificación del
sistema, monitoreo del proyecto, tecnología, infraestructura, y pruebas externas.

El producto debe estar dotado de documentación, liberación de secuencias,


calendarios, reportes de estado del proyecto, documentación de la interfaz de usuario,
diseño de clases, bases de datos, etc., manual de usuario, código fuente, casos de
prueba y código de migración en caso de existir.

Orange Web. Se caracteriza por su diseño para proyectos que estén sometidos a

5
cambios continuos debido a que son usados por el cliente, según su creador (2003)
esta metodología se encuentra en prueba, y presenta alrededor de 50 roles divididos
en ejecutivos, gente de negocios, gerentes, analistas, programadores, y probadores.

A más personas en el proyecto, más coordinación. A más criticidad en el software, más


rigurosidad en el proceso. El factor más determinante en cualquier caso, la
comunicación entre los participantes en el proyecto.

Propiedades de la metodología Crystal:


Las metodologías Crystal cumplen todas ellas con 7 propiedades esenciales, las
siguientes:
1. Entregas frecuentes, en base a un ciclo de vida iterativo e incremental. En función
del proyecto puede haber desde entregas semanales hasta trimestrales.
2. Mejora reflexiva. Es la mejora continua. Las iteraciones ayudan a ir ajustando el
proyecto, a ir mejorándolo.
3. Comunicación osmótica. Que el equipo de trabajo esté en una misma ubicación
física, para lograr la comunicación cara a cara.
4. Seguridad personal. Todos pueden expresar su opinión y considerándose su
opinión, etc.
5. Enfoque. Períodos de no interrupción al equipo (2h horas), objetivos y prioridades
claros, definiendo así tareas concretas.
6. Fácil acceso a usuarios expertos. Las Crystal no exigen que los usuarios estén
continuamente junto al equipo de proyecto, semanalmente debe haber reuniones y
los usuarios deben estar accesibles.
7. Entorno técnico con pruebas automatizadas, gestión de la configuración e
integración continua. Prácticas comunes en casi todas las metodologías ágiles.

Fases y actividades5:
La metodología Crystal Clear define su proceso como un conjunto de ciclos anidados
de diferentes duraciones. Cada ciclo tiene su propia secuencia, y pueden desarrollarse
simultáneamente varias actividades pertenecientes a distintos ciclos.

El Ciclo del Proyecto, que abarca todo el desarrollo del software. El Proyecto tiene
varios Ciclos de Entrega, en los que se libera una parte determinada del sistema y
5
(2013, 06). Metodología Crystal Clear.
6
tienen de una semana a tres meses de duración. Cada ciclo de entrega tiene al menos
un ciclo de iteración, que es una unidad de planeación, desarrollo y celebración que
según la cantidad de iteraciones que se planifiquen tiene de una semana a tres meses
de duración.

Crystal Clear requiere múltiples entregas por proyecto pero no muchas Iteraciones por
entrega. Cada iteración se divide en ciclos semanales y la semana se divide en ciclos
diarios. Cada día ocurren varios ciclos de integración, que son una unidad de
desarrollo, integración y prueba del sistema, de media hora a tres días de duración.
Dentro de cada ciclo de integración ocurren múltiples episodios de desarrollo, que
comprenden la escritura y comprobación de una sección de código, con una duración
de pocos minutos a algunas horas.

2.4.4. Ventajas y Desventajas de las metodologías Crystal


Ventajas:
 Son apropiadas para entornos ligeros
 Al estar diseñada para el cambio experimenta reducción de costo.
 Presenta una planificación más transparente para los clientes.
 Se definen en cada iteración cuales son los objetivos de la siguiente.
 Permite tener una muy útil realimentación de los usuarios.

Desventajas:
 Delimita el alcance del proyecto con el cliente.

Metodología MOBILE-D6
Introducción.
Es la metodología del VTT (Instituto de Investigación Finlandés) para el desarrollo de
software ágil. Este método se caracteriza por obtener ciclos de desarrollos muy
rápidos en equipos muy pequeños de alrededor de 10 personas, trabajando en un
mismo ambiente.

6
VTT: http://agile.vtt.fi/
7
Mobile-D7 se basa en la programación extrema para la implementación, metodología
cristal para la escalabilidad y en el Proceso Unificado de Desarrollo (RUP) para la
cobertura del ciclo de vida.

La metodología Mobile-D al combinar los beneficios de las metodologías XP, Crystal y


RUP proporciona las siguientes características para ser la metodología utilizada en
desarrollo de aplicaciones móviles.
 Es una metodología ágil con ciclos de desarrollo de desarrollo cortos y para
equipos pequeños.
 Está diseñado para el desarrollo de aplicaciones móviles
 Facilidad para detectar y resolver temporalmente los problemas técnicos
 Baja densidad de defectos en las liberaciones de los productos
 Se basa en el desarrollo basado en pruebas que es una de las mejores formas
de asegurar la calidad
 Se logra mejores diseños al basarse en el desarrollo basado en pruebas.
 Tiene un enfoque centrado en la satisfacción del potencial usuario final,
permitiendo mejorar el producto al realizar iteraciones cortas.
 Las tareas a realizar en cada fase están bien detalladas.

El desarrollo basado en pruebas permite a los desarrolladores detectar y corregir


errores en una etapa temprana del desarrollo lo que evita arrastrar errores a fases
finales, así reduciendo el impacto de la corrección de errores y admitiendo que el
producto cuente con una alta calidad y satisfacción del usuario final.

Características de Mobile-D
Una de sus características principales es la vital importancia que se les da a los
desarrolladores que componen el grupo de trabajo, por lo cual sus puntos de estudio
están destinados a:
 Aspecto humano del equipo
 Tamaño de un equipo
 Comunicación entre los desarrolladores
 Políticas a seguir
 Espacio físico de trabajo

7
Fernando Duran Lasso (2013). Desarrollo de un Sistemas Informático para el campeonato ecuatoriano de futbol de
primera A para plataforma Iphone
8
 Rasgos de un equipo Crystal
 Una disminución en el número de desarrolladores proporcionará una mejor
comunicación entre los mismos.
 Trabajar en un mismo lugar dará lugar a una disminución de gastos por
conceptos de comunicación.
 La mejora individual habilitará el paso a la mejora del equipo y por consecuente
al producto final.

Fases de la metodología:
La metodología Mobile-D tiene las siguientes fases: exploración, inicialización, fase de
producto, fase de estabilización y la fase de pruebas. Cada una tiene un día de
planificación y otro de entrega:
 Exploración. En esta fase se cubre la planificación, se determina las
características del proyecto, se determina el alcance del proyecto.
 Iniciación. Se determinan los recursos requeridos para la ejecución del proyecto
informático.
 Producto. En esta fase se repiten iterativamente las subfases; además, se lleva
a cabo la implementación.
 Estabilización. Se efectúa la integración de los módulos de la aplicación.
 Pruebas. Se ejecutan las pruebas correspondientes hasta obtener una versión
estable acorde lo determinado en las primeras fases por el cliente.

En la figura 1, se determina las fases de la metodología Mobile-D.

9
Figura 1. Fases Mobile-D y las etapas; Fuente: (VTT Electrónica, 2006)

Elementos de la metodología.
La mitología cuenta con 9 elementos fundamentales involucrados en las diferentes
prácticas en el transcurso del ciclo de desarrollo:
1. Ajuste y enfoque de fases. Los proyectos se ejecutan en iteraciones donde cada
una comienza con un día de planificación.
2. Line de arquitectura. Éste enfoque es utilizado junto con los patrones de
arquitectura por la modelado ágil.
3. Desarrollo basado en pruebas. El enfoque de pruebas primero es utilizado junto
con casos de prueba automatizadas.
4. Integración continúa. Las prácticas de Software Configuration Manager se
aplican a través de múltiples medios.
5. Programación en pares. La codificación, pruebas y refactorización se lleva a
cabo en pares.
6. Métricas. Pocas métricas se recogen con rigurosidad y se utilizan con fines de
mejorar la retroalimentación y el proceso de desarrollo.
7. Mejoras en el proceso de software ágil. Talleres de Pos-iteración son utilizados
para mejorar la retroalimentación y el proceso de desarrollo.
8. Cliente externo. El cliente participa en las jornadas de planificación y liberación.
9. Enfoque centrado en el usuario. Se hace hincapié en la identificación y el
cumplimiento de necesidades del usuario final.

8
Cuadro comparativo de las metodologías de desarrollo para aplicaciones Web:
Metodologías
Parámetros
Scrum Crystal Mobile-D
Análisis, diseño, construcción, Explotación, iniciación,
Análisis, diseño, construcción,
Fases de desarrollo test, aceptación y publicación producto, estabilización,
test, aceptación y publicación.
pruebas.
Presenta una planificación más El cliente participa en las
Planificación Planificación adaptativa
transparente para los clientes. jornadas de planificación
Trabajan con requisitos
Apropiado ante los cambios de Requisitos poco definidos o
Requisitos inestables y que requieren
requisitos del cliente cambiantes
rapidez y flexibilidad.
Documentación mínima, El factor relevante es la Documentación mínima,
Diseño
enfocada en la comunicación comunicación enfocada en la comunicación
Codificación Transferencia de conocimiento Transferencia de conocimiento Transferencia de conocimiento
Pruebas y puesta en Empoderamiento y auto Empoderamiento y auto Empoderamiento y auto
producción organización organización organización
Volatilidad del entorno Soporta entornos dinámicos Apropiados para entornos ligeros Soporta entornos dinámicos
Ciclos de desarrollo muy
Equipos de desarrolladores no Los colores determinan el número
Equipos de desarrollo rápidos en equipos alrededor
muy grandes de desarrolladores
de 10 personas.
Participación de Los usuarios participan en el Los usuarios participan en el Los usuarios participan en el

8
Juan Felipe Villada Muños .Proceso para el desarrollo de software para dispositivos móviles

10
Clientes desarrollo de la aplicación desarrollo de la aplicación desarrollo de la aplicación
Entornos de Soporta herramientas de Soporta herramientas de Soporta herramientas de
desarrollo desarrollo bajo plataforma OO desarrollo bajo plataforma OO desarrollo bajo plataforma OO
Software a nivel de Las aplicaciones son muy Las aplicaciones son muy Las aplicaciones son muy
aplicación autónomas autónomas autónomas
Periodos de desarrollo de 1 a 6 Periodos de desarrollo de 1 a 6 Periodos de desarrollo de 1 a
Ciclos de desarrollo
meses meses 6 meses
Al estar diseñada para el
Maximiza el retorno de la Al estar diseñada para el cambio
Costo del desarrollo cambio experimenta reducción
inversión experimenta reducción de costo
de costo
La metodología de trabajo y la
Entregas frecuentes, en base a un Se fundamente en el
versión funcional después de
ciclo de vida iterativo e desarrollo basado en pruebas
Calidad de software cada iteración facilita el
incremental; aseguran un producto que es una de las mejores
desarrollo de un producto de
de calidad formas de asegurar la calidad
calidad.

Tabla 1. Características de las metodologías Scrum, Crystal Clear y Movile-D

Conclusiones
 Las principales cualidades de las aplicaciones Web son el lapso de tiempo corto,
aplicaciones multiplataforma, distintas versiones, requerimientos imprecisos,
corrección de errores inesperados, etc.
 Las metodologías Scrum, Cristal y Mobile-D se utiliza en el desarrollo de proyectos
con requisitos dinámicos y en equipos pequeños que solucionan casos específicos.
 En las Metodologías en mención la colección de información se da durante el
ciclo de vida del desarrollo de una aplicación, soporta cambios durante el
desarrollo, y el cliente es considerado parte del equipo.
 Las metodologías Scrum, Cristal y Mobile-D proporcionan flexibilidad y prevalece la
parte humana, apuntando a lograr eficiencia, habitabilidad y confianza en los
miembros del equipo; ofrece especial importancia a la ubicación física del grupo,
donde la comunicación cumple el principal rol.
 No existe una metodología de desarrollo específicamente para aplicaciones web;
de las metodologías revisadas tienen características comunes como se detalla en
la tabla 1. Las metodologías son seleccionadas dependiente de las características
propias del tipo de proyectos.

BIBLIOGRAFIA
 Miguel Ángel Lara Aranda. Guía práctica de uso de las diferentes metodologías de
ingeniería del software
 Miguel Ángel Lara Aranda. Guía práctica de uso de las diferentes metodologías de
ingeniería del software.
 María José Pérez P. Guía comparativa de metodologías agiles.
 Metodología de desarrollo ágil para sistemas web. Paco Blanco, Julio Camarero,
Antonio Fumero, Adam Werterski, Pedro Rodríguez.
11

Potrebbero piacerti anche