Vous êtes sur la page 1sur 6

Industrial Data

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

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

Cmo citar el artculo


Nmero completo
Ms informacin del artculo
Pgina de la revista en redalyc.org

Sistema de Informacin Cientfica


Red de Revistas Cientficas de Amrica Latina, el Caribe, Espaa y Portugal
Proyecto acadmico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto

SISTEMA E INFORMTICA
Revista de la Facultad de Ingeniera Industrial
13(1): 70-74 (2010) UNMSM
ISSN: 1560-9146 (Impreso) / ISSN: 1810-9993 (Electrnico)

Criterios de seleccin de metodologas de


desarrollo de software
R ecibido: 19/11/10 A ceptado: 14/12/10
(2)

RESUMEN
E l desarrollo de softw are no es una tarea sencilla,
por m ucho tiem po esta labor se ha llevado adelante
sin una m etodologa definida. A l respecto algunos
autores definen una m etodologa com o una coleccin de procedim ientos, tcnicas, herram ientas y
docum entos auxiliares que ayudan a los desarrolladores de softw are en sus esfuerzos por im plem entar
nuevos sistem as de inform acin.
E n las dos ltim as dcadas, respecto a estas m etodologas de desarrollo de softw are se ha entablado
un intenso debate entre dos grandes corrientes. P or
un lado, las denom inadas m etodologas tradicionales, centradas en el control del proceso, con un
riguroso seguim iento de las actividades involucradas en ellas. P or otro lado, las m etodologas giles,
centradas en el factor hum ano, en la colaboracin y
participacin delcliente en elproceso de desarrollo y
a un incesante increm ento de softw are con iteraciones m uy cortas.
E lartculo presenta una propuesta,en m edio de este
debate, para seleccionar una m etodologa de desarrollo de softw are.
Palabra clave: S eleccin m etodologas; desarrollo
softw are.

INTRODUCCIN
Avison y Fitzgerald (1995) nos presentan una denicin 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 planicarlo,
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.
En el artculo de E. Georgiadou Software Process and Product
Improvement: A Historical Perspective, nos hablan de los modelos; V-Model, WModel, X-Model, RAD y Orientado a Objetos, sin
embargo los ms conocidos son:
Modelo secuencial. Representado por metodologas tan
famosas como Waterfall. Se inicia con un completo anlisis
de los requisitos de los usuarios. En el siguiente paso, los
programadores implementan el diseo y nalmente, el completado y perfecto sistema es probado y enviado.

SELECTION CRITERIA OF METHODOLOGIES OF


SOFTWARE DEVELOPMENT

ABSTRACT
In the last tw o decades, on these softw are developm ent m ethodologies has been engaged in intense
debate betw een tw o currents. O n the one hand, the
so-called traditional m ethods, focusing on process
control, w ith rigorous m onitoring of the activities involved in them . O n the other hand, agile m ethods,
focusing on hum an factors in collaboration and custom er participation in the developm ent process and
a relentless increase in softw are w ith very short iterations.

Desarrollo incremental. Su principal objetivo es reducir el


tiempo de desarrollo, dividiendo el proyecto en intervalos
incrementales superpuestos. Del mismo modo que con el
modelo waterfall, todos los requisitos se analizan antes de
empezar a desarrollar, sin embargo, los requisitos se dividen
en incrementos independientemente funcionales.
Desarrollo iterativo. A diferencia del modelo incremental se
centra ms en capturar mejor los requisitos cambiantes y la
gestin de los riesgos. En el desarrollo iterativo se rompe el
proyecto en iteraciones de diferente longitud, cada una de

The article presents a proposal, in the m idst of this


debate, to select a softw are developm ent m ethodology.
Keywords: S election m ethodologies; developm ent
softw are.

70

Ind. data 13(2), 2010

(1)
Ing. Oscar Tinoco Gmez1
Ing. Pedro Pablo Rosales Lpez2
(3)
Ing. Julio Salas Bacalla3

Magster en Marketing y Turismo, Docente auxiliar FII UNMSM. E-mail: otinocog@gmail.com

Egresado Maestra Ing Industrial UNMSM. E-mail: pprl@gmail.com

