Вы находитесь на странице: 1из 6

Industrial Data

ISSN: 1560-9146
iifi@unmsm.edu.pe
Universidad Nacional Mayor de San
Marcos
Perú

Tinoco Gómez, Oscar; Rosales López, Pedro Pablo; Salas Bacalla, Julio
Criterios de selección de metodologías de desarrollo de software
Industrial Data, vol. 13, núm. 2, julio, 2010, pp. 70-74
Universidad Nacional Mayor de San Marcos
Lima, Perú

Disponible en: http://www.redalyc.org/articulo.oa?id=81619984009

Cómo citar el artículo


Número completo
Sistema de Información Científica
Más información del artículo Red de Revistas Científicas de América Latina, el Caribe, España y Portugal
Página de la revista en redalyc.org Proyecto académico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto
SISTEMA E INFORMÁTICA

Revista de la Facultad de Ingeniería Industrial


13(1): 70-74 (2010) UNMSM
ISSN: 1560-9146 (Impreso) / ISSN: 1810-9993 (Electrónico)

Criterios de selección de metodologías de


desarrollo de software

R ecibido: 19/11/10 A ceptado: 14/12/10 (1)


Ing. Oscar Tinoco Gómez1
(2)
Ing. Pedro Pablo Rosales López2
(3)
Ing. Julio Salas Bacalla3

INTRODUCCIÓN
RESUMEN
Avison y Fitzgerald (1995) nos presentan una deÞnición de las
E l desarrollo de softw are no es una tarea sencilla,
por m ucho tiem po esta labor se ha llevado adelante metodologías de desarrollo muy clara, destacando sus principa-
sin una m etodología definida. A l respecto algunos les componentes, fases, herramientas y técnicas. Una metodo-
autores definen una m etodología com o una colec- logía es una colección de procedimientos, técnicas, herramien-
ción de procedim ientos, técnicas, herram ientas y tas y documentos auxiliares que ayudan a los desarrolladores
docum entos auxiliares que ayudan a los desarrolla-
dores de softw are en sus esfuerzos por im plem entar de software en sus esfuerzos por implementar nuevos sistemas
nuevos sistem as de inform ación. de información. Una metodología esta formada por fases, cada
E n las dos últim as décadas, respecto a estas m eto-
una de las cuales se puede dividir en sub-fases, que guiarán a
dologías de desarrollo de softw are se ha entablado los desarrolladores de sistemas a elegir las técnicas más apro-
un intenso debate entre dos grandes corrientes. P or piadas en cada momento del proyecto y también a planiÞcarlo,
un lado, las denom inadas m etodologías tradicio- gestionarlo, controlarlo y evaluarlo .
nales, centradas en el control del proceso, con un
riguroso seguim iento de las actividades involucra-
das en ellas. P or otro lado, las m etodologías ágiles, Modelo de proceso
centradas en el factor hum ano, en la colaboración y
participación delcliente en elproceso de desarrollo y Según Darniame (1999), un modelo de procesos es una repre-
a un incesante increm ento de softw are con iteracio-
nes m uy cortas.
sentación del mundo real, que captura el estado de actual de
las actividades para guiar, reforzar o automatizar partes de la
E lartículo presenta una propuesta,en m edio de este producción de los procesos.
debate, para seleccionar una m etodología de desa-
rrollo de softw are. En el artículo de E. Georgiadou Software Process and Product
Palabra clave: S elección m etodologías; desarrollo Improvement: A Historical Perspective, nos hablan de los mode-
softw are. los; V-Model, WModel, X-Model, RAD y Orientado a Objetos, sin
embargo los más conocidos son:
SELECTION CRITERIA OF METHODOLOGIES OF Modelo secuencial. Representado por metodologías tan
SOFTWARE DEVELOPMENT
famosas como Waterfall. Se inicia con un completo análisis
de los requisitos de los usuarios. En el siguiente paso, los
ABSTRACT programadores implementan el diseño y Þnalmente, el com-
pletado y perfecto sistema es probado y enviado.
In the last tw o decades, on these softw are develo-
pm ent m ethodologies has been engaged in intense Desarrollo incremental. Su principal objetivo es reducir el
debate betw een tw o currents. O n the one hand, the tiempo de desarrollo, dividiendo el proyecto en intervalos
so-called traditional m ethods, focusing on process
control, w ith rigorous m onitoring of the activities in- incrementales superpuestos. Del mismo modo que con el
volved in them . O n the other hand, agile m ethods, modelo waterfall, todos los requisitos se analizan antes de
focusing on hum an factors in collaboration and cus- empezar a desarrollar, sin embargo, los requisitos se dividen
tom er participation in the developm ent process and en incrementos independientemente funcionales.
a relentless increase in softw are w ith very short ite-
rations. Desarrollo iterativo. A diferencia del modelo incremental se
The article presents a proposal, in the m idst of this centra más en capturar mejor los requisitos cambiantes y la
debate, to select a softw are developm ent m ethodo- gestión de los riesgos. En el desarrollo iterativo se rompe el
logy. proyecto en iteraciones de diferente longitud, cada una de
Keywords: S election m ethodologies; developm ent
softw are. 1 Magíster en Marketing y Turismo, Docente auxiliar FII UNMSM. E-mail: otinocog@gmail.com
2 Egresado Maestría Ing Industrial UNMSM. E-mail: pprl@gmail.com
3 Ingeniero Industrial, Profesor del departamento de Producción y Gestión Industrial UNMSM.
E-mail: jasalasb@hotmail.com

