You are on page 1of 12

ISSN 1900-8260

Julio a Diciembre de 2015, Vol. 10, N. 20, pp. 98-109 2015 ACOFI http://www.educacioneningenieria.org

Recibido: 13/10/2015 Aprobado: 12/11/2015

ESCOGER UNA METODOLOGA PARA DESARROLLAR


SOFTWARE, DIFCIL DECISIN

CHOOSING A SOFTWARE DEVELOPMENT METHODOLOGY,


HARD DECISION

Lucy Nohemy Medina Velandia


Fundacin Universitaria Los Libertadores, Bogot (Colombia)

Wlmer Mesas Lpez Lpez


Fundacin Universitaria Los Libertadores, Bogot (Colombia)

Resumen

Esta investigacin tuvo como objetivo disear un mtodo para desarrollar software sencillo, fcil de
aprender, modificar y ejecutar; iterativo, incremental, cooperativo, adaptable, que como eje transversal
aplicara la calidad. Est dirigido a empresas medianas y pequeas, as como a estudiantes que llevan a cabo
proyectos. Se utiliz investigacin bsica y aplicada. El instrumento principal fue la encuesta, realizada
a 50 empresas desarrolladoras de software, repartidas en grandes, medianas y pequeas, y a estudiantes
de los dos ltimos semestres de Ingeniera de Sistemas. A partir de los resultados se identificaron las
necesidades existentes en el sector para desarrollar software de una manera ms sencilla y corta. Se
encontr que los desarrolladores de software no ven con buenos ojos las metodologas llamadas duras o
tradicionales porque deben seguir una secuencia en cada etapa y reunir una voluminosa documentacin.
Por otra parte, si utilizan metodologas giles se presentan inconvenientes entre los grupos de trabajo,
debido a la diferencia de criterios, a las constantes reuniones que no las ven como ventaja sino como
prdida de tiempo, adems del estrs que se genera dentro por la cantidad de tareas que deben cumplir
en tan corto tiempo para desarrollar el software. Frente a los resultados generados, se elabora el mtodo
Winner, que se trabaja en cuatro etapas sencillas y se caracteriza por emplear tablas, las cuales se
factorizan y slo resultan catorce en todo el proceso.

Palabras claves: metodologas giles; mtodos de desarrollo de software, Winner.

Abstract

This research aimed to design a method for developing software that is simple, easy to learn, easy to
modify and run, iterative, incremental, collaborative, adaptable, applied as a transverse axis to quality.
Escoger una metodologa para desarrollar software, difcil decisin 99

It is aimed at small and medium enterprises, as well as students in developing their projects. From
this objective, surveys were conducted to companies engaged in software development and university
students in the last semesters. Thereafter, the needs that have to develop quality software more easily
identified and faster. The research metodology used was basic and applied. The main instrument was a
survey applied to fifty software development companies spread over large, medium and small; students
in the last two semesters of the Engineering Systems also surveyed. The results showed that software
developers do not look favorably methodologies called hard or traditional, because they have to follow
many sequential steps at each stage and should make voluminous documentation; if they use agile
methodologies appearproblems between the working groups due to the disagreement, the constant
meetings that do not see as an advantage and a waste of time, in addition to the stress that is generated
within the team by the presents many activities in such a short time to develop the software. Compared
to the results generated, the Winner method works in four easy steps and characterized by use tables,
which are factored and are only fourteen in the whole process of software development.

Keywords: agile methodologies, development methods software, Winner.

Introduccin de mantenimiento y parches que se efectan en el


proceso, como consecuencia de los defectos que
Siendo las metodologas para desarrollar software los se presenten. Por otra parte, puede suceder que los
marcos que permiten la estructuracin, planificacin requisitos hechos por el usuario no se comprendan
y control de un proyecto de software, se requiere que bien, o no se especifiquen antes de iniciar un proyecto,
stos sean concisos, ordenados, claros y especficos. o por el cambio de personal dentro del equipo.
Todo proyecto de software deber planearse, es-
tructurarse y desarrollarse con habilidad, paciencia Numerosos han sido los autores de metodologas
y conocimiento. No obstante, son mltiples los para desarrollar software. Las han creado giles,
problemas que se presentan al realizar dicha labor. incrementales, iterativas, por etapas, evolutivas y
Por ejemplo, cuando un equipo est trabajando secuenciales, entre otras. Todo estos marcos de
y el jefe del grupo realiza excesiva presin para trabajo se han utilizado para estructurar, planificar y
ejecutar la tarea; son muy frecuentes los cambios controlar proyectos de software; pero en muchos casos,
en los requerimientos o especificaciones, o estos no en lugar de facilitar las actividades requeridas para
existen; muchos equipos de trabajo no documentan culminar el proyecto se hacen complejas y retrasan
correctamente los proyectos, adems de realizar los proyectos por la cantidad de entregables e hitos
numerosos cambios superficiales; y es muy comn que se deben cumplir al culminar cada etapa. Las
que se solicite agregar funcionalidades al software razones anteriores llevan a pensar que escoger una
que no se consideraron al iniciar la labor. Uno de los metodologa para desarrollar software no es fcil,
problemas ms frecuentes al desarrollar software es una dura tarea que en mltiples ocasiones quita
es la carencia de un mtodo cientfico durante la tiempo y causa discusiones entre los integrantes de
elaboracin del proyecto. los equipos de trabajo. Otro problema es que cuando
se aplican ciertas metodologas para desarrollar
El desarrollo de software requiere orden, disciplina y software, puede ocurrir que los proyectos se entreguen
una excelente gestin para que dicha tarea sea eficiente a destiempo, es decir, que cuando el software est
y de calidad. Infortunadamente, las metodologas listo, la razn inicial para haberlo adquirido puede
existentes hacen que el proceso se vuelva lento que haya cambiado y todos los esfuerzos realizados
debido a tantas actividades que abarcan, lo que lleva sean intiles, es decir, se haya perdido, tiempo, dinero
a que el ritmo sea lento pues no estn diseadas y esfuerzo.
para trabajar con incertidumbre. Lo anterior hace
que en diversas oportunidades la planificacin del Lo que se propone es un mtodo para desarrollar
proyecto no sea ptima y lleve a retrasos, y que los software que proporciona agilidad en el desarrollo,
sistemas nazcan deteriorados en razn de la cantidad control de calidad en el producto final, sencillez en

