Está en la página 1de 9

Prcticas y herramientas de desarrollo utilizadas en empresas de Cali

Practices and development tools used in the companies of Cali Jaime Alberto Chavarrriaga
Ingeniero de Sistemas, Universidad de San Buenaventura Cali. Coordinador del Laboratorio de Investigaciones para el Desarrollo de la Ingeniera de Software. Universidad de San Buenaventura Cali. jaime@usb.edu.co

Fernando Barraza
Ingeniero de Sistemas, Universidad de San Buenaventura Cali. Investigador del Laboratorio de Investigaciones para el Desarrollo de la Ingeniera de Software. Universidad de San Buenaventura Cali. fbarraza@usb.edu.co

Jimmy Vlez
Ingeniero de Sistemas, Universidad de San Buenaventura Cali. Investigador del Laboratorio de Investigaciones para el Desarrollo de la Ingeniera de Software. Universidad de San Buenaventura Cali. jvelez@usb.edu.co Grupo de Investigacin Laboratorio de investigaciones para el desarrollo de la Ingeniera de Software - LIDIS Universidad de San Buenaventura Cali

Resumen
Este trabajo representa no slo un diagnstico al interior del Parque Tecnolgico, sino tambin una idea aproximada del estado de las nuevas empresas de desarrollo de software de la regin. El estudio realizado a travs de encuestas y entrevistas mostr que la mayor parte de las empresas se encontraban desarrollando aplicaciones que funcionan a travs de la Web, prefiriendo las herramientas de cdigo abierto sobre los productos propietarios. La mayor parte de las empresas eran de menos de cuatro personas, dedicadas primordialmente a la programacin. Muchas de ellas no contaban con procesos definidos de desarrollo de software, herramientas avanzadas de desarrollo, ni esquemas de aseguramiento de calidad.
Palabras Clave: Industria de Software en Colombia, Ingeniera de Software, ParqueSoft, PTUSB

Abstract
This work represents not only a diagnosis of the Technological Park but also an approximate idea of the state of the new software development companies in the region. The study, which used polls and interviews to gather information from the different companies in 2002, showed that most of them were developing business applications that work through the web, preferring open source tools rather than proprietary products. Most of companies were formed by less than four people, basically dedicated to programming. Many of the companies did not count on defined software processes, advanced developmental tools, or quality assurance schemes.
Key W ords: software industry in Colombia, software engineering, ParqueSoft, PTUSB Words:
1. Este artculo hace referencia a un estudio del estado de las prcticas universitarias, realizado en el marco del proyecto de investigacin Desarrollo de una arquitectura flexible de software para la construccin de aplicaciones en diferentes dominios de negocios, utilizando tecnologas de Intranet e Internet con herramientas Opensource, que realiza el grupo de investigacin LIDIS. Fecha de recepcin: Julio de 2004 Aceptado para su publicacin: Septiembre de 2004

Revista cientfica Guillermo de Ockham. Vol. 3, No. 1. Enero-Junio de 2005 ISSN: 1794-192X

83

Chavarriaga Barraza Vlez

Introduccin
Desde principios de 2002, como parte de sus actividades investigativas, el Laboratorio para el Desarrolllo de la Ingeniera de Software (LIDIS) comenz a desarrollar, en conjunto con varias empresas de Parquesoft y el Parque Tecnolgico de la Universidad de San Buenaventura Cali (PTUSB), una serie de proyectos siguiendo el concepto de que las investigaciones en esta rea deben realizarse en empresas de desarrollo de software. Uno de los primeros estudios tuvo que ver con las prcticas y herramientas utilizadas en las empresas de desarrollo de software del PTUSB. Estudio que permiti determinar las principales tecnologas y las reas de trabajo de las empresas, sus nociones sobre arquitectura de software y los temas que podran abordar en el futuro, bajo un proceso de acompaamiento acadmico y mejoramiento continuo. El presente documento muestra un resumen de los resultados del estudio, as como algunas de sus conclusiones. El LIDIS est conformado por un grupo de investigadores, profesores y estudiantes de la Universidad de San Buenaventura que a travs del desarrollo de tcnicas y mtodos disciplinados de software de calidad, buscan potenciar esta industria a nivel regional y nacional. El Parque Tecnolgico de Software de Cali (Parquesoft) es gestor de la red de parques tecnolgicos de software del suroccidente colombiano, que agrupa una gran variedad de empresas dedicadas al desarrollo de software y brinda servicios de acompaamiento y soporte a emprendedores y desarrolladores. En