70 Ind. data 13(2), 2010


SISTEMA E INFORMÁTICA

OSCAR TINOCO GÓMEZ / PEDRO ROSALES / JULIO SALAS

ellas produciendo un producto completo y entre- Seguir un conjunto de pasos formales para
gable. descomponer los problemas grandes (divide y
vencerás).
Modelo en espiral. Comprende las mejores ca-
racterísticas de ciclo de vida clásico y el proto-
tipado (desarrollo iterativo). Además, incluye el
Metodologías tradicionales y Metodologías agi-
análisis de alternativas, identiÞcación y reduc-
les
ción de riesgos.
Diversos autores coinciden en señalar algunos re-
quisitos que deben tener las metodologías de de-
MARCO CONCEPTUAL sarrollo:
Dijkstra, con un inßuyente artículo (Go to statement Visión del producto.
considered harmful), sienta las bases para la crea-
Vinculación con el cliente.
ción de las metodologías, como las conocemos
ahora. Establecer un modelo de ciclo de vida.
Entre otros autores se establecieron unos criterios Gestión de los requisitos.
que marcasen el éxito del desarrollo del software,
Plan de desarrollo.
que hasta ahora están vigentes:
Integración del proyecto.
El coste del desarrollo inicial debe ser relativa-
mente bajo. Medidas de progreso del proyecto.
El software debe ser fácil de mantener. Métricas para evaluar la calidad.
El software debe de ser portable a nuevo hard- Maneras de medir el riesgo.
ware. Como gestionar los cambios.
El software debe hacer lo que el cliente quiere. Establecer una línea de meta.
A partir de que Dijkstra planteará su programación En tiempos recientes, han surgido las metodolo-
estructurada (a través de su libro A Discipline of gías ágiles, como una alternativa, una reacción a
Programming), empezaron a surgir lenguajes de las metodologías tradicionales y principalmente a
programación inßuenciados por este, que respeta- su burocracia. Brooks, en su mítico libro The Mythi-
ban los siguientes criterios: cal Man Month, expone las primeras ideas que se
Desarrollo de programas mediante top-down, plantean en las metodologías ágiles, gran parte de
en contraposición a bottom-up. ellas, responden al sentido común.
Utilizar un conjunto especíÞco de reglas de pro- Canós, J. (2005) resume las características de am-
gramación (Prohibido el uso de Go To). bas metodologías, en la siguiente tabla:

Tabla 1. Comparación de metodologías.

Metodologías ágiles Metodologías tradicionales


Se basan en heurísticas provenientes de prácticas de producción Se basan en normas provenientes de estándares seguidos por el
de código entorno de desarrollo
Preparados para cambios durante el proyecto Cierta resistencia a los cambios

Impuestas internamente por el equipo Impuestas externamente

Proceso menos controlado, con pocos principios Proceso muy controlado, numerosas normas

Contrato flexible e incluso inexistente Contrato prefijado

El cliente es parte del desarrollo Cliente interactúa con el equipo de desarrollo mediante reuniones

Grupos pequeños (<10) Grupos grandes

Pocos artefactos Más artefactos

Menor énfasis en la arquitectura del software La arquitectura del software es esencial

Fuente: Canós, J et al, 2005. Metodologías Ágiles.

Ind. data 13(2), 2010 71


SISTEMA E INFORMÁTICA

CRITERIOS DE SELECCIÓN DE METODOLOGÍAS DE DESARROLLO DE SOFTWARE