Copyright 2015 Asociacin Colombiana de Facultades de Ingeniera


100 Revista Educacin en Ingeniera Julio a Diciembre de 2015, Vol. 10, N. 20

su uso, facilidad para comprenderlo y utilizarlo, y que manteniendo la calidad del software. Igualmente, se
adems sea corto y manejable en equipos de trabajo reflexiona sobre los sectores y tipos de empresas a
grandes o pequeos. las que se dirige el mtodo una vez concluido.

En trminos generales, la presentacin de este escrito Como se mencion, se tuvieron en cuenta dos tipos
es la siguiente: en la primera parte se expone el de encuestas como punto de partida, dirigidas a dos
problema que se despejar y la metodologa por sectores diferentes, el educativo y el empresarial.
utilizar; enseguida, se presenta el estado del arte, que En este ltimo se consideraron variables como las
describe para qu se hace y cul es la intencin de plataformas, el tipo de empresa en la que se contesta
la propuesta planteada. A continuacin se plasman la encuesta, el tamao, los servicios que presta, el
las fases que se siguieron para desarrollar el mtodo sector al que dirige su actividad, el sistema operativo
y las actividades propuestas. Luego se muestran los que utiliza, las bases de datos y la metodologa de
resultados y el anlisis de la investigacin que sirvi desarrollo empleada para desarrollar software.
como base para desarrollar el mtodo.Se culmina con
la explicacin del mtodo propuesto y las conclusiones. Por su parte, la encuesta dirigida a estudiantes de
ltimos semestres tena como propsito conocer
Punto de partida qu metodologas de las vistas durante sus estudios
escogan, por qu y qu dificultad se les presentaba.
Cuando se desarrolla software se deben seguir Con los insumos obtenidos se inici el trabajo para
actividades que forman parte de cada etapa. Si se conseguir el mtodo propuesto.
realizan ordenadamente, el producto final ser legible,
sencillo y de fcil manejo. La propuesta de un mtodo El problema
nuevo, llamado Winner, no implica olvidar que han
sido muchas las metodologas realizadas, bien sean Las encuestas se dirigieron a 50 empresas bogotanas
las tradicionales, tambin llamadas pesadas, o las desarrolladoras de software y a estudiantes de los dos
giles. Para construir el mtodo propuesto se tomaron ltimos semestres de ingeniera de sistemas. Una vez
diecinueve (19) metodologas entre pesadas y giles, analizados los datos, se establecieron formalmente
con el fin de realizar un anlisis preliminar. De los problemas que tienen las personas cuando siguen
stas, se escogieron slo nueve que se estudiaron y las metodologas que se encuentran en el mercado
compararon entre ellas profundamente, con el objeto para desarrollar software. Un hallazgo importante
de que sirvieran como apoyo para la propuesta que es que las empresas desarrolladoras de software
se presenta. utilizan metodologas acomodadas, dependiendo de la
necesidad del desarrollador, el analista, el diseador o
Winner parte del establecimiento de necesidades de la misma empresa. Esta actividad hace que en muchos
los sectores que utilizan metodologas para desarrollar casos los productos carezcan de refinamiento y, por
software. Se realizaron dos tipos de encuestas; por una ende, su calidad no sea la mejor.
parte, a los desarrolladores que trabajan en empresas
dedicadas a dicha tarea, y por otra, a estudiantes de Otro problema que surge de las dos encuestas fue
ltimos semestres, quienes tambin debern utilizar no seguir la secuencia de la metodologa escogida
metodologas para realizar sus proyectos de grado. Las y la adecuacin segn las necesidades de quien la
personas que crean software en casas de desarrollo practica. Por lo anterior, afirman los encuestados,
indicaron que no toman en cuenta todos los pasos cuando culminan los proyectos los resultados no
de las metodologas escogidas para culminar sus reflejan la calidad esperada, se presentan errores o
proyectos, dado que las actividades propuestas en cada insuficiencias en el software, lo que lleva a corregir
fase son muy complejas y robustas para cumplir con las aplicaciones en caliente, pues el producto est
toda su aplicacin. Para suplir lo anterior, aplican la en manos del cliente y hay que crear parches en lo
seleccionada, segn su criterio, o combinando etapas programado, lo que vuelve frgil el sistema.
y actividades de unas y otras metodologas.
Con respecto a estos inconvenientes, surgen las
A partir de este problema, se decide proponer un siguientes preguntas: qu se espera solucionar con
mtodo sencillo, de fcil uso y con pasos reducidos, Winner?, este mtodo facilitar la construccin de

