Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ISSN: 1560-9146
iifi@unmsm.edu.pe
Universidad Nacional Mayor de San Marcos
Per
Tinoco Gmez, Oscar; Rosales Lpez, Pedro Pablo; Salas Bacalla, Julio
Criterios de seleccin de metodologas de desarrollo de software
Industrial Data, vol. 13, nm. 2, julio, 2010, pp. 70-74
Universidad Nacional Mayor de San Marcos
Lima, Per
SISTEMA E INFORMTICA
Revista de la Facultad de Ingeniera Industrial
13(1): 70-74 (2010) UNMSM
ISSN: 1560-9146 (Impreso) / ISSN: 1810-9993 (Electrnico)
RESUMEN
El desarrollo de software no es una tarea sencilla,
por mucho tiempo esta labor se ha llevado adelante
sin una metodologa definida. Al respecto algunos
autores definen una metodologa como una coleccin de procedimientos, tcnicas, herramientas y
documentos auxiliares que ayudan a los desarrolladores de software en sus esfuerzos por implementar
nuevos sistemas de informacin.
En las dos ltimas dcadas, respecto a estas metodologas de desarrollo de software se ha entablado
un intenso debate entre dos grandes corrientes. Por
un lado, las denominadas metodologas tradicionales, centradas en el control del proceso, con un
riguroso seguimiento de las actividades involucradas en ellas. Por otro lado, las metodologas giles,
centradas en el factor humano, en la colaboracin y
participacin del cliente en el proceso de desarrollo y
a un incesante incremento de software con iteraciones muy cortas.
El artculo presenta una propuesta, en medio de este
debate, para seleccionar una metodologa de desarrollo de software.
(1)
Ing. Oscar Tinoco Gmez1
Ing. Pedro Pablo Rosales Lpez2
(3)
Ing. Julio Salas Bacalla3
INTRODUCCIN
Avison y Fitzgerald (1995) nos presentan una definicin de las
metodologas de desarrollo muy clara, destacando sus principales componentes, fases, herramientas y tcnicas. Una metodologa es una coleccin de procedimientos, tcnicas, herramientas y documentos auxiliares que ayudan a los desarrolladores
de software en sus esfuerzos por implementar nuevos sistemas
de informacin. Una metodologa esta formada por fases, cada
una de las cuales se puede dividir en sub-fases, que guiarn a
los desarrolladores de sistemas a elegir las tcnicas ms apropiadas en cada momento del proyecto y tambin a planificarlo,
gestionarlo, controlarlo y evaluarlo.
Modelo de proceso
Segn Darniame (1999), un modelo de procesos es una representacin del mundo real, que captura el estado de actual de
las actividades para guiar, reforzar o automatizar partes de la
produccin de los procesos.
SOFTWARE DEVELOPMENT
ABSTRACT
In the last two decades, on these software development methodologies has been engaged in intense
debate between two currents. On the one hand, the
so-called traditional methods, focusing on process
control, with rigorous monitoring of the activities involved in them. On the other hand, agile methods,
focusing on human factors in collaboration and customer participation in the development process and
a relentless increase in software with very short iterations.
The article presents a proposal, in the midst of this
debate, to select a software development methodology.
Keywords: Selection methodologies; development
software.
SISTEMA E INFORMTICA
OSCAR TINOCO GMEZ / PEDRO ROSALES / JULIO SALAS
Modelo en espiral. Comprende las mejores caractersticas de ciclo de vida clsico y el prototipado (desarrollo iterativo). Adems, incluye el
anlisis de alternativas, identificacin y reduccin de riesgos.
MARCO CONCEPTUAL
Dijkstra, con un influyente artculo (Go to statement
considered harmful), sienta las bases para la creacin de las metodologas, como las conocemos
ahora.
Plan de desarrollo.
En tiempos recientes, han surgido las metodologas giles, como una alternativa, una reaccin a
las metodologas tradicionales y principalmente a
su burocracia. Brooks, en su mtico libro The Mythical Man Month, expone las primeras ideas que se
plantean en las metodologas giles, gran parte de
ellas, responden al sentido comn.
Metodologas tradicionales
Se basan en heursticas provenientes de prcticas de produccin Se basan en normas provenientes de estndares seguidos por el
de cdigo
entorno de desarrollo
Preparados para cambios durante el proyecto
Impuestas externamente
Contrato prefijado
Grupos grandes
Pocos artefactos
Ms artefactos
SISTEMA E INFORMTICA
CRITERIOS DE SELECCIN DE METODOLOGAS DE DESARROLLO DE SOFTWARE
Agile Modeling
Crystal Methods
Lean development
Pragmatic programming
Scrum
XBreed
Extreme Programming
Una metodologa dispone de training, si se encuentra alguna institucin, organizacin o compaa que ofrezca formacin de la metodologa.
Se considera que una metodologa tiene comunidad, contemplando si se ha formado una comunidad relevante o si est asociada a la Agile Alliance,
soportndola y cumpliendo sus principios.
Se consideran los proyectos realizados, en su mayora por metodologas que se han aplicado en
empresas privadas y por lo tanto no existe mucha
documentacin pblica al respecto. Por lo tanto,
determinar esta clasificacin, requiere de una bsqueda exhaustiva.
Seleccin de metodologas
Este aspecto no ha sido tratado de manera adecuada, sobre todo en el mbito de las metodologas
tradicionales, y en el caso de las giles no existe
un criterio unificado. Por ello, el presente artculo
se orienta a la formulacin inicial, en base a la informacin existente a la fecha y a la experiencia
personal, a la formulacin de dos procedimientos al
respecto: seleccin por criterios de presencia y por
conocimiento.
Aplicacin del criterio de seleccin por presencia
A un grupo de programadores profesionales en el
medio local (10), se le ha aplicado una encuesta,
sobre recordacin, conocimiento y uso de metodologas, quedando un grupo de 5 metodologas, que
se han evaluado, segn este criterio de seleccin.
Para determinar la presencia, de las metodologas
en Internet, se han realizado bsquedas en Google,
Yahoo y Live. Sobre el resultado, se asignaron 5
puntos al mayor, y 1 punto al menor.
Para determinar las metodologas de mayor documentacin, se han considerado como documentos,
los Libros en espaol, Libros en ingls y Papers
que hablen sobre la aplicacin de la metodologa.
Siguiendo el mismo mtodo, se asign 5 puntos al
mayor y 1 punto al menor.
SISTEMA E INFORMTICA
OSCAR TINOCO GMEZ / PEDRO ROSALES / JULIO SALAS
En cuanto a proyectos de software y presencia empresarial, se han asignado 5 puntos, a la metodologa que presenta ms proyectos y un punto a la que
presenta menos.
Resultado de la aplicacin del criterio de seleccin por presencia
Se ha preparado un cuadro resumen con los resultados de la seleccin. Para cada metodologa
evaluada, se ha colocado la puntuacin que se ha
obtenido de la clasificacin. La sumatoria de cada
clasificacin determina que Scrum, es la metodologa que se debera usar, por tener una mejor puntuacin.
Tabla 2
Mayor
presencia
en Internet
Mejor
documentacin
11
22
Scrum
27
16
19
Total
15
15
19
19
15
15
95
Metodologa
Grado de conocimiento
Adaptable a cambios
Certificadas
Presencia
Proyectos
Comunidades
y con training
empresarial de software
Total
En funcin de los conocimientos que el equipo tenga, se establecen los pesos para cada criterio. Por
ejemplo, Ros y Suntaxi [37], en su tesis de grado,
proponen la siguiente tablas de pesos:
Para determinar la metodologa a usar, Ros y Suntaxi, han elaborado un cuadro resumen, evaluando
las siguientes metodologas:
SISTEMA E INFORMTICA
CRITERIOS DE SELECCIN DE METODOLOGAS DE DESARROLLO DE SOFTWARE
REFERENCIAS BIBLIOGRFICAS
Tabla 3
Criterio
RUP
MSF
RAD
XP
Total
Grado de conocimiento
20
15
10
10
10
45
Soporte orientado a
objetos
10
10
10
10
10
40
Adaptable a cambios
15
10
15
10
15
50
10
10
10
30
Posee documentacin
adecuada
15
15
15
15
10
55
10
10
10
10
10
40
10
10
34
10
10
10
10
10
40
Total
100
90
83
83
78
CONCLUSIONES
En algunas tesis revisadas, el criterio de seleccin
de la metodologa, es bastante subjetivo. Por ello
se ha buscado de establecer una escala ordinal de
valoracin de la importancia de los criterios de seleccin, hecho que contribuye a una mejora en el
proceso de seleccin pero que no desaparece el
nivel de subjetividad inherente al proceso
En tal sentido, los autores se comprometen, en un
prximo artculo, a enfocar el problema desde el
punto de vista del proceso analtico jerrquico.