Entre las metodologías ágiles, se puede mencionar Metodología más utilizada en proyectos soft-
a las siguientes: ware.
Adaptative Software Development Se considera como metodologías certiÞcadas
aquellas que emiten un certiÞcado que aseguran el
Agile Modeling
cumplimiento y seguimiento de la metodología, así
Agile Model Driven Development como sus técnicas y prácticas.
Agile Project Management Una metodología dispone de training, si se en-
cuentra alguna institución, organización o compa-
Agile UniÞed Process
ñía que ofrezca formación de la metodología.
Crystal Methods
Se considera que una metodología tiene comuni-
Dynamic Systems development methods dad, contemplando si se ha formado una comuni-
dad relevante o si está asociada a la Agile Alliance,
Feature driven development
soportándola y cumpliendo sus principios.
Internet Speed Development
Se consideran los proyectos realizados, en su ma-
Lean development yoría por metodologías que se han aplicado en
empresas privadas y por lo tanto no existe mucha
Pragmatic programming
documentación pública al respecto. Por lo tanto,
Scrum determinar esta clasiÞcación, requiere de una bús-
Test Driven Development queda exhaustiva.

XBreed
Selección de metodologías
Extreme Programming
Este aspecto no ha sido tratado de manera ade-
Win Win Spiral
cuada, sobre todo en el ámbito de las metodologías
Evolutionary Project Management tradicionales, y en el caso de las ágiles no existe
Story cards driven development un criterio uniÞcado. Por ello, el presente artículo
se orienta a la formulación inicial, en base a la in-
Agile UniÞed Process formación existente a la fecha y a la experiencia
Open UniÞed Process personal, a la formulación de dos procedimientos al
respecto: selección por criterios de presencia y por
conocimiento.
Selección de metodologías ágiles, por criterios
de presencia
Aplicación del criterio de selección por presen-
Los diseñadores de software tienen interés de tra- cia
bajar con metodologías lo suÞcientemente docu-
A un grupo de programadores profesionales en el
mentadas, que nos faciliten la obtención de infor-
medio local (10), se le ha aplicado una encuesta,
mación, pero también es interesante trabajar con
sobre recordación, conocimiento y uso de metodo-
metodologías que dispongan de algún tipo de cer-
logías, quedando un grupo de 5 metodologías, que
tiÞcación y training. Según estas condiciones, he-
se han evaluado, según este criterio de selección.
mos determinado seis clasiÞcaciones que permiten
seleccionar una metodología, según se encuentran Para determinar la presencia, de las metodologías
mejor posicionadas, en el acumulado Þnal. en Internet, se han realizado búsquedas en Google,
Yahoo y Live. Sobre el resultado, se asignaron 5
Las clasiÞcaciones son:
puntos al mayor, y 1 punto al menor.
La metodología con mayor presencia en Inter-
Para determinar las metodologías de mayor docu-
net.
mentación, se han considerado como documentos,
La metodología mejor documentada. los Libros en español, Libros en inglés y Papers
que hablen sobre la aplicación de la metodología.
Metodologías certiÞcadas y con training.
Siguiendo el mismo método, se asignó 5 puntos al
Metodologías con comunidades. mayor y 1 punto al menor.
Metodología más utilizada por empresas. Pre- En el caso de la CertiÞcación y Training, se ha
sencia empresarial. buscado si hay instituciones que certiÞcan la

72 Ind. data 13(2), 2010


SISTEMA E INFORMÁTICA

OSCAR TINOCO GÓMEZ / PEDRO ROSALES / JULIO SALAS

implementación de la metodología, así como si En cuanto a proyectos de software y presencia em-


hay entrenamiento o capacitación en la misma. presarial, se han asignado 5 puntos, a la metodolo-
Como no es posible hacer diferencias en cuanto gía que presenta más proyectos y un punto a la que
a la certiÞcación, habiéndose asignado el mismo presenta menos.
puntaje a las metodologías que tienen CertiÞcación
y Training (5 puntos) y 3 puntos las metodologías
que contienen sólo training. Resultado de la aplicación del criterio de selec-
ción por presencia
En cuanto a Comunidades, la mayoría pertenece a
la Agile alliance, pero hay algunas que tienen sus Se ha preparado un cuadro resumen con los re-
propias comunidades, alianzas e intensa actividad sultados de la selección. Para cada metodología
a su alrededor. A estas metodologías se le asigna- evaluada, se ha colocado la puntuación que se ha
ron 5 puntos, porque no es posible diferenciar entre obtenido de la clasiÞcación. La sumatoria de cada
estas comunidades el número de miembro. A las clasiÞcación determina que Scrum, es la metodolo-
metodologías que solo pertenecen a la Agile allian- gía que se debería usar, por tener una mejor pun-
ce, se le asignaron 2 puntos. tuación.