Copyright 2015 Asociacin Colombiana de Facultades de Ingeniera


Escoger una metodologa para desarrollar software, difcil decisin 101

software y podr utilizarse en desarrollos concretos especficas del momento; de hecho, no existe un
con un alto grado de probabilidad de xito, calidad estndar para aplicarlo en todos los procesos de
y uso de todos los pasos que conforman sus etapas? desarrollo de software.

Qu han hecho los dems Las metodologas surgen para ordenar y promover
el desarrollo de software de calidad, por ello se han
En este aparte se trata de recuperar algo del conoci- dispuesto numerosos modelos, entre los que se encuen-
miento acumulado sobre el objeto de estudio de este tran: clsicos, evolutivos, basados en componentes,
escrito, como son las metodologas de desarrollo de mtodos formales, modelos de calidad del software.
software. Tambin se han desarrollado diversas metodologas:
estructuradas, orientadas a objetos y de desarrollo
Parte de la historia de la ingeniera de software, en la gil, entre otras (Coad, Lefebvre y De Luca, 1999).
cual estn incluidas las metodologas de desarrollo de Stapleton (1997) hace un recuento sobre diferentes
software, se inicia en 1965, cuando Edsger Dijkstra tipos de modelos, entre otros:
utiliz la famosa frase crisis del software por la pre-
sencia de muchos y variados problemas. Por nombrar El modelo prototipo, utilizado en los aos noventa,
algunos, la poca flexibilidad de los programas, su alto consiste en realizar parcialmente el sistema e irlo
costo, la falta de comprensin y de verificacin de compartiendo con el usuario para que experimente con
los mismos, la complejidad, la continua adaptabilidad l y de esta forma pueda determinar los requerimientos
del software dependiendo de las necesidades de los antes de desarrollar el producto final. No siempre es
usuarios, la poca estimacin del tiempo y costos que bueno utilizar este modelo debido a que el usuario
se tenan para el desarrollo del proyecto; en fin, la cree que es el producto final y en ocasiones no le
calidad era muy baja, por cuanto las aplicaciones no gusta. Es un modelo recomendado cuando no se
cumplan con las especificaciones. A partir de dicha conocen ciertamente las necesidades, pues gua al
crisis surge la ingeniera de software renovada y con programador segn las sugerencias del cliente.
metodologas que intentan subsanar el problema
expuesto; de todos modos, hoy persisten errores, as El modelo espiral, creado por Boehm (1998), es
como la no concrecin de tiempos y costos fiables evolutivo. Sus actividades se representan por medio
en la culminacin del proyecto. de un espiral dividido en cuatro regiones o cuadrantes,
alrededor de las cuales las interacciones se ejecutan
Sin embargo, los problemas actuales son otros, como dentro de los bucles o interacciones. Al terminar un
el poder computacional que a diario se incrementa y giro e iniciar otro, se construye un nuevo modelo
cambia constantemente; los bajos costos del hardware, del sistema. El espiral puede combinarse con otros
lo cual hace que la computarizacin de los negocios modelos, est orientado al desarrollo de sistemas
y empresas aumente, el gran nmero de usuarios grandes, pero con personal especializado que deber
heterogneos que concurren a la misma informacin o decidir cuntas interacciones se requieren hasta
al mismo sitio, las nuevas necesidades y costumbres de terminar.
los usuarios, el personal de desarrollo y mantenimiento
con conocimientos diversos, la complejidad en las De este modelo existen dos variantes: el espiral de
arquitecturas de hardware y de software y la diversidad seis regiones y el espiral Winwin. En el primero, las
de lenguajes de programacin, entre otros. actividades que se llevan a cabo son la comunicacin
con el cliente, la planificacin, el anlisis de riesgos,
Cockbun (2001) seala que en 1985 empiezan a la ingeniera, la adaptacin y construccin, y la
surgir metodologas, tecnologas y herramientas que evaluacin del cliente.
pretendan solucionar definitivamente los problemas
expuestos, en especial la identificacin concreta de Por su parte, Winwin adopta una comunicacin
costos, la planificacin y la calidad de los productos con el cliente ms activa, pues constantemente se
desarrollados. Infortunadamente, no se utilizan las le deben mostrar los requisitos solicitados y a la vez
metodologas y la parte gerencial del proyecto como ste entrega los detalles necesarios para continuar. Lo
lo especifica la ingeniera de software, sino que las ms sobresaliente de este modelo e la identificacin
han desarrollado de acuerdo con las necesidades del sistema y los subsistemas, la designacin de

