Métodos aplicables para el desarrollo de aplicaciones móviles

El desarrollo de aplicaciones móviles sufre prácticamente los mismos problemas que la gran mayoría de desarrollos de software. Aunque hay que tener en cuenta sus principales peculiaridades como la corta duración de sus desarrollos, la gran competencia del sector que obliga a una constante innovación, los cambios frecuentes en la plataforma de desarrollo y en el hardware o la simplicidad de algunas aplicaciones. Todo ello influye a la hora de elegir una metodología concreta de desarrollo.

La mayor parte de los proyectos de desarrollo de software se lleva acabo por equipos de desarrolladores pequeños que requieren de un método de desarrollo común para organizar sus tareas, ya sean de una forma ágil o de un modelo más estático y predictivo. A continuación vamos a analizar una serie de metodologías especialmente indicada para el desarrollo de aplicaciones móviles:

Modelo Waterfall (en cascada)

Clásico. Sólo aplicable cuando están totalmente cerrados los requisitos y no van a cambiar. No hay retroalimentación entre las fases en que se divide el proyecto. Por lo que cada fase se va cerrando de forma secuencial. Todo el proceso está fijado por fechas límites y presupuestos. Este modelo sólo es aconsejable para proyectos móviles muy controlados y previsibles, no existe incertidumbre por lo que se quiere hacer ni influyen los cambios en la industria.

Desarrollo rápido de aplicaciones

Se da énfasis a la obtención de un prototipo funcional de una aplicación para posteriormente ir mejorandolo incluyendo más funcionalidades y complejidad. Es recomendable el uso de patrones de diseño bien conocidos para adaptarse a los cambios de requisitos.

Se suele usar cuando los plazos de entrega son muy cortos y se precisa tener un entregable de forma inmediata. No se descarta utilizar otras metodologías de forma posterior, ya que este tipo de desarrollo puede ser usado para mostrar un esbozo de la aplicación a un cliente, generalmente en un par de días.

Desarrollo ágil

Las metodologías ágiles son muy adecuadas para el desarrollo de aplicaciones móviles:

En primer lugar, la alta volatilidad del entorno hace que constantemente el equipo de desarrollo se deba adaptar a nuevos terminales, cambios en la plataforma o en el entorno de desarrollo. Un ritmo cambiante que requiere una alta respuesta al cambio más que al seguimiento de un plan concreto.

Como hemos indicado, al menos actualmente, los equipos de desarrollo móvil suelen se integrados por pocas personas. No más de ocho o diez desarrolladores entorno a un misma aplicación o, incluso, un único desarrollador. Las interacciones en el proceso y las herramientas son más controlables y es posible una fluida comunicación entre los miembros del equipo.

Una aplicación se suele realizar en periodos de desarrollo cortos entorno a un mes a seis meses. Con el propósito de una realimentación rápida es posibles realizar varias actualizaciones de un aplicación según se van entregando funcionalidades. Un tema demandados por los usuarios en los distintos markets de aplicaciones que aprecian la frecuente mejora de la aplicación para mantenerla viva, e incluso ayuda a su propio marketing al tener más visibilidad cada vez que se realiza la actualización.

Mobile-D

El objetivo de este método es conseguir ciclos de desarrollo muy rápidos en equipos muy pequeños. Fue creado en un proyecto finlandés en 2005, pero sigue estando vigente. Basado en metodologías conocidas pero aplicadas de forma estricta como: extreme programming, Crystal Methodologies y Rational Unified Process.

Se compone de distintas 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.

En la fase de exploración se centra la atención en la planificación y a los conceptos básicos del proyecto. Aquí es donde hacemos una definición del alcance del proyecto y su establecimiento con las funcionalidades donde queremos llegar.

En la iniciación configuramos el proyecto identificando y preparando todos los recursos necesarios como hemos comentado anteriormente en esta fase la dedicaremos un día a la planificación y el resto al trabajo y publicación.

En la fase de producto se repiten interativamente las subfases. Se usa el desarrollo dirigido por pruebas (TDD), antes de iniciar el desarrollo de una funcionalidad debe existir una pueba que verifique su funcionamiento. En esta fase podemos decir que se lleva a acabo toda la implementación.

Después de la fase de producto llega la fase de estabilización en la que se realizan las acciones de integración para enganchar los posibles módulos separados en una única aplicación.

Fase de pruebas. Una vez parado totalmente el desarrollo se pasa una fase de testeo hasta llegar a una versión estable según lo establecido en las primeras fases por el cliente. Si es necesario se reparan los errores, pero no se desarrolla nada nuevo.

Una vez acabada todas las fases deberíamos tener una aplicación publicable y entregable al cliente.

Más información | Mobile-D, Application development Methodology

Portada de Genbeta