la actualidad Parquesoft Cali ha establecido un modelo de funcionamiento que ha sido aplicado tambin en Parquesoft Tula y Parquesoft Popayn. El Parque Tecnolgico de la USB tiene como estrategia integrar la academia, el sector privado y el sector pblico, haciendo ms competitiva a la Universidad y disminuyendo la diferencia entre el conocimiento y la transferencia del mismo, para consolidar un proyecto de Universidad innovadora, que contribuya al desarrollo econmico del pas. Asimismo, propende por la generacin de una lite acadmica cualificada en investigacin, desarrollo y tecnologa en la regin, que constituya un polo de desarrollo tecnolgico regional, para lograr altos niveles de competitividad. Para ello dispone de la infraestructura, la logstica y las condiciones adecuadas para que los emprendedores bonaventurianos puedan desarrollar sus proyectos, se incrementen la tasa de empleo de la regin y se afiance la cultura de cambio, innovacin, eficiencia y competitividad, con base en la tecnologa.

Metodologa
El estudio fue diseado con la participacin de un grupo de investigadores e integrantes de varias empresas de Parquesotf y el PTUSB Cali, buscando determinar en estas posibles proyectos de investigacin que promuevan el acompaamiento acadmico y reas que permitan desarrollar actividades de mejoramiento. El instrumento bsico de este trabajo consisti en una encuesta donde se plante la defi-

84

Universidad de San Buenaventura, Cali-Colombia

Prcticas y herramientas de desarrollo utilizadas en empresas...

nicin de unos objetivos temticos a revisar, que consistan en determinar las principales tecnologas y herramientas empleadas por emprendedores y las empresas desarrolladoras de software y conocer la forma como realizan este proceso, los sistemas de infraestructura sobre los cuales se soportan y sus reas menos desarrolladas. La encuesta aplicada a 22 empresas, de un total de 31 existentes, permiti conocer datos bsicos y comentarios detallados sobre los procesos de desarrollo de software y los diseos de arquitectura empleados, entre otros. Una vez recopilada, la infomacin se tabul y fue presentada al grupo de investigadores. En reuniones posteriores se revisaron los datos y se present un informe general de los descubrimientos realizados. A partir de esa fecha se han desarrollado muchas iniciativas por parte de los interesados, tendientes a pofundizar en los temas planteados. En particular, es de resaltar la conformacin y ejecucin de actividades por parte de la empresa GreenSQA, que brinda servicios en aseguramiento y mejoramiento de la calidad.

Cada empresa cuenta, en promedio, con dos personas dedicadas al desarrollo y 2,6 dedicadas al diseo del software. Slo tres de las encuestadas cuentan con ms de tres personas en el rea de desarrollo y/o diseo.
Tipos de aplicaciones a desarrollar

Las empresas se dedican primordialmente al desarrollo de aplicaciones empresariales, en particular productos genricos (en paquetes), que se pueden vender en un mercado determinado. Cuatro de las 22 encuestadas manifestaron desarrollar aplicaciones a la medida, basadas en especificaciones de sus clientes y no enfocadas a construir productos genricos. Otras relacionan sus productos con portales o sistemas web que permiten la publicacin y consulta de informacin empresarial. Un nmero menor de empresas se dedica al desarrollo de software educativo, animaciones por computador o aplicaciones para equipos de mano.
Tipo de aplicaciones Software empresarial Portales web Desarrollo a la medida Otros No. de Porcentaje empresas sobre el total 14 63.6% 4 4 3 18.2% 18.2% 13.6%

El lenguaje de programacin ms utilizado es

Resultados del estudio