Copyright 2015 Asociacin Colombiana de Facultades de Ingeniera


102 Revista Educacin en Ingeniera Julio a Diciembre de 2015, Vol. 10, N. 20

condiciones de victoria de los dirigentes y el conjunto la cliente-servidor y la migracin de aplicaciones,


de condiciones de victoria de los directivos que se entre otras posibilidades.
renen para establecer negociaciones.
Por ltimo, se tratarn las metodologas giles,
Otro grupo de modelos que forma parte de la ingeniera estudiadas por muchos autores. Herrera & Valencia
son los llamados evolutivos, los cuales, como su (2007), en su artculo Del manifiesto gil. Sus
nombre lo indica, son cambiantes, sobre todo en valores y principios, realizan una sntesis de lo
los requisitos de usuario y producto. Estos tipos de que ha sido la computacin e indican el problema
modelos se consideran iterativos y evolutivos, pues surgido de la popularizacin de las computadoras
permiten realizar versiones de software cada vez y la tecnologa en general, de lo cual han surgido
ms complejas y completas, hasta conseguir el logro necesidades que han hecho avanzar tambin la forma
planteado. De este tipo de modelo forman parte el como se desarrolla el software. A lo largo del tiempo,
espiral y los llamados iterativos e incrementales. surge una nueva necesidad, y es la de trabajar proyectos
de software cortos, pequeos, rpidos, por lo que
Uno de los principales distintivos de los modelos las metodologas tradicionales no se ajustan a dicha
basados en componentes es la reutilizacin de cdigo, tarea, lo que trae como consecuencia el surgimiento
el cual lleva a mejorar la calidad de las aplicaciones de las metodologas giles, que permiten acelerar
y a reducir el tiempo de desarrollo de los sistemas. los procesos, disminuir los tiempos y las etapas. Las
Es tan interesante este tipo de modelo que se ha actividades se convierten en ligeras, se organizan
establecido la ingeniera de software basada en grupos de trabajo reducidos, pero cumpliendo con
componentes (ISBC), dedicada a desarrollar sistemas la misma calidad de las metodologas tradicionales.
que reutilizan componentes previamente diseados
y construidos. Segn Abrahamsson et al. (2002), Cans, Letelier & Penads (2012) mencionan algunas
las ventajas que tiene el ISBC son: la calidad de las caractersticas principales de las metodologas giles:
aplicaciones mejora sustancialmente, son ms sencillos aumentan la productividad, bajan costos y mejoran
el mantenimiento y las pruebas del sistema y, por la atencin al cliente; los equipos trabajan de forma
supuesto, la reutilizacin del software. Comprarlo, eficiente y rpida, se proponen estrategias parciales y
en lugar de desarrollarlo, permite que las etapas de utilizables en corto tiempo, por la interaccin con el
elaboracin sean ms cortas, por supuesto hay mayor usuario se extrema la calidad del producto. Adems,
retorno de inversin y se mejora la funcionalidad. facilitan la pronta correccin de errores tcnicos.

Los mtodos formales son necesarios porque los Algunas metodologas giles
sistemas informticos son muy grandes y complejos y si
no se desarrollan eficazmente fallarn inevitablemente. Scrum, propuesta por Ken Schwaber, Jeff Sutherland
Las correcciones certificadas al software representan y Mike Beedle (2001), orientada a proyectos en los
dinero y debern utilizarse en la industria para lograr que cambian rpidamente los requisitos. El desarrollo
la calidad esperada, pues cuando se usan estos modelos de un proyecto se hace por medio de iteraciones,
lgicos, matemticos, desde las fases tempranas, los llamadas Sprint, las cuales duran 30 das, luego de lo
proyectos sern exitosos (Cockbun, 2001). cual se le presenta al cliente. Cada Sprint incrementa el
desarrollo. Tambin se efectan reuniones constantes
Por otra parte, las metodologas orientadas a objetos de quince minutos dentro del equipo de trabajo hasta
realizan el modelado del sistema a partir del dominio que termine el proyecto.
del problema y la construccin de objetos que se
interrelacionen. Los primeros mtodos que surgieron, Lean Development, desarrollada por Poppendieck &
fueron el Object Modeling Technique (OMT), desa- Poppendieck (2003), introduce un componente que
rrollado por James Rumbaugh; el Objetory, RUP o implementa los cambios, pues stos son considerados
Mtrica 3, entre otros. Las principales caractersticas riesgos y por tal accin se vuelven oportunidades.
de la metodologa orientada a objetos es la reutilizacin
del cdigo. Los objetos diseados y construidos con Crystal Methodologies, realizada por Alistair Cockburn
esta metodologa permiten la computacin distribuida, (2001), se trata de un conjunto de metodologas giles

Copyright 2015 Asociacin Colombiana de Facultades de Ingeniera


Escoger una metodologa para desarrollar software, difcil decisin 103

