Sie sind auf Seite 1von 4

Metodologas para el desarrollo de Aplicaciones para

dispositivos mviles
Abad Nauto, Oscar Francescoli
Lima-Per
oscar_abad_nauto@gmail.com

RESUMEN
El artculo presenta algunas metodologas que pueden ser
aplicacables al momento de desarrollar un software para un
dispositivo mvil. Si bien existen muchos tipos de
metodologas a seguir, al momento de desarrollar una
aplicacin, se escogieron cuatro que sern tratadas como objeto
de estudio en este artculo. En un principio se hace mencin a
metodologas tradicionales (Waterfall y Desarrollo rpido de
aplicaciones). Se procede a explicar en qu consiste cada una
de ellas y cules son las normas que las rigen. Al mismo tiempo
podemos ver que con la creciente demanda de aplicaciones
mviles, muchas empresas buscaron el poder desarrollar ms
aplicaciones de calidad con mayor rapidez. Surgiendo, en
consecuencia, metodologas giles (Mobile-D y Hybrid
Methodology Design). Las cuales toman algunos patrones de
las metodologas tradicionales y otras, incluso, fusionan
mtodos de otras metodologas giles, tales como eXtreme
Programming (XP), Scrum, Test Driven Development (TDD).
Finalmente se procedi a desarrollar un cuadro comparativo
entre las cuatro metodologas estudiadas. En este cuadro
observaremos las ventajas (y desventajas) que posee cada una
con respecto a la otra. Dando como resultado la metodologa
que sea ms adaptable a proyectos escogidos arbitrariamente.

Palabras clave:
Metodologa gil, aplicacin mvil, eXtreme Programming
(XP),
Scrum,
Test
Driven
Development
(TDD),
implementacin, validacin, mantenimiento, secuenciales,
superposicin, sistema, iteracin, prototipos.

1.

INTRODUCCIN

Muchas personas ven un software solo como un programa de


computadora, sin embargo una mejor definicin de software
sera verlo como todos aquellos documentos asociados a la
configuracin de datos que se necesitan para hacer que estos
programas operen de manera adecuada [1].
Por ende la ingeniera de software tiene un rol muy importante
en el desarrollo, portabilidad, mantenibilidad, funcionalidad,
fiabilidad y productividad del software [2].
Todo software debe cumplir con ciertos requerimientos que
hagan de este un software de calidad. Por esta razn, el
desarrollo de aplicaciones mviles tambin debe estar sujeta a
normas que la lleven por un buen camino. Al igual que un
software de ordenador, las personas ven una aplicacin mvil
solo como un programa. Sin embargo, no es tan sencillo como
eso. Debido al constante avance en tecnologa mvil; las
aplicaciones deben ser desarrolladas a un ritmo mayor y, como
consecuencia a esto, debe seguirse alguna metodologa que
lleve el desarrollo de una aplicacin al xito.

Arce LLantoy, Luis Alberto


Lima-Per
nbluis96@gmail.com

Una metodologa es algo ms que una coleccin, puesto que se


basa en una filosofa, distinguindose de los mtodos o de las
simples recetas, que marcan unos pasos a seguir y ya est [3].
Tenemos las metodologas tradicionales y las metodologas
giles (derivadas de las metodologas tradicionales y usadas
como a alternativas a estas) [3] diseadas para desarrollar
software de manera rpida con gran facilidad de adopcin por
los equipos de trabajo [2].
Estas ltimas estn orientadas a un mejor manejo en la captura
de requisitos cambiantes y a la gestin de riesgos. Dividiendo
el proyecto en iteraciones individuales que deben producir
alguna caracterstica completamente funcional o mejorada [3]
[4].
Sea cualquiera de los dos tipos de metodologas mencionadas
del que se haga uso para el desarrollo de una aplicacin mvil
se debe tener en cuenta el contexto actual. Debido a que,
existen diversos sistemas operativos (Android, IOS, Windows
Phone, Blackberry, etc) para el manejo de los recursos de
dispositivos mviles, no siempre una metodologa ser la ms
eficiente para todos los Sistemas operativos.
As, dependiendo del contexto de desarrollo, tamao del
proyecto o del equipo de trabajo, cultura organizacional, entre
otros aspectos, es de vital importancia la seleccin de una
metodologa, para garantizar un producto de calidad.