Como ya se anot, el instrumento fue aplicado a 22 empresas de Parquesoft y el PTSUB. Las nueve restantes no respondieron debido a que se encontraban en proceso de preincubacin o planeacin. Las otras consultadas estn integradas por un nmero reducido de desarrolladores y diseadores.

PHP , primordialmente por la orientacin web de la mayora de las aplicaciones y por su facilidad de uso, su flexibilidad y la posibilidad de usar (y combinar) programacin estructurada y orientada a objetos. Algunas empresas que desarrollan aplicaciones cliente-servidor o de escritorio, emplean otros lenguajes tales como Delphi, Visual Basico o Visual C++, Java Python.

Revista cientfica Guillermo de Ockham. Vol. 3, No. 1. Enero-Junio de 2004 ISSN: 1794-192X

85

Chavarriaga Barraza Vlez

Es de resaltar el uso del lenguaje Mozart (un lenguaje derivado de Oz) por una de las empresas, y que centra su desarrollo en la aplicacin de tecnologas de programacin declarativa y programacin basada en restricciones.
Lenguaje de desarrollo PHP Flash Visual Basic JavaScript Delphi Java Visual C++ Mozart Python Otros No. de Porcentaje empresas sobre el total 10 5 4 4 3 2 1 1 1 3 45,5% 22,7% 18,2% 18,2% 13,6% 9,1% 4,5% 4,5% 4,5% 13,6%

Motor de bases de datos MySQL PosgreSQL Oracle MS SQL Server MS Access BD propietaria IBM Informix IBM DB2 Interbase (o Firebird) No aplica / No usan BD

Nmero Porcentaje de empresas sobre el total 10 9 7 5 5 4 3 1 1 2 45,4% 40.9% 31,8% 22,7% 22,7% 18,2% 13,6% 4,5% 4,5% 9,1%

Internet Information Server se incluye en los sistemas operativos de Windows (Windows Millenium, NT, 2000 y XP , entre otros). Algunas de las empresas, primordialmente dedicadas al desarrollo de aplicaciones para equipos de mano y software educativo, mencionan no utilizar servidores web en sus aplicaciones.
Servidor web Apache MS Internet Information Server No aplica/No usan servidor web No. de Porcentaje empresas sobre el total 16 5 3 72,7% 22,7% 13,6%

En cuanto a los manejadores de bases de datos, MySQL y PostgreSQL son los ms empleados. Los sistemas de cdigo abierto (opensource) resultan gratuitos a los desarrolladores. Las bases de datos comerciales ms empleados son: Oracle, Microsoft SQL Server y Microsoft Access. Algunos de ellos utilizados por exigencias de los clientes y gracias a los mecanismos de licenciamiento que resultan favorables: Oracle puede conseguirse para propsitos de desarrollo de forma gratuita en el sitio web, SQL Server (la versin para desarrolladores) y Microsoft Access estn incluidos en la popular herramienta de oficina Microsoft Office. El servidor web ms utilizado es el Apache, triplicando el uso de Microsoft Internet Information Server, la otra plataforma preferida por las empresas. Apache est disponible en forma gratuita a travs de la Internet y el Microsoft

El navegador ms utilizado es el Microsoft Internet Explorer, incluido en las ltimos versiones del sistema operativo Windows y que se puede descargar gratuitamente desde la Internet. Otros navegadores de comn uso son Netscape y Mozilla, basados en el mismo cdigo fuente. Sus ltimas versiones se pueden bajar gratuitamente de la web.
Navegador web MS Internet Explorer Netscape Mozilla No aplica/no usan navegador No. de Porcentaje empresas sobre el total 19 10 8 1 86,4% 86,4% 36,4% 4,5%

86

Universidad de San Buenaventura, Cali-Colombia

Prcticas y herramientas de desarrollo utilizadas en empresas...

En cuanto a las herramientas adicionales, la encuesta permiti determinar las aplicaciones empleadas por las organizaciones para optimizar algunas de sus tareas de desarrollo. En general, se tena la apreciacin de que las empresas slo utilizaban herramientas bsicas de edicin y compilacin. El uso de herramientas de depuracin en la mayora de las empresas es casi nulo. Esto se debe a que, normalmente, no usan entornos integrados de desarrollo, por ejemplo, para los lenguajes PHP , Phyton y JavaScript, a pesar de la existencia de ellos.
Uso de depurador Si No No aplica No. de Porcentaje empresas sobre el total 6 12 4 27,3% 54,5% 18,2%