orientadas al desarrollo de software; su caracterstica Fueron muchas las metodologas investigadas que
principal es que todas las actividades se centran en el sirvieron para que Winner tuviera una base y se
equipo de trabajo, pues de l depender el xito del ideara un aspecto diferenciador.
producto, pero deber invertir sus mejores esfuerzos,
habilidades y destrezas, y regirse por las polticas de
trabajo definidas y repartidas por colores. Tambin Metodologa y fases del proyecto
se tiene en cuenta la disminucin de artefactos
producidos. Los recursos son los que limitan la El proyecto se desarroll utilizando la metodologa
invencin y la comunicacin del equipo. mixta, compuesta por la bsica y la aplicada. Bsica,
porque se parti del marco terico y los antecedentes,
Feature Driven Development, metodologa establecida que sirvieron como punto de apoyo y partida para
por Coad, Lefebvre % De Luca (1999), es un proceso construir Winner. Aplicada, porque parte de lo
iterativo de cinco pasos, cada uno con una duracin encontrado en la investigacin bsica para generar
mxima de dos semanas. Centrada en la fase de diseo el nuevo mtodo, cuyo objetivo principal es lograr
e implementacin del sistema, sus premisas para lograr que se utilice en la industria del software para el
el xito se renen en una lista de caractersticas del desarrollo de sus proyectos y por los estudiantes para
producto final. sus trabajos de clase y de grado.

Dynamic Systems Development Method es un proceso Teniendo la metodologa de investigacin como gua,
iterativo e incremental en el que trabajan juntos se desarrollaron las fases reales de construccin de
equipo y usuario. Consta de cinco fases: estudio de Winner.
viabilidad, estudio del negocio, modelado funcio-
nal, diseo, construccin e implementacin. Existe 1. Fase de reconocimiento: se abord toda la inda-
retroalimentacin entre las fases (Stapleton, 1997; gacin preliminar, se trabaj sobre antecedentes,
Plonkaet al., 2014). marco terico, seleccin de bibliografa, materiales
y autores que tratan las metodologas para desa-
Adaptive Software Development, propuesta por Jim rrollar software.
Highsmith y Orr K (2000), es un mtodo iterativo 2. Fase de revisin: se analizaron todas las metodolo-
que tolera cambios y est centrado en componentes gas encontradas, se clasificaron cronolgicamente,
de software, no tanto en las tareas. La componen tres se separaron las que servan como base para las
fases: especulacin (se inicia el proyecto, se planifican preguntas de las encuestas y de acuerdo con la
las caractersticas del producto), colaboracin (se importancia de las metodologas indagadas se
desarrolla) y aprendizaje (se revisa la calidad y tuvieron o no en cuenta en el proyecto.
se entrega al cliente). Esta ltima etapa es la de 3. Fase de estudio observacional: se trabaj sobre
aprendizaje de los errores y se vuelve a iniciar el el sector objetivo de la industria del software en
ciclo hasta culminar. Bogot para encuestarlo. A la vez se consideraron
los cursos universitarios superiores sobre los que
Extreme Programming (XP), creada por Kent Beck, se aplicaran las encuestas. Se prepararon los
es una metodologa liviana para desarrollar software. instrumentos para aplicarlos.
Se caracteriza porque planifica, analiza y disea en 4. Fase de construccin de la propuesta: de acuerdo
un mismo momento y durante el desarrollo. De esta con los resultados obtenidos en el anlisis de
forma se decide si se va por buen camino, y se evita informacin de las encuestas, se elaboraron los
el retroceso en etapas adelantadas, es decir, se trabaja lineamientos metodolgicos para construir Winner
a partir de prueba y error. El equipo est formado por y se concluy la etapa.
entre dos y doce personas que trabajan en parejas. Es 5. Fase de documentacin: desde el inicio del proyecto
un mtodo simple que desarrolla slo lo que requiere, se construyeron documentos que respaldaran la
permite la retroalimentacin constante, la toma de investigacin, dentro de la cual se describieron
decisiones difciles y remediar los errores tan pronto los pasos que se siguieron para elaborar Winner
como se detectan; existe comunicacin continua y las partes metodolgicas de las que consta.
entre los clientes y el grupo de trabajo (Beck, 2000; 6. Fase de difusin: Winner, como resultado de inves-
Newkirk & Martin, 2001; Wake, 2001). tigacin, se ha presentado en eventos acadmicos

Copyright 2015 Asociacin Colombiana de Facultades de Ingeniera


104 Revista Educacin en Ingeniera Julio a Diciembre de 2015, Vol. 10, N. 20

y se ha aplicado en el desarrollo de proyectos de micro se encuentran desprotegidas o simplemente no


grado. Es uno de los mtodos que se estudian acuden a las casas fabricantes, pues segn opinan los
dentro de la asignatura Ingeniera de Software encuestados es muy costoso, por lo que acuden a los
I y II. Se ha expuesto en encuentros en Madrid, desarrolladores independientes. Slo el 41 % de estas
Espaa, Venezuela, Brasil y Bogot. empresas est cubierto por las casas desarrolladoras
de software.

Resultados y anlisis El portafolio que ofrecen las empresas desarrolladoras de


