Criterios de selección de metodologías de desarollo

Embed Size (px)

Citation preview

  • 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

    [email protected]

    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