Uso de herramientas de instalacin Install Shield o similar Instalador propio No usan / se instala manualmente

No. de Porcentaje empresas sobre el total 1 5 12 4,5% 22,7% 54,5%

La administracin de cdigos fuente y control de versiones no es muy frecuente entre las encuestadas, slo unas pocas empresas manifestaron usar herramientas de Microsoft SourceSafe y la CVS, disponible en la Internet, o contar con con un estndar para la realizacin de estas actividades. Un significativo nmero de desarrolladores manifiesta utilizar un mecanismo organizador de directorios y archivos estndar, que posibilita mantener versiones del producto y lograr un control sobre el uso de los desarrolladores sobre los archivos a su cargo.
Uso de herramientas para control versiones Si No Uso de estndar No aplica No. de Porcentaje empresas sobre el total 3 11 5 4 13,6% 50,0% 22,7% 18,2%

Con respecto a las herramientas automticas de documentacin, estas no constituyen una necesidad para la mayora de empresas.
Uso de herramientas de documentacin Si No No aplica No. de Porcentaje empresas sobre el total 5 13 4 22,7% 59,1% 18,2%

Para la generacin de reportes, la mayora de las empresas emplea programas propios. Esto se debe a que muchas de las aplicaciones estn diseadas para funcionar sobre la web.
Uso de herramientas para la generacin de reportes Un programa de un tercero Un programa propio No aplica / No responde 4 13 5 18,2% 59,1% 22,7% No. de Porcentaje empresas sobre el total

Sobre el proceso de montaje de los productos y las herramientas utilizadas, los emprendedores generalmente los instalan sin mayores contratiempos. Slo un reducido nmero de empresas emplea un programa instalador, ya sea propio (primordialmente desarrollado en Delphi) o de un tercero como la conocida herramienta InstallShield, incluida en los productos de Microsoft. El producto es InnopSetup, cuyo cdigo fuente permite la creacin de programas instaladores en Windows.

Los formatos empleados para la generacin de reportes, generalmente son visualizados en la pantalla y/o usando HTML. El uso de

Revista cientfica Guillermo de Ockham. Vol. 3, No. 1. Enero-Junio de 2004 ISSN: 1794-192X

87

Chavarriaga Barraza Vlez

formatos, como PDF o XML es muchsimo menor.


Visualizacin de reportes En pantalla En papel Archivos HTML Archivos PDF Archivos XML No aplica No. de Porcentaje empresas sobre el total 9 2 10 2 2 4 40,9% 9,1% 45,5% 9,1% 9,1% 18,2%

definicin de arquitectura a emplear con las aplicaciones. Sin embargo, al revisar en la prctica estos esfuerzos, se observa que esto ha resultado complicado para algunas de las compaas y muchas de ellas apenas estn comenzando en el proceso de organizar mejor sus aplicaciones a nivel interno.
Definicin de una arquitectura de software S No No aplica / No responde No. de empresas 8 8 6 Porcentaje sobre el total 36,4% 36,4% 27,3%

Las empresas tambin fueron indagadas sobre sus prcticas de desarrollo de software y la formalidad con que las realizan. Sobre ello manifestaron ejecutar varias fases donde incluyen actividades de codificacin, requerimientos, anlisis, diseo e implementacin del software. Algunas fases, como las de prueba, documentacin y mantenimiento, son desarrolladas por personal externo, bajo la modalidad de subcontratacin.
Fases del ciclo de vida del desarrollo formalizadas Requerimientos Anlisis Diseo Construccin Pruebas Implementacin Mantenimiento Documentacin No aplica No. de Porcentaje empresas sobre el total 12 10 10 13 8 12 5 7 7 54,5% 45,5% 45,5% 59,1% 36,4% 54,5% 22,7% 31,8% 31,8%