Tabla 2

Mayor
Mejor Certificadas Presencia Proyectos
Metodología presencia Comunidades Total
documentación y con training empresarial de software
en Internet

Agile Project Management (APM) 2 1 3 5 1 1 11

Dynamic Systems development


1 3 5 5 4 4 22
methods (DSDM)

Scrum 5 2 5 5 5 5 27

Test Driven Development 3 4 3 2 2 2 16

Extreme Programming (XP) 4 5 3 2 3 3 19

Total 15 15 19 19 15 15 95

Selección de metodología, por criterios de co- En función de los conocimientos que el equipo ten-
nocimientos ga, se establecen los pesos para cada criterio. Por
ejemplo, Ríos y Suntaxi [37], en su tesis de grado,
En función del grupo de trabajo o de diseño, se proponen la siguiente tablas de pesos:
consideran los siguientes criterios en función de los
20% para el Grado de conocimiento
conocimientos que el equipo de desarrollo tenga de
las metodologías a evaluar. Estos criterios son: 15% para Adaptable a cambios y Posee docu-
mentación adecuada
Grado de conocimiento
10% para el resto de criterios
Soporte orientado a objetos
Para determinar la metodología a usar, Ríos y Sun-
Adaptable a cambios taxi, han elaborado un cuadro resumen, evaluando
las siguientes metodologías:
Basado en casos de uso
RUP, Rational UniÞed Process
Posee documentación adecuada
MSF, Microsoft Solution Framework
Facilita la integración entre las etapas de de-
sarrollo RAD, Rapid Application Development
XP, Extreme Programming
Relación con UML
En esta evaluación, la metodología RUP es la que
Permite desarrollo software sobre cualquier recibe un mayor puntaje por parte del equipo de de-
tecnología sarrollo.

Ind. data 13(2), 2010 73


SISTEMA E INFORMÁTICA

CRITERIOS DE SELECCIÓN DE METODOLOGÍAS DE DESARROLLO DE SOFTWARE

Tabla 3 REFERENCIAS BIBLIOGRÁFICAS


Criterio % RUP MSF RAD XP Total [1] Avison, D. and G. Fitzgerald, (1995). Informa-
Grado de conocimiento 20 15 10 10 10 45 tion Systems Development: Methodologies,
Soporte orientado a Techniques, and Tools. McGraw-Hill.
10 10 10 10 10 40
objetos
[2] Brooks, Fred (1995). The Mythical Man-Month:
Adaptable a cambios 15 10 15 10 15 50
Essays on Software Engineering, Anniversary
Basado en casos de uso 10 10 5 10 5 30 Edition. Ed. Addison Wesley. 2da edition.
Posee documentación
adecuada
15 15 15 15 10 55 [3] Canós, Joseph (2005). Métodologías Ágiles en
Facilita la integración entre
el Desarrollo de Software. Universidad Politéc-
10 10 10 10 10 40
las etapas de desarrollo nica de Valencia.
Relación con UML 10 10 8 8 8 34
[4] Derniame, J (1999). Software Process: Prin-
Permite desarrollo software
10 10 10 10 10 40
ciples, Methodology, Technology. Lecture No-
sobre cualquier tecnología
tes in Computer Science 1500 Springer 1999,
Total 100 90 83 83 78 ISBN 3-540-65516-6 BibTeX
[5] Dijkstra E (1976). A Discipline of Programming.
Prentice Hall, Universidad de Texas.
CONCLUSIONES
[6] Georgiadou, E. (2003) Software Proces And
En algunas tesis revisadas, el criterio de selección
de la metodología, es bastante subjetivo. Por ello Product Improvement: A Historical Perspec-
se ha buscado de establecer una escala ordinal de tive . Cybernetics and Systems Analysis. Vol.
valoración de la importancia de los criterios de se- 39, N.° 1 2003.
lección, hecho que contribuye a una mejora en el [7] Ríos, Edgar y Wilson Suntaxi (2008). Desarro-
proceso de selección pero que no desaparece el llo de un sistema informático para los procesos
nivel de subjetividad inherente al proceso de cosecha y post cosecha de la camaronera
En tal sentido, los autores se comprometen, en un Pampas de Cayanca. Tesis de grado, Facultad
próximo artículo, a enfocar el problema desde el de ingeniería de sistemas, Escuela Politécnica
punto de vista del proceso analítico jerárquico. Nacional, Quito.

74 Ind. data 13(2), 2010

Вам также может понравиться