2.
METODOLOGAS DE
DESARROLLO
2.1
Waterfall (Cascada)

Para ahondar ms en las especificaciones de cada fase revisar


[12].

Como su nombre lo dice, el mtodo se basa en el desarrollo


visto hacia abajo (referente a las cascadas de agua) a travs del
anlisis, diseo, implementacin, validacin, integracin y
mantenimiento. Cada trmino asignado para cada fase describe
claramente lo que se desarrolla en cada una de ellas. Una
primera descripcin de este mtodo se entra en un artculo
publicado por Winston Royce W. en 1997, aunque l no usa el
trmino cascada. El proyecto se divide en fases secuenciales
con cierta superposicin. Se centra en la planificacin,
horarios, fechas, presupuestos y ejecucin de todo un sistema,
de una sola vez. Se documenta estrictamente en toda la vida del
proyecto, de manera escrita as como tambin a travs de
comentarios al final de casi todas las fases antes de comenzar la
siguiente. [5]

Aqu el equipo de trabajo debe desarrollar un plan e identificar


las caractersticas del proyecto. Esta se subdivide en:
establecimiento de actores, definicin del alcance y el
establecimiento de proyectos [3] [12].

2.2

Desarrollo rpido de aplicaciones

Esta metodologa implica el desarrollo iterativo y la


construccin de prototipos. Como se menciona en su nombre,
su objetivo clave es un rpido desarrollo y entrega de una alta
calidad en un sistema de bajo coste de inversin. Parte en
proyecto en pedazos para poder reducir el riesgo inherente del
mismo para as proporcionar ms facilidad a la hora del proceso
de desarrollo. Fue introducido por James Martin [6] en 1991.Se
enfoca ms en producir sistemas de alta calidad con rapidez
mediante el uso de iteracin con prototipos. Se centra ms en el
cumplimiento de la necesidad comercial, mientras que lo dems
es de menor importancia. Tiene como punto imprescindible la
participacin activa de los usuarios. Iterativamente realiza la
produccin de software en lugar de aislarse en un prototipo. La
documentacin que produce es la necesaria para facilitar el
futuro desarrollo y mantenimiento.

2.3

Mobile-D

Esta metodologa apareci por primera vez en Finlandia, como


parte del proyecto ICAROS, EN 2004 [7].

2.3.1

2.3.2

Exploracin

Iniciacin

En esta fase deben reconocerse los recursos a utilizar ya sean


tanto tecnolgicos, fsicos o de comunicaciones. Tambin deben
establecerse los planes de las siguientes fases. Esta fase se
divide en cuatro etapas: la puesta en marcha del proyecto, la
planificacin inicial, el da de prueba y da de salida [3] [12].

2.3.3

Produccin

La programacin de tres das (planificacin-trabajo-liberacin)


se repite iterativamente hasta implementar todas las
funcionalidades.
Primero se establece la iteracin de cada equipo en cuanto a
tareas a realizar el da de trabajo luego en la sub-fase de trabajo
se desarrolla esas tareas partiendo de lo desarrollado
anteriormente. Para finalmente en la ltima sub-fase unir todo
y llevarlo a una prueba de aceptacin [3] [12].

2.3.4

Estabilizacin

Esta ser la fase ms importante en los proyecto multi-equipo


con diferentes subsistemas desarrollados por equipos distintos,
ya que en esta fase todo los esfuerzos se dirigen al
acoplamiento de todas las partes. Sus sub-fases son:
planificacin, trabajo, documentacin, liberacin [3] [12].

2.3.5

Prueba Del Sistema

Tiene como meta la disponibilidad de una versin estable y


plenamente funcional del sistema. En esta fase debieron
haberse eliminado todos los errores detectados y verificado de
cumplir todos los requerimientos del cliente.

Los autores de esta metodologa se basaron en la