Para ello se plantea un esquema basado en niveles, con una clara divisin entre la lgica de presentacin, la lgica de dominio (o lgica de negocio) y los mecanismos de acceso a la base de datos. En cuanto a la interfaz del usuario, la mayora manifest construirla usando templates (plantillas) y programas que visualizan formas, sin mezclar lgica de presentacin con lgica de dominio (lgica de negocio).
Construccin de la interfaz de usuario Uso de templates Programas de visualizacin de formas Mezcla de lgica y presentacin No aplica / Otras tcnicas No. de Porcentaje empresas sobre el total 9 40,9%

8 4 4

36,4% 18,2% 18,2%

Sobre la arquitectura de software empleada, un 50% de las empresas encuestadas manifest usar esta tecnologa y el otro 50% no la utiliza. Los directivos del parque, en conjunto con algunos emprendedores, han establecido una

En la construccin de la lgica de dominio, para encapsular la lgica de negocio, prima el desarrollado por mdulos con un 54.5% (casi siempre libreras de funciones, al estilo de lenguajes 3GL). Un 27.3% de empresas de empresas manifest usar restricciones

88

Universidad de San Buenaventura, Cali-Colombia

Prcticas y herramientas de desarrollo utilizadas en empresas...

(constraints) implementadas directamente en los sistemas manejadores de bases de datos. A decir de estos desarrolladores, el sistema de mdulos es una excelente opcin, ya que permite lograr mejoras de rendimiento y organizacin. Sin embargo, este slo puede emplearse en sistemas que lo soportan, por ejemplo PostgreSQL, Interbase, SQL Server, DB2, Informix y Oracle. MySQL y Access no permiten este tipo de programacin. Y slo un 4% mezcla la lgica de presentacin y la lgica de negocio en sus aplicaciones. El uso de tecnologas como Visual Basic, se ve favorecido por el entrenamiento de las empresas productoras de estas herramientas.
Construccin de la lgica de dominio / lgica de negocio Mdulos separados Uso de constraints Mezcla de lgica y presentacin No aplica / Otras tcnicas

rrolladas por las mismas empresas. Slo unas pocas utilizan esquemas de autenticacin empresarial como Single Log-On y LDAP .
Esquema de seguridad Uso de bases de datos Esquemas de Single Log-on LDAP No aplica No responde Porcentaje No. de empresas sobre el total 9 2 1 5 5 40,9% 9,1% 4,5% 22,7% 22,7%

Los esquemas basados en la definicin de roles y grupos son las formas ms utilizadas para la seguridad de las aplicaciones (59.1%) a los cuales se les asignan los usuarios. En menor medida se utilizan niveles de acceso, donde los superiores incluyen a los inferiores

No. de Porcentaje empresas sobre el total 12 6 4 4 54,5% 27,3% 18,2% 18,2%

y a los cuales se asocian los usuarios, o no se aplican esquemas de seguridad a las aplicaciones.
Definicin del esquema de seguridad Roles y grupos de usuarios Niveles de acceso No aplica No. de Porcentaje empresas sobre el total 13 6 3 59,1% 27,3% 22,7%

Sobre el manejo de registros de auditora, la mayora de empresas manifest tener aplicaciones propias que almacenan informacin en la base de datos para su posterior consulta. Unas pocas usan archivos planos para manejar informacin.
Esquema de registros (logs) de Auditora Almacenamiento en BD Uso de archivos planos No aplica No. de Porcentaje empresas sobre el total 12 6 6 54,5% 27,3% 27,3%

Con respecto a los mecanismos que posibilitan la integracin de productos de diferentes empresas, la mayora expres no utilizarlos. Sin embargo, algunas manifestaron integrarse a aplicaciones de terceros (primordialmente software de los clientes) usando mecanismos tradicionales como manipulacin de archivos y acceso a las bases de datos. Muy pocas empresas usan funciones API de terceros para esta labor. Ninguna de las empresas indic usar algn mecanismo basado en servicios web.

Los esquemas de seguridad empleados, en general, obedecen a aplicaciones desa-