Ingeniero Industrial, Profesor del departamento de Produccin y Gestin Industrial UNMSM.


E-mail: jasalasb@hotmail.com

SISTEMA E INFORMTICA
OSCAR TINOCO GMEZ / PEDRO ROSALES / JULIO SALAS

ellas produciendo un producto completo y entregable.


Modelo en espiral. Comprende las mejores caractersticas de ciclo de vida clsico y el prototipado (desarrollo iterativo). Adems, incluye el
anlisis de alternativas, identicacin y reduccin de riesgos.

Seguir un conjunto de pasos formales para


descomponer los problemas grandes (divide y
vencers).
Metodologas tradicionales y Metodologas agiles
Diversos autores coinciden en sealar algunos requisitos que deben tener las metodologas de desarrollo:

MARCO CONCEPTUAL
Dijkstra, con un inuyente artculo (Go to statement
considered harmful), sienta las bases para la creacin de las metodologas, como las conocemos
ahora.

Visin del producto.

Entre otros autores se establecieron unos criterios


que marcasen el xito del desarrollo del software,
que hasta ahora estn vigentes:

Gestin de los requisitos.

El coste del desarrollo inicial debe ser relativamente bajo.

Vinculacin con el cliente.


Establecer un modelo de ciclo de vida.
Plan de desarrollo.
Integracin del proyecto.
Medidas de progreso del proyecto.

El software debe ser fcil de mantener.

Mtricas para evaluar la calidad.

El software debe de ser portable a nuevo hardware.

Maneras de medir el riesgo.

El software debe hacer lo que el cliente quiere.

Establecer una lnea de meta.

A partir de que Dijkstra plantear su programacin


estructurada (a travs de su libro A Discipline of
Programming), empezaron a surgir lenguajes de
programacin inuenciados por este, que respetaban los siguientes criterios:

Como gestionar los cambios.

Desarrollo de programas mediante top-down,


en contraposicin a bottom-up.

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.

Utilizar un conjunto especco de reglas de programacin (Prohibido el uso de Go To).

Cans, J. (2005) resume las caractersticas de ambas metodologas, en la siguiente tabla:

Tabla 1. Comparacin de metodologas.


Metodologas giles

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

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 interacta con el equipo de desarrollo mediante reuniones

Grupos pequeos (<10)

Grupos grandes

Pocos artefactos

Ms artefactos

Menor nfasis en la arquitectura del software

La arquitectura del software es esencial

Fuente: Cans, J et al, 2005. Metodologas giles.

Ind. data 13(2), 2010

71

SISTEMA E INFORMTICA
CRITERIOS DE SELECCIN DE METODOLOGAS DE DESARROLLO DE SOFTWARE

Entre las metodologas giles, se puede mencionar


a las siguientes:
Adaptative Software Development
Agile Modeling
Agile Model Driven Development
Agile Project Management
Agile Unied Process
Crystal Methods
Dynamic Systems development methods
Feature driven development
Internet Speed Development
Lean development
Pragmatic programming
Scrum
Test Driven Development

Metodologa ms utilizada en proyectos software.


Se considera como metodologas certicadas
aquellas que emiten un certicado que aseguran el
cumplimiento y seguimiento de la metodologa, as
como sus tcnicas y prcticas.
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 clasicacin, requiere de una bsqueda exhaustiva.

XBreed
Extreme Programming
Win Win Spiral
Evolutionary Project Management
Story cards driven development
Agile Unied Process
Open Unied Process
Seleccin de metodologas giles, por criterios
de presencia
Los diseadores de software tienen inters de trabajar con metodologas lo sucientemente documentadas, que nos faciliten la obtencin de informacin, pero tambin es interesante trabajar con
metodologas que dispongan de algn tipo de certicacin y training. Segn estas condiciones, hemos determinado seis clasicaciones que permiten
seleccionar una metodologa, segn se encuentran
mejor posicionadas, en el acumulado nal.
Las clasicaciones son:
La metodologa con mayor presencia en Internet.

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 unicado. 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.

Metodologas con comunidades.

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.

Metodologa ms utilizada por empresas. Presencia empresarial.

En el caso de la Certicacin y Training, se ha


buscado si hay instituciones que certican la

