Se podría pensar que Mobile-D es
una creación un tanto antiguo, ya que se desarrolló como parte de un proyecto
finlandés, ICAROS en 2004.
Fue creado mediante un proyecto
de cooperación muy estrecha con la industria. El grueso del trabajo fue
realizado por los investigadores del VTT.
Aun así la metodología de diseño
se elaboró con una participación importante de las empresas de TI finlandesas. Esto
consiguió que la investigación llevada a cabo no se alejara demasiado de las
reglas de desarrollo de las aplicaciones comerciales
Segundo, Mobile-D es una mezcla
de muchas técnicas. Tal como se verá luego, los investigadores no dudaron en
echar mano de las prácticas habituales de desarrollo software. Pero, al mismo
tiempo, consiguieron crear una contribución original para el nuevo escenario
del desarrollo de aplicaciones para sistemas móviles.
La aproximación de
Mobile-D se ha apoyado en muchas otras soluciones bien conocidas y consolidadas:
eXtreme Programming (XP), Crystal methodologies y Rational Unified Process (RUP).
Los principios de programación extrema se han reutilizado en lo que se refiere
a las prácticas de desarrollo, las metodologías Crystal proporcionaron un input
muy valiosos en términos de la escalabilidad de los métodos y el RUP es la base
para el diseño completo del ciclo de vida.
El ciclo del proyecto
se divide en cinco fases: exploración, inicialización, productización,
estabilización y prueba del sistema (figura 2). En general, todas las fases (con
la excepción de la primera fase exploratoria) contienen tres días de desarrollo
distintos: planificación, trabajo y liberación. Se añadirán días para acciones
adicionales en casos particulares (se necesitarán días para la preparación del
proyecto en la fase de inicialización, por ejemplo).
La fase de
exploración, siendo ligeramente diferente del resto del proceso de producción,
se dedica al establecimiento de un plan de proyecto y los conceptos básicos. por
lo tanto, se puede separar del ciclo principal de desarrollo.
Los autores de la
metodología ponen además especial atención a la participación de los clientes
en esta fase.
Durante la fase de
inicialización, los desarrolladores preparan e identifican todos los recursos
necesarios. Se preparan los planes para las siguientes fases y se establece el
entorno técnico (incluyendo el entrenamiento del equipo de desarrollo). Los
autores de
Mobile-D afirman que
su contribución al desarrollo ágil se centra fundamentalmente en esta fase, en
la investigación de la línea arquitectónica. Esta acción se lleva a cabo
durante el día de planificación. Los desarrolladores analizan el conocimiento y
los patrones arquitectónicos utilizados en la empresa y los relacionan con el
proyecto actual.
Se agregan las
observaciones, se identifican similitudes y se extraen soluciones viables para
su aplicación en el proyecto. Finalmente, la metodología también contempla
algunas funcionalidades nucleares que se desarrollan en esta fase, durante el
día de trabajo.
Durante la fase de
inicialización, los desarrolladores preparan e identifican todos los recursos
necesarios. Se preparan los planes para las siguientes fases y se establece el
entorno técnico (incluyendo el entrenamiento del equipo de desarrollo). Los
autores de Mobile-D afirman que su contribución al desarrollo ágil se centra
fundamentalmente en esta fase, en la investigación de la línea arquitectónica.
Esta acción se lleva a cabo durante el día de planificación. Los
desarrolladores analizan el conocimiento y los patrones arquitectónicos
utilizados en la empresa los relacionan con el proyecto actual. Se agregan las
observaciones, se identifican similitudes y se extraen soluciones viables para
su aplicación en el proyecto. Finalmente, la metodología también contempla
algunas funcionalidades nucleares que se desarrollan en esta fase, durante el
día de trabajo, desarrollando e integrando el código con los repositorios existentes.
Durante el último día se lleva a cabo la integración del sistema (en caso de
que estuvieran trabajando varios equipos de forma independiente) seguida de las
pruebas de aceptación.
En la fase de
estabilización, se llevan a cabo las últimas acciones de integración para
asegurar que el sistema completo funciona correctamente. Esta será la fase más
importante en los proyecto multi-equipo con diferentes subsistemas
desarrollados por equipos distintos. En esta fase, los desarrolladores
realizarán tareas similares a las que debían desarrollar en la fase de
"productización", aunque en este caso todo el esfuerzo se dirige a la
integración del sistema. Adicionalmente se puede considerar en esta fase la
producción de documentación.
La última fase
(prueba y reparación del sistema) tiene como meta la disponibilidad de una
versión estable y plenamente funcional del sistema. El producto terminado e
integrado se prueba con los requisitos de cliente y se eliminan todos los
defectos encontrados.
·
Enfoque
pragmático:
Los autores de esta
metodología dicen haberlo probado obteniendo una certificación CMMI12 de nivel
2. Esto parece ser una ventaja comparativa importante frente a otras
metodologías, puesto que la contratación de empresas para la externalización
del desarrollo software se rige por la auditoría de los ciclos y técnicas de
desarrollo que utilizan (y CMMI es una de las métricas de aseguramiento de
calidad más aceptadas en el sector).
Adicionalmente, sus
creadores han introducido Mobile-D en numerosos proyectos de desarrollo con
clientes reales. La base inicial de 4 casos de estudio se ha desarrollado
durante años y afirman sus autores que los ciclos de desarrollo se han
actualizado y mejorado a partir de la experiencia obtenida.
No hay comentarios:
Publicar un comentario