Revista cientfica Guillermo de Ockham. Vol. 3, No. 1. Enero-Junio de 2004 ISSN: 1794-192X

89

Chavarriaga Barraza Vlez

Integracin con otros productos Servicios Web (SOAP o XML-RPC) Invocacin del API de terceros Integracin usando otros mecanismos No aplica

No. de Porcentaje empresas sobre el total 0 0,0%

La tendencia por generalizar una definicin de la arquitectura de sus aplicaciones, la organizacin de la lgica de negocio en capas organizadas, la realizacin de actividades tendientes al levantamiento de requerimientos y el diseo de software, entre otros, son un claro indicio de este trabajo permanente. Lo anterior no es un proceso fcil desde el punto de vista econmico si se tiene en cuenta que por ser empresas en proceso de gestacin, su principal prioridad es la de consolidar los productos de software en un nicho de mercado (clientes) especfico, antes de pensar en iniciar nuevos proyectos y reconstruir la aplicacin para una nueva versin. La principal ventaja es que por ser empresas pequeas, su capacidad para adoptar nuevas tecnologas es alta, unido esto a su reconocido talento humano, apalancado por el modelo empresarial de ParqueSoft. Tambin es importante tener en cuenta que la productividad de las empresas depende necesariamente de la combinacin de varios factores entre los que se encuentran el uso de estndares para cada uno de los procesos en el ciclo de desarrollo del software. Resulta curioso que solo una tercera parte de las empresas que participaron en la encuesta utilicen mtodos para disear la arquitectura del software. Siendo este un elemento fundamental para la integracin de las soluciones que ofrece Parquesoft y el PTUSB. Los nuevos proyectos de emprendimiento que se inician en el PTUSB deben tener en cuenta que la generacin de nuevas soluciones para el mercado no necesariamente deben ser aisladas, con componentes de seguridad, inter-

9,0%

7 11

31,8% 50%

Conclusiones
Al momento de aplicarse la encuesta, las empresas evaluadas, posesionadas en el parque, dedicadas al desarrollo de productos especializados y trabajando sobre nichos y reas de mercado muy especficos, contaban con una infrestructura operativa muy pequea. Aunque muchas de las compaas tienen una marcada tendencia hacia la utilizacin de herramientas libres y de cdigo fuente abierto (opensource), tales como Linux, MySQL y PostgreSQL, normalmente no cuentan con un conjunto de componentes comunes, reutilizables en diferentes organizaciones. Como un efecto adicional de esta dispersin, al momento de la encuesta no se haban logrado acuerdos sustanciales sobre las arquitecturas, herramientas y procesos que podran usarse en las compaas, ni tampoco mecanismos para realizar procesos de integracin de las aplicaciones y sistemas de las mismas. Sin embargo, tambin se pudo constatar el trabajo que muchas de las empresas han estado emprendiendo para su mejoramiento y la consolidacin de productos de alta calidad.

90

Universidad de San Buenaventura, Cali-Colombia

Prcticas y herramientas de desarrollo utilizadas en empresas...

conexin, interfaces y, en general, con mecanismos de integracin propietarios. Podemos, entonces, vaticinar que con los proyectos especficos actuales dirigidos a crear cultura de ingeniera de software y al desarrollo mismo que dicta el mercado, las nuevas versiones de las aplicaciones del PTUSB y Parquesoft tendrn una mayor robustez y versatilidad. Lo anterior no significa que actualmente sea deficiente; significa que cuando se requiere movilidad en el mercado de soft-

ware, es mucho ms barato tener estndares tecnolgicos aprendidos y apropiados.

Bibliografa
PARQUESOFT. Que es ParqueSoft?. En Internet: http://www.parquesoft.com THE APACHE SOFTWARE FOUNDATION. The Apache httpd Server. En Internet: http://httpd.apache.org THE PHP GROUP . PHP . En Internet: http://www.php.net MOZART CONSORTIUM. The Mozart Programing System. En Internet: http://www.mozart-oz.org. Febrero 2003.

Revista cientfica Guillermo de Ockham. Vol. 3, No. 1. Enero-Junio de 2004 ISSN: 1794-192X

91

También podría gustarte