-
7/31/2019 Criterios de seleccin de metodologas de desarollo
1/6
Disponible en: http://www.redalyc.org/src/inicio/ArtPdfRed.jsp?iCve=81619984009
RedalycSistema de Informacin Cientfica
Red de Revistas Cientficas de Amrica Latina, el Caribe, Espaa y Portugal
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
Cmo citar? Nmero completo Ms informacin del artculo Pgina de la revista
Industrial Data
ISSN (Versin impresa): 1560-9146
Universidad Nacional Mayor de San Marcos
Per
www.redalyc.orgProyecto acadmico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto
http://www.redalyc.org/src/inicio/ArtPdfRed.jsp?iCve=81619984009http://www.redalyc.org/principal/ForCitArt.jsp?iCve=81619984009http://www.redalyc.org/src/inicio/IndArtRev.jsp?iCveNumRev=19984&iCveEntRev=816http://www.redalyc.org/src/inicio/ArtPdfRed.jsp?iCve=81619984009http://www.redalyc.org/src/inicio/HomRevRed.jsp?iCveEntRev=816http://www.redalyc.org/http://www.redalyc.org/src/inicio/HomRevRed.jsp?iCveEntRev=816http://www.redalyc.org/src/inicio/ArtPdfRed.jsp?iCve=81619984009http://www.redalyc.org/src/inicio/HomRevRed.jsp?iCveEntRev=816http://www.redalyc.org/src/inicio/ArtPdfRed.jsp?iCve=81619984009http://www.redalyc.org/src/inicio/IndArtRev.jsp?iCveNumRev=19984&iCveEntRev=816http://www.redalyc.org/principal/ForCitArt.jsp?iCve=81619984009http://www.redalyc.org/ -
7/31/2019 Criterios de seleccin de metodologas de desarollo
2/6
70 Ind. data 13(2), 2010
SISTEMAE INFORMTICA
(1) Ing. Oscar Tinoco Gmez1
(2) Ing. Pedro Pablo Rosales Lpez2
(3) Ing. Julio Salas Bacalla3
INTRODUCCIN
Avison y Fitzgerald (1995) nos presentan una definicin de lasmetodologas de desarrollo muy clara, destacando sus principa-les componentes, fases, herramientas y tcnicas. Una metodo-
loga es una coleccin de procedimientos, tcnicas, herramien-tas y documentos auxiliares que ayudan a los desarrolladoresde software en sus esfuerzos por implementar nuevos sistemasde informacin. Una metodologa esta formada por fases, cadauna de las cuales se puede dividir en sub-fases, que guiarn alos desarrolladores de sistemas a elegir las tcnicas ms apro-piadas 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 repre-sentacin del mundo real, que captura el estado de actual delas actividades para guiar, reforzar o automatizar partes de laproduccin de los procesos.
En el artculo de E. Georgiadou Software Process and ProductImprovement: A Historical Perspective, nos hablan de los mode-los; V-Model, WModel, X-Model, RAD y Orientado a Objetos, sinembargo los ms conocidos son:
Modelo secuencial. Representado por metodologas tanfamosas como Waterfall. Se inicia con un completo anlisisde los requisitos de los usuarios. En el siguiente paso, losprogramadores implementan el diseo y finalmente, el com-pletado y perfecto sistema es probado y enviado.
Desarrollo incremental. Su principal objetivo es reducir el
tiempo de desarrollo, dividiendo el proyecto en intervalosincrementales superpuestos. Del mismo modo que con elmodelo waterfall, todos los requisitos se analizan antes deempezar a desarrollar, sin embargo, los requisitos se dividenen incrementos independientemente funcionales.
Desarrollo iterativo. A diferencia del modelo incremental secentra ms en capturar mejor los requisitos cambiantes y lagestin de los riesgos. En el desarrollo iterativo se rompe elproyecto en iteraciones de diferente longitud, cada una de
1 Magster en Marketing y Turismo, Docente auxiliar FII UNMSM. E-mail: [email protected]
2 Egresado Maestra Ing Industrial UNMSM. E-mail: [email protected]
3 Ingeniero Industrial, Profesor del departamento de Produccin y Gestin Industrial UNMSM.
E-mail: [email protected]
Revista de la Facultad de Ingeniera Industrial13(1): 70-74 (2010) UNMSMISSN: 1560-9146 (Impreso) / ISSN: 1810-9993 (Electrnico)
Criterios de seleccin de metodologas de
desarrollo de software
RESUMEN
El desarrollo de software no es una tarea sencilla,por mucho tiempo esta labor se ha llevado adelantesin una metodologa definida. Al respecto algunos
autores definen una metodologa como una colec-cin de procedimientos, tcnicas, herramientas ydocumentos auxiliares que ayudan a los desarrolla-dores de software en sus esfuerzos por implementarnuevos sistemas de informacin.
En las dos ltimas dcadas, respecto a estas meto-dologas de desarrollo de software se ha entabladoun intenso debate entre dos grandes corrientes. Porun lado, las denominadas metodologas tradicio-nales, centradas en el control del proceso, con unriguroso seguimiento de las actividades involucra-das en ellas. Por otro lado, las metodologas giles,centradas en el factor humano, en la colaboracin yparticipacin del cliente en el proceso de desarrollo ya un incesante incremento de software con iteracio-nes muy cortas.
El artculo presenta una propuesta, en medio de estedebate, para seleccionar una metodologa de desa-rrollo de software.
Palabra clave: Seleccin metodologas; desarrollosoftware.
SELECTION CRITERIAOFMETHODOLOGIESOF
SOFTWAREDEVELOPMENT
ABSTRACT
In the last two decades, on these software develo-pment methodologies has been engaged in intensedebate between two currents. On the one hand, the
so-called traditional methods, focusing on processcontrol, with rigorous monitoring of the activities in-volved in them. On the other hand, agile methods,focusing on human factors in collaboration and cus-tomer participation in the development process anda relentless increase in software with very short ite-rations.
The article presents a proposal, in the midst of thisdebate, to select a software development methodo-logy.
Keywords: Selection methodologies; developmentsoftware.
Recibido: 19/11/10 Aceptado: 14/12/10
-
7/31/2019 Criterios de seleccin de metodologas de desarollo
3/6
71
SISTEMAEINFORMTICA
OSCAR TINOCO GMEZ / PEDRO ROSALES / JULIO SALAS
Ind. data 13(2), 2010
ellas produciendo un producto completo y entre-gable.
Modelo en espiral. Comprende las mejores ca-
ractersticas de ciclo de vida clsico y el proto-tipado (desarrollo iterativo). Adems, incluye elanlisis de alternativas, identificacin y reduc-cin de riesgos.
MARCO CONCEPTUAL
Dijkstra, con un influyente artculo (Go to statementconsidered harmful), sienta las bases para la crea-cin de las metodologas, como las conocemosahora.
Entre otros autores se establecieron unos criterios
que marcasen el xito del desarrollo del software,que hasta ahora estn vigentes:
El coste del desarrollo inicial debe ser relativa-mente bajo.
El software debe ser fcil de mantener.
El software debe de ser portable a nuevo hard-ware.
El software debe hacer lo que el cliente quiere.
A partir de que Dijkstra plantear su programacinestructurada (a travs de su libro A Discipline ofProgramming), empezaron a surgir lenguajes de
programacin influenciados por este, que respeta-ban los siguientes criterios:
Desarrollo de programas mediante top-down,en contraposicin a bottom-up.
Utilizar un conjunto especfico de reglas de pro-gramacin (Prohibido el uso de Go To).
Seguir un conjunto de pasos formales paradescomponer los problemas grandes (divide yvencers).
Metodologas tradicionales y Metodologas agi-les
Diversos autores coinciden en sealar algunos re-quisitos que deben tener las metodologas de de-sarrollo:
Visin del producto.
Vinculacin con el cliente.
Establecer un modelo de ciclo de vida.
Gestin de los requisitos.
Plan de desarrollo.
Integracin del proyecto.
Medidas de progreso del proyecto.
Mtricas para evaluar la calidad.
Maneras de medir el riesgo.
Como gestionar los cambios.
Establecer una lnea de meta.
En tiempos recientes, han surgido las metodolo-gas giles, como una alternativa, una reaccin alas metodologas tradicionales y principalmente a
su burocracia. Brooks, en su mtico libro The Mythi-cal Man Month, expone las primeras ideas que seplantean en las metodologas giles, gran parte deellas, responden al sentido comn.
Cans, J. (2005) resume las caractersticas de am-bas metodologas, en la siguiente tabla:
Tabla 1. Comparacin de metodologas.
Metodologas giles Metodologas tradicionales
Se basan en heursticas provenientes de prcticas de produccinde cdigo
Se basan en normas provenientes de estndares seguidos por elentorno 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 (
-
7/31/2019 Criterios de seleccin de metodologas de desarollo
4/6
72
SISTEMAE INFORMTICA
CRITERIOSDESELECCINDEMETODOLOGASDEDESARROLLODESOFTWARE
Ind. data 13(2), 2010
Entre las metodologas giles, se puede mencionara las siguientes:
Adaptative Software Development
Agile Modeling
Agile Model Driven Development
Agile Project Management
Agile Unified Process
Crystal Methods
Dynamic Systems development methods
Feature driven development
Internet Speed Development
Lean development
Pragmatic programming
Scrum
Test Driven Development
XBreed
Extreme Programming
Win Win Spiral
Evolutionary Project Management
Story cards driven development
Agile Unified Process
Open Unified Process
Seleccin de metodologas giles, por criteriosde presencia
Los diseadores de software tienen inters de tra-bajar con metodologas lo suficientemente docu-mentadas, que nos faciliten la obtencin de infor-macin, pero tambin es interesante trabajar conmetodologas que dispongan de algn tipo de cer-tificacin y training. Segn estas condiciones, he-mos determinado seis clasificaciones que permiten
seleccionar una metodologa, segn se encuentranmejor posicionadas, en el acumulado final.
Las clasificaciones son:
La metodologa con mayor presencia en Inter-net.
La metodologa mejor documentada.
Metodologas certificadas y con training.
Metodologas con comunidades.
Metodologa ms utilizada por empresas. Pre-sencia empresarial.
Metodologa ms utilizada en proyectos soft-ware.
Se considera como metodologas certificadas
aquellas que emiten un certificado que aseguran elcumplimiento y seguimiento de la metodologa, ascomo sus tcnicas y prcticas.
Una metodologa dispone de training, si se en-cuentra alguna institucin, organizacin o compa-a que ofrezca formacin de la metodologa.
Se considera que una metodologa tiene comuni-dad, contemplando si se ha formado una comuni-dad relevante o si est asociada a la Agile Alliance,soportndola y cumpliendo sus principios.
Se consideran los proyectos realizados, en su ma-yora por metodologas que se han aplicado enempresas privadas y por lo tanto no existe muchadocumentacin pblica al respecto. Por lo tanto,determinar esta clasificacin, requiere de una bs-queda exhaustiva.
Seleccin de metodologas
Este aspecto no ha sido tratado de manera ade-cuada, sobre todo en el mbito de las metodologastradicionales, y en el caso de las giles no existeun criterio unificado. Por ello, el presente artculose orienta a la formulacin inicial, en base a la in-formacin existente a la fecha y a la experienciapersonal, a la formulacin de dos procedimientos alrespecto: seleccin por criterios de presencia y porconocimiento.
Aplicacin del criterio de seleccin por presen-cia
A un grupo de programadores profesionales en elmedio local (10), se le ha aplicado una encuesta,sobre recordacin, conocimiento y uso de metodo-logas, quedando un grupo de 5 metodologas, quese han evaluado, segn este criterio de seleccin.
Para determinar la presencia, de las metodologasen Internet, se han realizado bsquedas en Google,Yahoo y Live. Sobre el resultado, se asignaron 5puntos al mayor, y 1 punto al menor.
Para determinar las metodologas de mayor docu-mentacin, se han considerado como documentos,los Libros en espaol, Libros en ingls y Papersque hablen sobre la aplicacin de la metodologa.Siguiendo el mismo mtodo, se asign 5 puntos almayor y 1 punto al menor.
En el caso de la Certificacin y Training, se habuscado si hay instituciones que certifican la
-
7/31/2019 Criterios de seleccin de metodologas de desarollo
5/6
73
SISTEMAEINFORMTICA
OSCAR TINOCO GMEZ / PEDRO ROSALES / JULIO SALAS
Ind. data 13(2), 2010
implementacin de la metodologa, as como sihay entrenamiento o capacitacin en la misma.Como no es posible hacer diferencias en cuanto
a la certificacin, habindose asignado el mismopuntaje a las metodologas que tienen Certificaciny Training (5 puntos) y 3 puntos las metodologasque contienen slo training.
En cuanto a Comunidades, la mayora pertenece ala Agile alliance, pero hay algunas que tienen suspropias comunidades, alianzas e intensa actividada su alrededor. A estas metodologas se le asigna-ron 5 puntos, porque no es posible diferenciar entreestas comunidades el nmero de miembro. A lasmetodologas que solo pertenecen a la Agile allian-ce, se le asignaron 2 puntos.
En cuanto a proyectos de software y presencia em-presarial, se han asignado 5 puntos, a la metodolo-ga que presenta ms proyectos y un punto a la que
presenta menos.
Resultado de la aplicacin del criterio de selec-cin por presencia
Se ha preparado un cuadro resumen con los re-sultados de la seleccin. Para cada metodologaevaluada, se ha colocado la puntuacin que se haobtenido de la clasificacin. La sumatoria de cadaclasificacin determina que Scrum, es la metodolo-ga que se debera usar, por tener una mejor pun-tuacin.
MetodologaMayor
presenciaen Internet
Mejordocumentacin
Certificadasy con training
ComunidadesPresencia
empresarialProyectos
de softwareTotal
Agile Project Management (APM) 2 1 3 5 1 1 11
Dynamic Systems developmentmethods (DSDM)
1 3 5 5 4 4 22
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
Seleccin de metodologa, por criterios de co-nocimientos
En funcin del grupo de trabajo o de diseo, seconsideran los siguientes criterios en funcin de losconocimientos que el equipo de desarrollo tenga delas 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 de-sarrollo
Relacin con UML
Permite desarrollo software sobre cualquiertecnologa
En funcin de los conocimientos que el equipo ten-ga, se establecen los pesos para cada criterio. Porejemplo, 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 docu-mentacin adecuada
10% para el resto de criterios
Para determinar la metodologa a usar, Ros y Sun-taxi, han elaborado un cuadro resumen, evaluandolas siguientes metodologas:
RUP, Rational Unified Process
MSF, Microsoft Solution Framework
RAD, Rapid Application Development
XP, Extreme Programming
En esta evaluacin, la metodologa RUP es la querecibe un mayor puntaje por parte del equipo de de-sarrollo.
Tabla 2
-
7/31/2019 Criterios de seleccin de metodologas de desarollo
6/6
74
SISTEMAE INFORMTICA
CRITERIOSDESELECCINDEMETODOLOGASDEDESARROLLODESOFTWARE
Ind. data 13(2), 2010
Criterio % RUP MSF RAD XP Total
Grado de conocimiento 20 15 10 10 10 45
Soporte orientado aobjetos
10 10 10 10 10 40
Adaptable a cambios 15 10 15 10 15 50
Basado en casos de uso 10 10 5 10 5 30
Posee documentacinadecuada
15 15 15 15 10 55
Facilita la integracin entrelas etapas de desarrollo
10 10 10 10 10 40
Relacin con UML 10 10 8 8 8 34
Permite desarrollo softwaresobre cualquier tecnologa
10 10 10 10 10 40
Total 100 90 83 83 78
CONCLUSIONES
En algunas tesis revisadas, el criterio de seleccinde la metodologa, es bastante subjetivo. Por ellose ha buscado de establecer una escala ordinal devaloracin de la importancia de los criterios de se-leccin, hecho que contribuye a una mejora en elproceso de seleccin pero que no desaparece elnivel de subjetividad inherente al proceso
En tal sentido, los autores se comprometen, en un
prximo artculo, a enfocar el problema desde elpunto de vista del proceso analtico jerrquico.
REFERENCIAS BIBLIOGRFICAS
[1] Avison, D. and G. Fitzgerald, (1995). Informa-tion Systems Development: Methodologies,Techniques, and Tools. McGraw-Hill.
[2] Brooks, Fred (1995). The Mythical Man-Month:Essays on Software Engineering, AnniversaryEdition. Ed. Addison Wesley. 2da edition.
[3] Cans, Joseph (2005). Mtodologas giles enel Desarrollo de Software. Universidad Politc-nica de Valencia.
[4] Derniame, J (1999). Software Process: Prin-ciples, Methodology, Technology. Lecture No-tes 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 AndProduct Improvement: A Historical Perspec-tive. Cybernetics and Systems Analysis. Vol.39, N. 1 2003.
[7] Ros, Edgar y Wilson Suntaxi (2008). Desarro-llo de un sistema informtico para los procesosde cosecha y post cosecha de la camaroneraPampas de Cayanca. Tesis de grado, Facultad
de ingeniera de sistemas, Escuela PolitcnicaNacional, Quito.
Tabla 3