software encuestadas se caracteriza por ofrecer servicios
Como se mencion, fueron 19 las metodologas para satisfacer necesidades de desarrollo a la medida,
escogidas para analizar en principio. De esas slo se consultoras, mantenimiento de software, gerencia de
seleccionaron nueve. A partir de su estudio se busc proyectos, aseguramiento de la calidad. Los resultados
la justificacin para realizar Winner. Se efectuaron muestran que los dos servicios que ms se requieren son
las encuestas a 50 desarrolladores profesionales de los desarrollos a la medida y las consultoras (55 %),
software en empresas dedicadas a dicha labor, y a mientras que el mantenimiento de software equivale a un
estudiantes de los cursos de los semestres noveno y 15 %, porcentaje realmente alto debido a que se realiza
dcimo de Ingeniera de Sistemas. Se analizaron los software a la medida, lo que incrementa la necesidad
datos recogidos y se establecieron similitudes entre de hacer mantenimiento individual.
los dos tipos de encuestas. Una de ellas fue la falta
de una metodologa sencilla y de fcil uso para los En muchas ocasiones, manifiestan los encuestados,
desarrolladores de proyectos pequeos y medianos, se requieren personas con experiencia en direccin
que no generara tanto estrs como las metodologas de proyectos de software, por lo que acuden a las
giles; que no se tuvieran que seguir tantos pasos casas desarrolladoras para contratar servicios en
secuenciales; que no acarreara numerosa documenta- la gerencia de proyectos (slo el 14 % lo requiere).
cin y reuniones extenuantes cada da, mencionaron Aunque todo proyecto que se emprenda debe contar
algunos desarrolladores, adems del problema que con aseguramiento de la calidad dentro de su diario
se presenta en el grupo de programadores por roces quehacer, las empresas s contratan los servicios en esta
continuos o discrepancias en las apreciaciones sobre lnea, con el objeto de que sus propios desarrolladores o
un mismo tema. el software adquirido no se salga de esta caracterstica
tan importante.
En cuanto al tamao de las empresas en las que se
realiz la encuesta, hubo 10 grandes (20 %), 25 de La actividad de las empresas desarrolladoras de
mediano tamao (50 %) y 15 pequeas (15 %). Lo software est dirigida principalmente al sector de la
anteiror muestra que las grandes empresas generan banca (20 %), que es mucho ms fuerte que los dems.
menos permisos para conocer sus proceso y son Por ejemplo, al sector estatal slo le corresponde el
las que menos se han creado en Bogot, mientras 18 %, a la industria el 16 %, al sector financiero el
que las medianas facilitaron que se conocieran sus 15 %, al de seguros y de salud el 8 % y al educativo
procedimientos para elaborar software y son muchas y de seguridad social el 5 %. Es comprensible que
ms las que existen en la ciudad de Bogot. Un los sectores mejor cubiertos sean los de la banca y
fenmeno curioso es que las empresas pequeas el Estado, pues en ellos se encuentra la mayora de
son las ms numerosas, pero tambin las que tienen empresas de la capital de la Repblica de Colombia.
ms dificultad para ser identificadas y acceder a Por otra parte, los desarrolladores encuestados afir-
sus procesos, debido a que slo trabajan entre tres maron que los problemas presentados al enfrentarse
y cinco desarrolladores en todas las actividades de a un proyecto dependen del tipo de metodologa que
creacin de software. adopten para desarrollar. Si se trata de una tradicional,
deben soportar la gran cantidad de actividades, la
En cuanto a los sectores a los cuales dirigen los elaboracin de una documentacin voluminosa y
servicios las empresas desarrolladoras de software presentar el consecutivo de algunas actividades, por
escogidas para la evaluacin, el 59 % de los esfuerzos lo que se generan tiempos muertos y en ocasiones la
de las casas que hacen software va a las grandes y no interaccin con el usuario, lo que lleva a que si los
medianas empresas, mientras que la pequea y la requerimientos no quedaron plenamente establecidos

Copyright 2015 Asociacin Colombiana de Facultades de Ingeniera


Escoger una metodologa para desarrollar software, difcil decisin 105

desde el comienzo se deba volver atrs, lo que implica que su uso sea sencillo y lo puedan utilizar empresas
ms tiempo y recursos, adems de la prolongada medianas y pequeas, estudiantes o desarrolladores.
etapa de consecucin de requerimientos. Si se trata Algunos criterios convenidos para construirlo fueron:
de una metodologa gil, afirman que la presin que sencillez; de fcil aprendizaje, modificacin y ejecu-
produce la entrega de pequeos adelantos funcionales cin; iteratividad; incrementalidad; cooperatividad;
es muy grande; los roces que surgen en el equipo por adaptabilidad. Adems, como eje transversal se tuvo en
diferencia de criterios, las constantes reuniones que cuenta uno de los factores ms importantes: la calidad.
para algunos son innecesarias, la frecuente interaccin
con los usuarios, que en ocasiones pretenden saber Una de las principales caractersticas de Winner es que
ms que los desarrolladores o, por el contrario, no se basa en tablas, principales artefactos al concluir cada
saben nada, complica la ejecucin del proyecto. una de las etapas. Para que el mtodo sea completo,
se enmarca dentro de la teora general de sistemas,
Mtodo Winner por cuanto debe seguirse un desarrollo ordenado e
integrado y las partes deben interactuar buscando
A partir de las necesidades, problemas y conclusiones siempre el orden de las cosas y objetivos regulados.
encontradas en el numeral anterior, se crea el mtodo
Winner para desarrollar software. Est organizado para A. Etapas de Winner