necesidad de desarrollo rpido de un proyecto, con un equipo
pequeo. De acuerdo con esto, Mobile-D est pensado para
grupos de no ms de 10 desarrolladores colaborando en un
mismo espacio fsico. Esta metodologa gil toma algunos
principios de algunas metodologas tradicionales tales como [8]:
eXtreme Programming (XP) [9], Crystal methodologies [10] y
Rational Unified Process (RUP) [11]. Se puede ver la
influencia de eXtreme Programming en las prcticas de
desarrollo, las metodologas Crystal proporcionaron un input
muy valiosos en trminos de la escalabilidad de los mtodos y
el RUP es la base para el diseo completo del ciclo de vida [8].
Esta metodologa consta de cinco fases: exploracin, iniciacin,
produccin, estabilizacin y prueba del sistema [3] [12]. Cada
fase posee un nmero de etapas, tareas y prcticas asociadas.

Figura 1. Ciclo de desarrollo Mobile-D (reproducido de


[12]).

Art. 216-221 Cdigo Penal, Lima, Per.

2.4

Hybrid Methodology Design

Esta metodologa usa el modelo iterativo incremental para el


proceso de desarrollo y as lograr la rpida entrega de software

Todos los derechos reservados. Copyright All rigths reserved.


Toda forma de reproduccin, distribucin, comunicacin pblica y
transformacin de esta obra queda prohibida salvo previa autorizacin de
los titulares de propiedad intelectual. La infraccin de los derechos
mencionados puede ser constitutiva de delito contra la propiedad
intelectual.

y mejorar las capacidades de gestin de riesgos [3].


Caractersticas giles destacadas alineadas con las necesidades
de desarrollo de aplicaciones mviles son segn [14]:
Desarrollo basado en pruebas.
Participacin contina del cliente.
Establecimiento de prioridades en los requisitos.
Comunicacin efectiva.
Calidad garantizada.
Desarrolladores expertos.
Revisin de todo el proceso y sesiones de aprendizaje.
La primera iteracin consta de una fase de anlisis y otra de
diseo donde se aborda la arquitectura del proyecto. La
implementacin y las pruebas estn en una sola fase, aqu se
siguen conceptos orientado a pruebas (Test-Driven
Development, TDD). Tambin aparece una fase de
comercializacin, donde se ve el mercado hacia el que est
dirigido el proyecto. Desde el punto de vista metodolgico, los
autores afirman haberse apoyado en metamodelos como SPEM
(Software Processes Engineering Metamodel, soportado por el
entorno de desarrollo de Eclipse) y OPF, (Open Processes
Framework), as como en conceptos genricos de ciclos de vida
orientados a objetos como OOSP (Object-Oriented Software
Processes) [3].
La segunda iteracin, realiza una integracin de ciertas partes
de los modelos NPD (New Product Development), aadiendo la
generacin de ideas en el inicio del ciclo y una prueba de
mercado antes de lanzar la fase de comercializacin [3].
La tercera iteracin integra directamente el motor de
desarrollo de los mtodos de desarrollo adaptativo (ASD) muy
orientados al aseguramiento de la calidad en los procesos de
Metodologas Agiles
22
Metodologas Hibridas

50

Metodologas tradicionales

14

COMPARACIN

A continuacin, se procedi a elaborar una comparacin entre


las metodologas expuestas. Tomando algunos aspectos cuya
inclusin que debera ser relevante. Se analiz en base a una
escala 1 10 siendo 1 no aplicable y 10, completamente
adecuado.
AplicacionesRpido deDesarrollo

Mobile-D

Hybrid Methodology Design

Tabla 1. Tabla de comparaciones entre metodologas

Equipos pequeos

10

Equipos medianos

Cascada

Requerimientos variables

10

Requerimientos fijos

Actualizaciones

Modificaciones en el proceso

Seguridad

Bajo presupuesto

10

Presupuesto medio

Alto presupuesto

10

Cliente activo

10

Cliente pasivo

10

Rapidez

TOTAL
88
94
100
106
Basndonos en los resultados obtenidos por la calificacin, que
hemos visto prudente asignar en cada aspecto mencionado,
podemos resaltar que la metodologa ms adaptable a un
proyecto, escogido arbitrariamente, sera la Metodologa
Hibrida de diseo. Se hace nfasis en el trmino
arbitrariamente, debido a que en el momento de decidir que
metodologa ser la empleada para el desarrollo de un proyecto,
el equipo de desarrollo deber buscar la que ms se adapte a
los requisitos del proyecto y a los recursos a los que el equipo
tenga acceso. Cabe resaltar tambin que un estudio realizado en
Mxico a 86 empresas dedicadas a desarrollar software [15] se
obtuvo esta distribucin en cuanto al uso de las metodologas:
Tabla 2. Tabla de resultados del estudio realizado en Mxico

