1 CAPITULO I ASPECTOS GENERALES DE LAS MICRO Y PEQUEÑAS EMPRESAS DESARROLLADORAS DE SOFTWARE 1. ANTECEDENTES A partir de 1950 el avance científico y tecnológIco mundial ha transformado de manera sorprendente y hasta radical las tecnologlas clásicas convencionales. En la actualidad hay continuos oleajes de cambios técnicos, los mercados son renovados periódicamente por nuevos bienes y servicios de elevado contenido tecnológico, habiéndose achicado significativamente la duración del ciclo inventivo: ciencia y tecnología y sus materializaciones prácticas en bienes y serviclos. La industria de desarrollo de software está integrada por aquellas empresas que producen paquetes de software (software genérico) o sistemas de aplicación "hechos a la medida" (software específico) para otras compañías o brindan servicios de asesoría para el desarrollo de software en otras empresas . Se excluye de esta industria a aquellas empresas que comercializan software importado o que brindan asesoría para este tipo de software. Un buen número de empresas iniciaron operaciones en las dos últimas décadas y sus tasas de crecimiento han sido altas en los últimos años, esperándose que la tendencia de crecimiento continúe en el mediano plazo (3 años). El hecho de ser empresas jóvenes y en general de un tamaño reducido, puede explicar en parte los altos porcentajes de aumento en ventas, ya que la base histórica es relativamente baja. De todas formas, se trata de un sector con alta movilidad, donde las empresas de menor tamaño pueden pasar a estratos de tamaño mayor sin aparentes barreras Infranqueables como en otras industrias. 2 1.1 La Industria de Desarrollo de Software Las tecnologlas de información y comunicación (TIC) han producido el desarrollo de un sector económico importante el cual agrupa los siguientes tipos de empresas : 1) Empresas que manufacturan productos relacionados con computadores, telecomunicaciones e instrumentos, 2) Empresas que producen software y/o 3) Empresas que proveen servicios relacionados con la venta y uso de estos productos. 1.2 Características Generales de la Industria del Software Para definir las características generales de la industria de desarrollo de software se formularon las siguientes variables básicas: a) Tamaño de la empresa b) Antigüedad de la empresa c) Tipo de productos o servicios que ofrece d) Mercados meta: geográfico y por tipo de aplicación e) Proporción de ocupaciones relacionadas directamente con el desarrollo de software con respecto al total de fuerza laboral de la empresa f) Estructura formal g) Uso de prácticas y métodos para el desarrollo de software 2. SITUACiÓN ACTUAL En El Salvador, el sector de la Tecnologla de Información (productores, proveedores, distribuidores) participan proactivamente en un desarrollo nacional sostenible, basado en la equidad de acceso y oportunidades, ocupando un importante lugar en la agenda nacional. El nivel de competitividad internacional alcanzado en la industria de la Tecnologla de Información , apoyado por un sistema de planes y programas educativos a nivel profesional y a nivel técnico, es 3 comparable positivamente a otras naciones. El Salvador es un líder regional en la producción y comercialización de los diferentes productos y servicios relacionados con la informática y a través de este sector impulsa el desarrollo económico, social y cultural. También cuenta con una infraestructura de tecnoloqta de información que posibilita la interconectividad transparente a nivel nacional e internacional, abierta y escalable, con tecnología de punta basada en estándares internacionales, brindando un servicio eficiente, confiable y accesible a todos los sectores de la sociedad. El desarrollo cientifico y tecnológico es un proceso dinámico que permite un uso más efectivo y eficiente de los recursos naturales, humanos y de capital de una sociedad. Esto lo implica como factor clave para el desarrollo económico y social y en consecuencia como elemento determinante para la generación de mejores oportunidades de empleo y para la reducción gradual de la pobreza. En el contexto económico actual, tal desarrollo es indispensable para que los bienes producidos por un país, compitan en mercados internacionales con base en su precio y calidad. En este contexto, es que la incorporación de El Salvador al campo científico y tecnológico que contribuya a la consecución de un bienestar digno , en el marco de un proceso de desarrollo sustentable teniendo en cuenta las necesidades prioritarias del país, y para que sea efectiva debe ser ejecutada dentro de un marco más amplio , que considere la estrecha interrelación entre tecnologla y sociedad . 3. ESTRUCTURA ORGANIZATIVA La organización formal de las empresas desarrolladoras de software está estrechamente ligada al tamaño de las mismas. Casi la totalidad de las micro y pequeñas empresas están estructuradas. La falta de una estructura formal es tlplca 4 de la mlcroempresa, en que solo un tercio de ellas está formalizada . En el esquema 1.1 Se presenta la estructura de organizativa tradicional de las empresas desarrolladoras de Software. Gerente Informática I Anulistas tic Sistemas I I Desarroüadcree I I Especialistas en Soporte Técnico. Especialistas en Mercadeo y Venta de Software I I Prog ramad ores A d ml tut.lraJo J( l'I de Pro yectos para ao ucaciones de Internet Esquema 1.1 Estructura Organlzatlva Tradicional de las Micro y Pequetlas Empresas Desarrolladoras de Software Gerente de Informática: Es el responsable del departamento de informática, organiza las instalaciones, los requerimientos físicos del equipo de computo y elemento a fines y el personal de apoyo. Actúa como asesor de la organización en el procesamiento de datos y computo electrónico. Analista de Sistemas: Es la ocupación más importante para las empresas de desarrollo de software. Debido al gran número de Analistas de Sistemas que también realizan funciones de programación, el perfil de esta ocupación debería ser el de Analista/Programador. La ocupación incluye también funciones de aseguramiento y control de calidad y de documentación . Algunos Analistas de Sistemas también llevan a cabo funciones propias de Especialistas en Bases de Datos, Telecomunicaciones, Seguridad, etc. Esta ocupación es la más multifuncional de todas las consideradas. 5 Requiere como mínimo de un grado de Bachillerato. El grado de Licenciatura también se considera importante para esta ocupación. Programadores: Puede decirse que es la segunda ocupación más importante junto con la de Administradores de Proyectos. Incluye funciones de documentación , aseguramiento y control de la calidad y de apoyo técnico. El grado de Bachillerato universitario es el más frecuentemente citado para esta ocupación. Otros niveles de educación sugeridos son el Diplomado (empresas pequeñas) y la Licenciatura (rnlcroempresas ). Esta ocupación tiene como una función primordial adicional el aseguramiento y control de la calidad. Incluye también funciones propias de los Analistas de Sistemas. Desarrolladores de Aplicaciones para Internet Su importancia se debe al crecimiento de la red de cómputo Internet y el desarrollo de aplicaciones para la misma, tales como el comercio electrónico. Incluye funciones propias de Analistas de Sistemas y de Programadores. Además contempla funciones de documentación, aseguramiento de calidad y apoyo técnico. Requiere un Bachillerato en computación o similar. Especialistas en Apoyo Técnico: Algunos empleados en esta ocupación llevan a cabo funciones propias de las ocupaciones de Especialistas en Adaptación/Adopción de Software Genérico y de Especialistas en Bases de Datos, Telecomunicaciones, Seguridad, etc. Requiere un Bachillerato aunque en las empresas pequeñas también se sugiere el grado de Técnico . Especialistas en Mercadeo y Venta de Software: Requiere de un grado de Licenciatura en empresas grandes y medianas y de Bachillerato en empresas pequeñas y microempresas. Necesita una combinación de administración de negocios con conocimientos técnicos. 6 4. CRITERIO DE CLASIFICACiÓN DE LAS EMPRESAS DESARROLLADORAS DE SOFTWRE Las empresas o fábrica de software son aquellas orientadas a la creación de un producto software, que planifica las distintas tareas a realizar de forma coordinada y secuencial con el objeto de conseguir el producto en plazo, coste y calidad adecuado. Claramente , es una organización orientada a la especialización de funciones . 4.1 Objetivo de una Fábrica de Software Como se ha comentado anteriormente, el objetivo de una Fábrica de Software es conseguir realizar un producto en plazo, coste y calidad adecuado mediante la organización y especialización de funciones. 4.2 Clasificación de las Organizaciones 4.2.1 Organizaciones orientadas a la realización de aplicaciones Una de las señas de identidad de una fábrica de software es la eficiencia; esto se consigue por la optimización de las tareas en el desarrollo de software y por la economía de escala (repetir varias veces lo mismo). Algunas organizaciones, en cambio, se orientan al desarrollo de aplicaciones . entendiendo por aplicacfón el desarrollo de una solución software orientada a {as necesidades particulares de un cliente concreto. En contraposición las Fábricas de Software se orientan a la realización de productos, es decir, soluciones de software genéricas orientadas a las necesidades generales de un sector o negocio. En este grupo podemos incluir a fa mayorla de las empresas de desarrollo de software de gestión: suelen orientarse a la disposición de un conocimiento funcional de un sector determinado (su target de mercado de abordar, en sus oficinas o en 7 casa del cliente (normalmente, en este segundo caso). el desarrollo de una solución software para el problema planteado. Algunas de ellas terminan orientándose al desarrollo en modo fábrica de software: este hecho suele producirse cuando alcanzan un volumen suficiente de negocio con una misma aplicación, que conlleva la dedicación continua a un sector o segmento, y que les permite terminar generando un producto software de uso más genérico. Es declr, recorren el camino entre el desarrollo de una aplicación hasta el desarrollo de un producto. Y este hecho condiciona la calidad del resultado. Existe variedad de clasificación de software, pero por cuestiones académicas se ha dividido en: a) Según la Función: Esta clasificación para nuestro tema es solamente ilustrativa, dentro de este bloque encontramos. a.1) Software de Base: Son los que controlan el funcionamiento intemo del ordenador, periféricos que sirva para el correcto funcionamiento de otros programas dentro de ellos se pueden destacar, software de memoria (Memmaker), sistemas operativos (DOS 6.00) lenguaje de programación (Basie), son los que están inmerso en el ordenador. a.2) Software Aplicativos: Son programas de montos o funciones especlficos, que el usuario, adquiere de acuerdo a sus necesidades; entre las cuales podemos mencionar: Hojas de cálculo (Quattro Pro), Procesadora de Textos (Word Perfect), Base de datos (Dbase), Diseño Gráfico (Carel Draw). b) Segun el uso o estandarización.· Existen 3 sub divisiones que son considerada software aplicativos debido a que ellos son requeridas atendiendo la necesidad del usuario, y que a mencionar son: b.1) El software aplicativo: También llamado package, estos programa están dirigidos al mercado en general, lo cual a originado el origen de empresas 8 creadoras de software, entre estas tenemos las hojas de calculo, bases de datos, o conjuntos de programas en grupo. b.2) El software a medida: También denominada (Custom mode), son los creados por empresas para sus propias actividades, también son susceptibles de modificación. b.3) El software de acuerdo al cliente: Se les denomIna (customized) , son programas estándar, modificado de acuerdo a la necesidad de un usuario en particular. 4.2.2 Organizaciones orientadas a la Consultoría Este es el tipo de organización más común en el negocio del software. Parten de equipos con conocimientos funcionales sobre un sector o negocio e intentan la prestación de unos servicios profesionales que van más allá del desarrollo de una aplicación. Nótese que aquí se habla de aplicaciones. dado que el objetivo es la resolución de un problema concreto en una organización concreta. Cuando son organizaciones con un modelo de negocio más purista (y menos implantado en la realidad), sólo se responsabilizan de la función consultora, sin entrar en la implantación de productos concretos ni en el desarrollo de soluciones a medida . La realidad es que esta parte del negocio es escasa y solamente posible en muy pocas organizaciones muy consolidadas y con un fuerte reconocimiento en el sector. 5. ENTIDADES REGULADORAS En materia de regulación de las empresas desarrolladoras de software en el pals podemos mencionar a las siguientes instituciones: a) El Consejo Nacional de Ciencia y Tecnología (CONACYT): Es una institución Derecho Público sin fines de lucro, de carácter autónomo descentralizado, que es 9 la autoridad superior en materia de polltica cientltlca y tecnológica, de conformidad a la ley de la materia. El Consejo Nacional de Ciencia y Tecnoloqla tiene una ley de constitución que los convierte en la autoridad superior en este pals en el área de Ciencia y Tecnologla, su trabajo es formular la polltica nacional, dirigir esa polltica y sobre todo orientar a un desarrollo sostenido. económico y social. b) El Comité Nacional de Informática de El Salvador (CNI): Instituido por el Consejo Nacional de Ciencia y Tecnología en 1996, tiene como uno de sus objetivos principales, proponer y elaborar propuestas de política en materia de informática en el pais . Para ello, el CNI cuenta con la representación y participación de veintiocho entidades provenientes de los sectores público, privado , académico y profesional! no gubernamental del país. A esta representación se adhiere el apoyo del CONACYT, que desempeña el papel de Secretaria Permanente del CN!. A partir del trabajo conjunto de este grupo de Instituciones, y su validación por otras entidades, se ha formulado la Política Nacional de Informática, con la .,---. finalidad de que sirva de horizonte estratégico para el país en el área y sector de la Tecnología de Información, conocida también como Informática. La Política Nacional de Informática está planteada en torno a seis ejes principales: 1. Manejo y administración de la información 2. Educación y formación de recursos humanos 3. Aplicaciones informáticas 4. Infraestructura, interconectividad y redes de datos 5. Industria informática nacional 10 6. Posicionamiento del sector de la tecnologia de información en el desarrollo económico y social del país Para cada uno de estos ejes principales, se ha formulado una Visión de cómo se concibe El Salvador en el futuro, así como una serie de Objetivos y Líneas de Acción concretas para cada objetivo. Al servir como gura estratégica, se busca que la Polltica Nacional de Informática oriente, estimule, valide, acompañe y refuerce la realización de esfuerzos y proyectos concretos por parte de individuos, empresas, instituciones y entidades, tanto hacia el interior da sí mismas como con una clara proyección ya/canee nacionales. La Polftica Nacional da Informática debe convertirse, pues, en el referente estratégico, táctico y operativo que, en materia de tecnología de información, avale las iniciativas y las acciones de funcionarios, empresarios, profesionales, técnicos y población en general. 6. ASPECTOS LEGALES 6.1 Contratos Informáticos Contrato informático es todo acuerdo en virtud del cual se crean, conservan, modifican o extinguen obligaciones relativas al tratamiento automatizado de la información , 1 En nuestro país la falta de reglamentación de los contratos por adhesión ha llevado a la doctrina y a la jurisprudencia a trabajar profundamente para delimitar, 1 Osvaldo J. Marzorali , Dorecho de Los Negocios lnternaclonales, PlIg.165 11 conceptuar, y determinar los elementos tipificantes que caracterizan tal contrato. Lo mismo se ha hecho con respecto a sus cláusulas. Los contratos informáticos se destacan esencialmente por el ámbito de aplicación. Es decir que el tratamiento diferente de estos contratos no se debe a su especificidad, o a su particular estipulación, sino a su ámbito de aplicación como se mencionan a continuación: a) Venta de Software: La venta o mas propiamente dicho la sesión de derechos con respecto al software implica transferir los derechos de propiedad del proveedor. Esta modalidad no es frecuente en las contrataciones de los llamados paquetes de software pero es normal en los contratos para el desarrollo de software a medida, en virtud de los cuales el cliente se convierte en el propietario de los programas desarrollados. b) Licencia de Software. Este tipo contractual es el acuerdo mas utilizado particularmente para los paquetes de software, esta modalidad se basa en que el derecho de propiedad es retenido por el proveedor mientras autoriza su uso. 6.1.1 Disposiciones de los Contratos Informáticos Se debe decir que el estudio sobre capsulas contractuales se centra en los acuerdos de licencia ya que en la mayoría predominante de los acuerdos de software sobre todo en el caso de paquetes de software y en el que éste es adaptado al cliente y se ajusta a esta categorla contractual. Además de los proveedores y usuarios, en la negociación del contrato pueden aparecer distribuidores, productores de equipos originales. entidades prestadoras de servicios y consultores de informática, entre otros. A continuación se presentan las dIsposiciones más importantes del contrato informático: 12 a) Objeto, Definición y Especificación La definición constituye un punto fundamental en la negociación de este tipo de contrato . La distinta situación en que se encuentran las partes en cuanto a sus derechos y obligaciones se manifiesta en la carta de acceso al código fuente por parte del cliente, en la no inclusión de especificaciones adecuadas y aún un documentación incompleta. a.1) Acceso al código fuente: Las consecuencias de no acceso varían según el tipo de software contratado. En los paquetes de software el cliente recibe solo el código objeto (programa legible para la máquina). Este no acceso perjudica al usuario de dos maneras debe de depender del proveedor para el mantenimiento del software as! como para su modificación y perfeccionamiento o adaptación del software adquirido; si el proveedor no sigue con sus operaciones el usuario queda en una débil posición. Para mitigar estos prejuicios se redactan los acuerdos de garantia: Una copia del código fuente queda en manos de un tercero (el depositario) a costa del proveedor con la obligación de entregarla en determinadas circunstancias. En el software a medida la provisión del código fuente es una obligación esencial del proveedor en estos casos el desarrollo a sido financiado por el cliente y por lo general será de su propiedad. 8.2) Especificaciones : El no incluir las especificaciones debidas en el contrato es una de las mayores causas de dIsputa por ello debe incorporarse documentos que describan las funciones cumplidas por el software dentro de un determinado procesamiento de datos e impongan las reglas básicas para poner a prueba el rendimiento del software . En los paquetes de software las especificaciones existen en el momento de 13 la firma del contrato. En el caso de los software a la medida por lo general no están las especificaciones disponibles al momento de la firma del contrato. Las especificaciones deberían incluir: i. Descripción funcional del software ii. Descripción del marco del equipo en la que el software debe operar. iii. Descripción del marco del software dentro del cual el programa debe residir. ív. Informes concernientes al rendimiento del sortware. v. Normas de programación y documentación . Es frecuente que el proveedor prepare las especificaciones y presione al cliente para que las acepte aun sin haber discutido sobre ellas. b) Titularidad del Software Las cláusulas comúnmente relacionadas con la titularidad del software están ligadas a los requisitos de confidencialidad y tratan de combinar la protección de la propiedad intelectual con la del secreto comercial. Es común la afirmación del proveedor de que el software esta protegido por un copyright o por las normas antes mencionadas pero debería dejarlo asentado claramente en el contrato Las cláusulas de propiedad abarcan el software y a los materiales que la incorporan o conforman asl como su documentación de apoyo. Es común ver en contratos preimpresos cláusulas según las cuales todas las copias del programa pertenecen al proveedor y deben de ser devueltas o destruidas en el momento de la terminación del contrato. 14 e) Protección jurídica del programa de computación La doctrina moderna es pacifica en cuanto a aceptar la protección jurldica del software lo que si se discute y donde se centra el debate es en determinar cuál es la vla correcta de protección. Hay dos posiciones contrapuestas no incluir el programa de computación en el área del derecho de autor y sí encuadrarlo en una ley autora. Es necesario entender que no todo programa es mera lógica a tal punto que si enfrentáramos a distintos programadores ante un mismo problema de resolución única, cada uno de ellos llegaría por diferentes caminos a resolverlos. Entonces podríamos concluir que la originalidad no se manifiesta en el contenido, sino en la forma de expresarlo.