Figura 1. Etapas de Winner. Fuente: los autores

Las cuatro etapas que conforman Winner (figura 1) En el planteamiento se identifican las funciones
estn enmarcadas en la teora general de sistemas del sistema y su vinculacin a cada uno de los
(TGS), que facilita el estudiarlas y analizarlas sin requerimientos encontrados en la primera etapa;
perder de vista la perspectiva global del proyecto se disean los datos y los flujos de datos, y los
que se est ejecutando, manteniendo durante su objetos; se definen los componentes de hardware
desarrollo el orden, la regularidad y la carencia de y software, y las estructuras de componentes; se
azar en cada paso. hace el diseo arquitectnico y de las interfaces del
sistema; finalmente, se disea la base de datos y la
En la primera etapa, de comprensin y conocimiento, arquitectura de hardware y software.
se trata de conocer a fondo la situacin actual de la
empresa y todo lo que se refiere a infraestructura En la formalizacin, de especial cuidado y vital
de hardware y software, as como el trabajo que para la entrega del proyecto, se desarrollan todos
ejecutan las personas involucradas en el desarrollo los prototipos planeados; se instalan el hardware,
del trabajo, por supuesto las necesidades y problemas el software y la base de datos; se hacen pruebas de
por solucionar. funcionamiento de la arquitectura y se contina con

Copyright 2015 Asociacin Colombiana de Facultades de Ingeniera


106 Revista Educacin en Ingeniera Julio a Diciembre de 2015, Vol. 10, N. 20

las pruebas del software de la mano del usuario o afrontar y abordar diferentes tareas juntos; se pone
cliente, se analizan los requerimientos nuevamente y en marcha el sistema completo; se hacen pruebas
si se requieren ajustes debern realizarse de acuerdo concretas con el usuario; se capacita al personal
con las sugerencias sobre los posibles errores. requerido; se refinan los manuales y los documentos.
Se proporciona dicho material y se da a conocer el
La etapa de complementos es de trabajo colaborativo. plan de mantenimiento que se ejecutar. Finalmente,
En ella los usuarios y el equipo de trabajo deben se entrega a satisfaccin el sistema completo.

Figura 2. Sntesis del mtodo Winner. Fuente: los autores

Se presenta la sntesis del mtodo Winner (figura 2), se presenta son tablas que se van creando a medida
con sus cuatro etapas y cada uno de los procesos, que avanza cada una de las etapas. Las tablas se van
actividades y tareas que componen cada fase. refinando, de tal forma que al terminar cada fase y
luego de factorizarlas, se obtienen slo unas pocas.
Se obtienen, como consecuencia, diversos componen- Las tablas que se obtienen en cada fase se presentan
tes fsicos de informacin, que para el mtodo que a continuacin (cuadros 5, 6, 7 y 8).

Copyright 2015 Asociacin Colombiana de Facultades de Ingeniera


Escoger una metodologa para desarrollar software, difcil decisin 107

Tabla 5. Resultados de la etapa de comprensin y conocimiento.

Nombres de las tablas de resultado


Tabla descripcin de objetivos Tabla tipo de usuario
Tabla de usuarios Tabla de requisitos
Tabla de actividades Tabla objetivos del papel
Tabla objetivo-papel-actividad Tabla descripcin de tareas
Tabla descripcin de recursos Tabla tareas y recursos
Tabla relaciones Tabla resultado fase uno
Tabla papel de usuario Tabla de recursos
Tabla objetivo-actividad Tabla papel-objetivo-actividad-tarea
Tabla actividades y tareas

Tabla 6. Resultados de la etapa de planteamiento.

Nombres de las tablas


Tabla de requerimientos y funcin Tabla tipo de componente
Tabla jerarqua componente Tabla requerimiento y funcin
Tabla tipo componente Tabla jerarqua componente
Tabla de procesos

Tabla 7. Resultados de la etapa de formalizacin.

Nombre de la tabla
Tabla humano-responsabilidad-recurso
Tabla tipo de componente

Tabla 8. Resultados de la etapa de complemento.

Nombres de las tablas


Tabla documentacin Tabla pruebas
Tabla mantenimiento Tabla capacitacin

Luego de tener las tablas en cada fase, se tablas en total que se muestran a continuacin
relacionan y al final del proyecto slo quedan 14 (tabla 9).

Copyright 2015 Asociacin Colombiana de Facultades de Ingeniera


108 Revista Educacin en Ingeniera Julio a Diciembre de 2015, Vol. 10, N. 20

Tabla 9. Tablas finales resultantes.

Etapa Nombre de la tabla