desarrollo con la idea de disponer de la arquitectura fsica en


una fase temprana del proceso [3].
En la cuarta iteracin se aaden elementos de prototipado; se
refina, adems, la fase de iniciacin del proyecto, sobre la base
del mismo elemento de los procesos adaptativos [3].

3.

Equipos grandes

4.

CONCLUSIONES

Las metodologas, en sus diferentes tipos, son muy tiles para


desarrollar aplicaciones mviles, gracias a lo adaptables que
son; pero es necesario recalcar, nuevamente, que la metodologa
a utilizarse debe ser la ms apropiada para el proyecto en
desarrollo.
No olvidemos tambin que con el paso del tiempo se
desarrollan nuevas metodologas, las cuales se basan en el
paradigma de las tradicionales y de algunas modernas.
Escoger la metodologa ms apropiada podra ser crucial entre
el xito y fracaso de un proyecto.

5.

REFERENCIAS

[1] Sommerville, Ian. 1982. Software engineering. Pearson


Education Limited, United Kingdom.
[2] O. Salo y P. Abrahamsson, Agile methods in European
embedded software development organisations: a survey
on the actual use and usefulness of Extreme Programming
and Scrum, IET Software, vol. 2, n.o 1, p. 58, 2008.
[3] Amaya Balaguera, Yohn Daniel. 2013. Metodologas
giles en el desarrollo de aplicaciones para dispositivos
mviles. Estado actual. Revista de Tecnologa Journal
Technology de la Universidad del Bosque. Volumen 12.
Nmero
2.
Pgs.
111-124
https://issuu.com/universidadelbosque/docs/web_revista_t
ecnologia_vol12_n-2
[4] Szalvay, V. 2004. An introduction to agile software
development. Danube Technologies.

[5] Winston W. Royce (1970). "Managing the Development of


Large Software Systems" in: In: Technical Papers of
Western Electronic Show and Convention (WesCon)
August 2528, 1970, Los Angeles, USA.
[6] Martin, James (1991). Rapid Application Development.
Macmillan.
[7] Ihme, T., Abrahamsson, P., The Use of Architectural
Patterns in the Agile Software Development of Mobile
Applications,
International
Journal
of
Agile
Manufacturing, vol. 8,issue 2, 97-112, 2005.
[8] Blanco, Paco. Camarero, Julio. Fumero, Antonio.
Werterski, Adam. Rodrguez, Pedro. Metodologa de
desarrollo gil para sistemas mviles Introduccin al
desarrollo con Android y el iPhone. Universidad
Politcnica de Madrid
[9] Beck,
K.,
Extreme
Programming
EmbraceChange, Addison-Wesley, 2000.

Explained:

[10] Cockburn, A., Crystal Clear, A Human-Powered


Methodology for Small Teams, Addison-Wesley, 2004.

[11] Kruchten, P. 1999. The Rational Unified Process: An


Introduction, Addison-Wesley Professional.
[12] Electronics -AGILE - Agile Software Technologies, 21nov-2012.
[En
lnea].
Disponible
en:
http://virtual.vtt.fi/virtual/agile/mobiled.html
[13] V. Rahimian y R. Ramsin, Designing an agile
methodology for mobile software development: A hybrid
method engineering approach, Research Challenges in
Information Science, 2008. RCIS 2008. Second
International Conference on, pp. 337-342, 3.
[14] S. B. Kaleel y S. Harishankar. 2013. Applying Agile
Methodology in Mobile Software Engineering: Android
Application Development and its Challenges.
[15] Jimnez Hernndez, Erndira M. Orantes Jimnez,
Sandra. 2012. Metodologa Hbrida para Desarrollo de
Software en Mxico. Tecnologa de Software y Bases de
Datos, Centro de Investigacin en Computacin (CIC),
IPN

Das könnte Ihnen auch gefallen