La metodologa mejor documentada.


Metodologas certicadas y con training.

72

Ind. data 13(2), 2010

SISTEMA E INFORMTICA
OSCAR TINOCO GMEZ / PEDRO ROSALES / JULIO SALAS

implementacin de la metodologa, as como si


hay entrenamiento o capacitacin en la misma.
Como no es posible hacer diferencias en cuanto
a la certicacin, habindose asignado el mismo
puntaje a las metodologas que tienen Certicacin
y Training (5 puntos) y 3 puntos las metodologas
que contienen slo training.
En cuanto a Comunidades, la mayora pertenece a
la Agile alliance, pero hay algunas que tienen sus
propias comunidades, alianzas e intensa actividad
a su alrededor. A estas metodologas se le asignaron 5 puntos, porque no es posible diferenciar entre
estas comunidades el nmero de miembro. A las
metodologas que solo pertenecen a la Agile alliance, se le asignaron 2 puntos.

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 clasicacin. La sumatoria de cada
clasicacin determina que Scrum, es la metodologa que se debera usar, por tener una mejor puntuacin.

Tabla 2
Mayor
presencia
en Internet

Mejor
documentacin

Agile Project Management (APM)

11

Dynamic Systems development


methods (DSDM)

22

Scrum

27

Test Driven Development

16

Extreme Programming (XP)

19

Total

15

15

19

19

15

15

95

Metodologa

Seleccin de metodologa, por criterios de conocimientos


En funcin del grupo de trabajo o de diseo, se
consideran los siguientes criterios en funcin de los
conocimientos que el equipo de desarrollo tenga de
las metodologas a evaluar. Estos criterios son:
Grado de conocimiento
Soporte orientado a objetos
Adaptable a cambios
Basado en casos de uso
Posee documentacin adecuada
Facilita la integracin entre las etapas de desarrollo
Relacin con UML
Permite desarrollo software sobre cualquier
tecnologa

Presencia
Proyectos
Certificadas
Comunidades
empresarial de software
y con training

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:
20% para el Grado de conocimiento
15% para Adaptable a cambios y Posee documentacin adecuada
10% para el resto de criterios
Para determinar la metodologa a usar, Ros y Suntaxi, han elaborado un cuadro resumen, evaluando
las siguientes metodologas:
RUP, Rational Unied Process
MSF, Microsoft Solution Framework
RAD, Rapid Application Development
XP, Extreme Programming
En esta evaluacin, la metodologa RUP es la que
recibe un mayor puntaje por parte del equipo de desarrollo.

Ind. data 13(2), 2010

73

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

Basado en casos de uso

10

10

10

30

Posee documentacin
adecuada

15

15

15

15

10

55

Facilita la integracin entre


las etapas de desarrollo

10

10

10

10

10

40

Relacin con UML

10

10

34

Permite desarrollo software


sobre cualquier tecnologa

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.

74

Ind. data 13(2), 2010

[1] Avison, D. and G. Fitzgerald, (1995). Information Systems Development: Methodologies,


Techniques, and Tools. McGraw-Hill.
[2] Brooks, Fred (1995). The Mythical Man-Month:
Essays on Software Engineering, Anniversary
Edition. Ed. Addison Wesley. 2da edition.
[3] Cans, Joseph (2005). Mtodologas giles en
el Desarrollo de Software. Universidad Politcnica de Valencia.
[4] Derniame, J (1999). Software Process: Principles, Methodology, Technology. Lecture Notes in Computer Science 1500 Springer 1999,
ISBN 3-540-65516-6 BibTeX
[5] Dijkstra E (1976). A Discipline of Programming.
Prentice Hall, Universidad de Texas.
[6] Georgiadou, E. (2003) Software Proces And
Product Improvement: A Historical Perspective . Cybernetics and Systems Analysis. Vol.
39, N. 1 2003.
[7] Ros, Edgar y Wilson Suntaxi (2008). Desarrollo de un sistema informtico para los procesos
de cosecha y post cosecha de la camaronera
Pampas de Cayanca. Tesis de grado, Facultad
de ingeniera de sistemas, Escuela Politcnica
Nacional, Quito.

Vous aimerez peut-être aussi