Sei sulla pagina 1di 6

Redalyc

Sistema 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
Disponible en: http://www.redalyc.org/src/inicio/ArtPdfRed.jsp?iCve=81619984009

Industrial Data ISSN (Versin impresa): 1560-9146 iifi@unmsm.edu.pe Universidad Nacional Mayor de San Marcos Per

Cmo citar?

Nmero completo

Ms informacin del artculo

Pgina de la revista

www.redalyc.org 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


Recibido: 19/11/10 Aceptado: 14/12/10
(2)

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

RESUMEN El desarrollo de software no es una tarea sencilla, por mucho tiempo esta labor se ha llevado adelante sin una metodologa denida. Al respecto algunos autores denen 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. Palabra clave: Seleccin metodologas; desarrollo software.

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

SELECTION CRITERIA OF METHODOLOGIES OF


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.
1 2 3

70

Ind. data 13(2), 2010

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

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. 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 relativamente bajo. El software debe ser fcil de mantener. El software debe de ser portable a nuevo hardware. El software debe hacer lo que el cliente quiere.

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: Desarrollo de programas mediante top-down, en contraposicin a bottom-up. Utilizar un conjunto especco de reglas de programacin (Prohibido el uso de Go To).

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. 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 Impuestas internamente por el equipo Proceso menos controlado, con pocos principios Contrato flexible e incluso inexistente El cliente es parte del desarrollo Grupos pequeos (<10) Pocos artefactos Menor nfasis en la arquitectura del software Fuente: Cans, J et al, 2005. Metodologas giles. Cierta resistencia a los cambios Impuestas externamente Proceso muy controlado, numerosas normas Contrato prefijado Cliente interacta con el equipo de desarrollo mediante reuniones Grupos grandes Ms artefactos La arquitectura del software es esencial

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 XBreed Extreme Programming Win Win Spiral Evolutionary Project Management Story cards driven development Agile Unied Process Open Unied Process

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. 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. 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. En el caso de la Certicacin y Training, se ha buscado si hay instituciones que certican la

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. La metodologa mejor documentada. Metodologas certicadas y con training. Metodologas con comunidades. Metodologa ms utilizada por empresas. Presencia empresarial.

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
Metodologa Mayor presencia en Internet 2 1 5 3 4 15 Mejor documentacin 1 3 2 4 5 15 Certificadas Presencia Proyectos Comunidades y con training empresarial de software 3 5 5 3 3 19 5 5 5 2 2 19 1 4 5 2 3 15 1 4 5 2 3 15 Total

Agile Project Management (APM) Dynamic Systems development methods (DSDM) Scrum Test Driven Development Extreme Programming (XP) Total

11 22 27 16 19 95

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

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

Tabla 3
Criterio 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 Total % 20 10 15 10 15 10 10 10 100 RUP 15 10 10 10 15 10 10 10 90 MSF 10 10 15 5 15 10 8 10 83 RAD 10 10 10 10 15 10 8 10 83 XP 10 10 15 5 10 10 8 10 78 Total 45 40 50 30 55 40 34 40

REFERENCIAS BIBLIOGRFICAS [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.

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

Potrebbero piacerti anche