Comprensin, conocimiento Tabla de usuarios
y anlisis Tabla de requisitos
Tabla de recursos
Tabla de resultados fase uno
Tabla de relaciones
Diseo Tabla de requerimientos y funcin
Tabla tipo dcomponente
Tabla jerarqua componente
Tabla de procesos
Ejecucin Tabla humano-responsabilidad-recurso
Complementos Tabla pruebas
Tabla documentacin
Tabla capacitacin
Tabla mantenimiento

Conclusiones el establecimiento de mtricas que permitan probar


su complejidad y eficiencia. Aunque hoy existen
El mtodo Winner se ha probado en el desarrollo numerosas mtricas, es evidente que no se han
de trabajos de grado. Con l se han concluido diez estandarizado y como no hay acuerdo sobre este
proyectos dirigidos al sector industrial, especfica- asunto, se construirn las propias. Este es el siguiente
mente a la venta y reserva de boletas de eventos, y proyecto por realizar.
de servicios (salud, arte, educacin y seguridad).
Winner es un mtodo creado para servir al desarrollo
A los estudiantes que desarrollan proyectos de grado de software de forma sencilla, de tal manera que
con este mtodo se les ofrece asesora permanente y se quienes lo usen podrn, segn su criterio, valerse
les hace seguimiento con el fin de realizar un anlisis o no de un lenguaje de modelado, puesto que las
y determinar el nivel de dificultad en el momento de tablas que se proponen en cada etapa hacen que se
la aplicacin. Tambin han manifestado su agrado comprenda fcilmente, por cuanto las tablas se van
al utilizar el mtodo, pues lo ven sencillo, rpido y relacionando unas con otras hasta obtener una sola,
manejable por medio de las tablas que se crean como sin perder de vista ninguna de las creadas, pues stas
artefactos al finalizar cada etapa; a la vez, expresaron se utilizan en las etapas posteriores.
que no se requieren muchos pasos para lograr el objetivo.
Se est trabajando con algunas empresas desarrolla-
Terminada la aplicacin del mtodo en por lo menos doras de software, en las cuales se implementar el
diez proyectos de grado dirigidos a diversos sectores mtodo para establecer si efectivamente es de ayuda
de la industria y el comercio, ste se validar mediante para las personas que lutilizan y las que crean software.


Referencias

Abrahamsson, P., Salo, O., Ronkainen, J. & Warsta, J. Cans, J.H., Letelier, P. & Penads, M. C. (2012).
(2002). Agile software development methods Metodologas giles en el desarrollo de software.
Review and analysis. VTT Publications. Espaa: Universidad Politcnica de Valencia.
Boehm, Barry. (1988). A Spiral Model for Software Coad, P., Lefebvre E. & De Luca J. (1999). Java Modeling
Development and Enhacement. Computer, 21(5). In Color With UML: Enterprise Components and
Process. Prentice Hall.

Copyright 2015 Asociacin Colombiana de Facultades de Ingeniera


Escoger una metodologa para desarrollar software, difcil decisin 109

Cockbun, A. (2001). Agile Software Development. Addison Plonka, L. et al. (2014). UX Design in Agile: A DSDM
Wesley. Case Study. Agile Processes in
Herrera, U. E. & Valencia, A. L. (2007). Del manifiesto Software Engineering and Extreme Programming. Springer
gil sus valores y principios. Scientia et International Publishing, 1-15.
Technica, 13(34). Universidad Tecnolgica de Pereira. Schwaber, K., Beedle, M. & Martin, R.C. (2001). Agile
Newkirk, J. & Martin, R.C. (2001). Extreme programming Software Development with Scrum. Prentice Hall.
in practice. Addison-Wesley. Stapleton, J. (1997). DSDM. Dynamic Systems Development
Poppendieck, M. & Poppendieck, T. (2003). Lean software Method: the method in practice. Addison-Wesley.
development: an agile toolkit for software develop- Wake, W.C. (2001). (sf). Extreme Programming Explored.
ment managers. Addison Wesley. Addison-Wesley.

Sobre los autores

Lucy Nohemy Medina Velandia Wlmer Mesas Lpez Lpez


Ingeniera de sistemas, especialista en Pedagoga Profesional en ingeniera de sistemas, especialista
y magster en Ingeniera de Sistemas. Profesora en Gerencia de Proyectos de Telecomunicaciones y
de planta de la Fundacin Universitaria Los estudiante de la Maestra en Direccin Estratgica
Libertadores (Colombia). Coordinadora de inves- de Tecnologas de la Informacin. Director del
tigacin del Programa de Ingeniera de Sistemas. Programa de Ingeniera de Sistemas de la Fundacin
Miembro activo del grupo de investigacin Gridntic. Universitaria Los Libertadores. Editor de la revista
Lder del semillero de investigacin Sofa. Coningenio. Miembro del grupo de investigacin
lunome@gmail.com Gridntic. Profesor universitario en la lnea de
Gerencia de Proyectos y Sistemas de Informacin.
wilmesiss@gmail.com

Los puntos de vista expresados en este artculo no reflejan necesariamente la opinin de la


Asociacin Colombiana de Facultades de Ingeniera.

Copyright 2015 Asociacin Colombiana de Facultades de Ingeniera

You might also like