Source: http://docplayer.es/10081081-Estudio-de-las-practicas-de-calidad-del-software-implementadas-en-las-mipymes-desarrolladoras-de-software-de-pereira.html
Timestamp: 2018-02-19 16:49:16+00:00

Document:
ESTUDIO DE LAS PRÁCTICAS DE CALIDAD DEL SOFTWARE IMPLEMENTADAS EN LAS MIPYMES DESARROLLADORAS DE SOFTWARE DE PEREIRA - PDF
Download "ESTUDIO DE LAS PRÁCTICAS DE CALIDAD DEL SOFTWARE IMPLEMENTADAS EN LAS MIPYMES DESARROLLADORAS DE SOFTWARE DE PEREIRA"
Joaquín Parra Vidal
1 ESTUDIO DE LAS PRÁCTICAS DE CALIDAD DEL SOFTWARE IMPLEMENTADAS EN LAS MIPYMES DESARROLLADORAS DE SOFTWARE DE PEREIRA PAOLA ANDREA RAMÍREZ AGUIRRE CAROLINA RAMÍREZ ARIAS UNIVERSIDAD TECNOLÓGICA DE PEREIRA FACULTAD DE INGENIERÍAS: ELÉCTRICA, ELECTRÓNICA, FÍSICA Y CIENCIAS DE LA COMPUTACIÓN INGENIERIA DE SISTEMAS Y COMPUTACIÓN PEREIRA 2010
2 ESTUDIO DE LAS PRÁCTICAS DE CALIDAD DEL SOFTWARE IMPLEMENTADAS EN LAS MIPYMES DESARROLLADORAS DE SOFTWARE DE PEREIRA PAOLA ANDREA RAMÍREZ AGUIRRE CAROLINA RAMÍREZ ARIAS Trabajo de grado Directora del proyecto: LUZ ESTELA VALENCIA AYALA Ingeniera Industrial UNIVERSIDAD TECNOLÓGICA DE PEREIRA FACULTAD DE INGENIERÍAS: ELÉCTRICA, ELECTRÓNICA, FÍSICA Y CIENCIAS DE LA COMPUTACIÓN INGENIERÍA DE SISTEMAS Y COMPUTACIÓN PEREIRA
3 AGRADECIMIENTOS Antes que todo, queremos agradecerle a Dios por darnos las fuerzas necesarias en los momentos en los que más lo necesitamos y por bendecirnos con la posibilidad de culminar esta etapa de nuestras vidas. Agradecemos también a nuestros padres, por habernos dado la oportunidad de llegar a este momento, por estar siempre ahí y por brindarnos su cariño y apoyo en todo momento. No podemos dejar de agradecer a la Ingeniera Luz Estela Valencia, nuestra directora del proyecto, por su paciencia y dedicación para ayudarnos a culminar nuestra carrera profesional. Por último agradecemos a nuestros amigos, Lizeth Vanessa Rozo, Ana María Ramirez, Hector Fabio Saenz, Victor Edier Urrea, Mauricio Ferro y Oscar Arias porque estuvieron con nosotros a lo largo de toda la carrera y fueron nuestra segunda familia en la Universidad. 3
4 CONTENIDO INTRODUCCIÓN DEFINICION DEL PROBLEMA JUSTIFICACION OBJETIVOS OBJETIVO GENERAL OBJETIVOS ESPECIFICOS MARCO REFERENCIAL MARCO CONCEPTUAL MARCO TEORICO Modelos de calidad del software CMMI MoProsoft ISO / IEC ISO Boehm McCall Arthur Gilb Deutsch Reboot Dromey Fuertes MODELO DE CALIDAD ITMARK EVALUACIÓN DEL NEGOCIO EVALUACIÓN DE LA ADMINISTRACIÓN DE SEGURIDAD DE LA INFORMACIÓN EVALUACIÓN DE LOS PROCESOS DE DESARROLLO DE SW Nivel 2: Manejado Administración de requerimientos (REQM) Planeación de proyectos (PP) Monitoreo y control de proyectos (PMC) Medición y análisis (MA) Aseguramiento de calidad de procesos y productos (PPQA) Administración de acuerdo con proveedores (SAM) Administración de la configuración (CM) Nivel 3: Definido Definición de requerimientos (RD) Solución técnica (TS) Integración del producto (PI) Verificación (VER) Validación (VAL) Definición de procesos organizacionales (OPD) Enfoque a procesos organizacionales (OPF) Entrenamiento organizacional (OT) Administración integrada del proyecto (IPM) Administración de riesgos (RSKM) RESULTADOS DE LA EVALUACIÓN BENEFICIOS DE LA CERTIFICACIÓN DE ITMARK ITMARK EN COLOMBIA DIAGNÓSTICO DE LAS EMPRESAS DE LA CIUDAD DE PEREIRA DISEÑO Y ELABORACIÓN DE ENCUESTAS RESULTADOS DE LA ENCUESTA
5 6.2.1 Perfil de la empresa Productos que desarrollan y ofrecen las empresas de software de Pereira Tipo de producto o servicio Sector económico Tipo de mercado Ventas Evaluación del recurso humano del departamento de sistemas Funciones de los empleados en la empresa Área de formación Experiencia en años Certificaciones Nivel de inglés conversacional Procesos de calidad Definición del mercado que describe mejor la empresa Proyecciones de competir internacionalmente Plan de mejora de los productos Actividades o disciplinas que se ejecutan durante la construcción del software Sistema de gestión de seguridad de la información Área(s) que se necesitan mejorar en las empresas para aplicar a un certificado de calidad Quien realiza las pruebas de los desarrollos en las empresas Utilización de herramientas de automatización de pruebas de software Lenguajes de programación utilizados en las empresas Modelos de calidad conocidos en las empresas Beneficios que podría tener una certificación en calidad de software PROPUESTAS PROBLEMAS ENCONTRADOS CONTEXTUALIZACIÓN DE LOS PROBLEMAS, CAUSAS Y CONSECUENCIAS VALORACIÓN DE LA RELACIÓN DE CAUSALIDAD DIRECTA O INDIRECTA ENTRE PROBLEMAS ÁRBOL DE JERARQUIZACIÓN DE PROBLEMAS PROPUESTAS CONCLUSIONES Y RECOMENDACIONES BIBLIOGRAFIA ANEXOS
6 LISTA DE TABLAS Tabla 1. Áreas de proceso de CMMI Tabla 2. Áreas de procesos de los niveles de madurez de CMMI Tabla 3. Áreas de procesos de la representación continua del modelo CMMI Tabla 4. Categorización de los procesos de la norma ISO Tabla 5. Caracterización de la norma ISO Tabla 6. Características primitivas de Boehm Tabla 7. Descripción de los ejes de Mccall Tabla 8. Factores y criterios del modelo Arthur Tabla 9. Necesidades de los usuarios Tabla 10. Criterios de calidad del modelo de Deutsch Tabla 11. Propiedades de las categorías del modelo de Dromey Tabla 12. Etapas de la evaluación de ITMark Tabla 13. Empresas en el mundo con certificación ITMark Tabla 14. Empresas colombianas con la certificación de ITMark Tabla 15. Población de empresas Tabla 16. Clasificación de las empresas según su tamaño Tabla 17. Definición de los problemas encontrados en la encuesta Tabla 18. Matriz de Vester
7 LISTA DE FIGURAS Figura 1. Estructura del modelo de calidad orientado al producto Figura 2. Metodología escalonada de CMMI Figura 3. Metodología continúa de CMMI Figura 4. Estructura de Moprosoft Figura 5. Niveles de madurez de ISO/IEC Figura 6. Estructura del modelo Boehm Figura 7. Estructura del modelo de calidad de Reboot Figura 8. Estructura del modelo de reutilización de Reboot Figura 9. Ejemplo de los resultados de la evaluación 10-Squared Figura 10. Productos que desarrollan Figura 11. Tipo de producto desarrollado Figura 12. Sectores económicos para los que se desarrolla software Figura 13. Cobertura del mercado Figura 14. Ventas anuales en millones de pesos Figura 15. Empleados con uno o más cargos Figura 16. Cargo desempeñado Figura 17. Formación académica Figura 18. Perfil profesional Figura 19. Experiencia laboral Figura 20. Tipos de certificaciones Figura 21. Nivel de inglés conversacional Figura 22. Descripción del mercado Figura 23. Proyecciones de competir internacionalmente Figura 24. Plan de mejora de productos Figura 25. Etapas que se realizan en la construcción del software Figura 26. Sistema de gestión de seguridad de la información Figura 27. Procesos para garantizar la seguridad de la información Figura 28. Áreas a mejorar para aplicar a un certificado de calidad Figura 29. Pruebas de software Figura 30. Uso de herramientas de automatización de pruebas de software Figura 31. Herramientas de automatización de pruebas de software Figura 32. Lenguajes de programación Figura 33. Modelos de calidad conocidos Figura 34. Factores que favorecerían a la empresa Figura 35. Ubicación de los problemas en un plano cartesiano Figura 36. Árbol de jerarquización de problemas
8 LISTA DE ANEXOS ANEXO A. ENCUESTA ANEXO B. CARTA DE PRESENTACIÓN ANEXO C. ACUERDO DE CONFIDENCIALIDAD ANEXO D. EMPRESAS ENCUESTADAS
9 INTRODUCCIÓN La sociedad actual se encuentra inmersa en una era digital que ha cambiado totalmente la forma en que esta trabaja. Ejemplo de ello, son las empresas que se comunican con sus clientes a través de la red y utilizan herramientas sistematizadas para desarrollar sus labores (finanzas, producción, control, etc.), las personas que usan herramientas para conocer a otras personas, para estudiar o jugar; la lista no pararía si se sigue enumerando la cantidad de herramientas que existen. Pero el cambio va mas allá, cada día surgen nuevas necesidades y con ellos nuevos problemas, quizás mucho más complejos que los ya existentes, dando lugar a la búsqueda de nuevas soluciones para estos. Es acá donde aparece la palabra software y su importancia en la sociedad actual, ya que con este es que desarrollamos estas soluciones. Dada esta situación, a las empresas de desarrollo de software se les exige mayor estandarización en sus procesos con el fin de garantizar la calidad del producto desarrollado y que satisfaga sus necesidades a un precio justo y en un tiempo prudente. El presente trabajo de grado, tiene como finalidad presentar los resultados y conclusiones obtenidos por los autores, del estudio realizado en las empresas desarrolladoras de software de Pereira. Para lo cual fue necesario realizar una encuesta en dichas empresas. Antes de presentar los resultados de la encuesta, los autores dan a conocer algunos modelos de calidad, en especial el modelo ITMark orientado a la certificación de pequeñas y medianas empresas dedicadas al desarrollo de software. Los resultados de dicho estudio servirán de base para generar las propuestas que serán presentadas ante el Grupo de Avanzada en el Desarrollo de Software (GRANDE) de la Universidad Tecnológica de Pereira para su posterior evaluación y así determinar si es necesaria la creación del primer Laboratorio de Calidad de Software del país. 9
10 1. DEFINICION DEL PROBLEMA En la actualidad no se concibe el crecimiento y desarrollo de las empresas sin el uso de aplicaciones que automaticen sus procesos, con lo cual el desarrollo de software toma mas relevancia y se exige a las empresas desarrolladoras, la aplicación de procesos que garanticen a los clientes productos de calidad que satisfagan sus necesidades a un precio justo y en un tiempo prudente. Para desarrollar software, es importante tener definidos las funciones y los procesos a seguir con el fin de garantizar la calidad del producto desarrollado. En la mayoría de los desarrollos de software, no se tienen procesos definidos o no se siguen apropiadamente, y en muchos otros casos ni se tienen en cuenta, esto lleva al desarrollo de un software de mala calidad y esta es una de las principales causas del corto tiempo de vida del software y de los altos costos de los proyectos de ingeniería de software. Una necesidad actual en este sentido, es conocer el estado real de la implementación de procesos dentro de las empresas desarrolladoras de software y si siguen algún estándar para poder, con conocimiento de causa, emprender tareas que procuren la mejora en la calidad de este. Cuál es el grado de implementación de modelos de calidad de software en las empresas desarrolladoras de software de la ciudad de Pereira? 10
11 2. JUSTIFICACION Al finalizar este estudio se conocerán los procedimientos implementados y las falencias en las que incurren las empresas en cuanto al desarrollo de software en Pereira para así poder intervenir en ellas aportándoles un análisis detallado de los modelos utilizados en dichos procesos para que estas empresas puedan tener un panorama más amplio de la situación en la que se encuentran y de cuáles serían los pasos a seguir para alcanzar un mejor nivel de competitividad en el mercado. En el sector de las TIC, las empresas desarrolladoras de software ocupan el 39% 1 en la región, lo que indica que éste es un sector muy importante en el desarrollo de tecnologías de Risaralda y por lo tanto es indispensable que éste se desarrolle de la mejor manera. Es por esto que se realizará una investigación al interior de las MiPYMES desarrolladoras de software en Pereira con el fin de establecer la situación de estas en cuanto al desarrollo de procesos que garanticen la calidad del software. 1 GRUPO DE INVESTIGACIÓN INFORMÁTICA. Caracterización de las Empresas del sector de las TIC (Tecnologías de la Información y la Comunicación) en Risaralda año Pereira: Universidad Tecnológica de Pereira, Facultad de Ingenierías: eléctrica, electrónica, física y ciencias de la computación, Ingeniería de Sistemas y Computación, diciembre de p
12 3. OBJETIVOS 4.1 OBJETIVO GENERAL Realizar un estudio del grado de implementación de los modelos de calidad en el desarrollo de software de las MiPYMES del sector TI en la ciudad de Pereira utilizando el modelo IT Mark, para el Laboratorio de Calidad de software de la Universidad Tecnológica de Pereira. 4.2 OBJETIVOS ESPECIFICOS Hacer una investigación del modelo IT Mark y de todos los estándares asociados a este Identificar el nivel de la calidad del software de las empresas de la región mediante el análisis de los datos recopilados en un formato de encuesta que se elaborara a partir del modelo IT Mark Establecer unas pautas a seguir, para que el Laboratorio de Calidad de Software de la Universidad Tecnológica de Pereira, continúe con su misión, que las MiPYMES del sector TI, puedan llegar a obtener una certificación en IT Mark. 12
13 4. MARCO REFERENCIAL 4.1 MARCO CONCEPTUAL Para entender mejor lo que es un modelo de calidad iniciaremos con dar la definición de calidad y de calidad de software, después explicaremos que es un modelo de calidad de software y como se divide. Finalmente, explicaremos algunos de los modelos de calidad de software existentes. Según la real academia de la lengua española, la calidad es la Propiedad o conjunto de propiedades inherentes a algo, que permiten juzgar su valor 2 Basándonos en esta definición, podemos decir que la calidad es un concepto asociado a cualquier producto o servicio que marca la diferencia a la hora de entrar a competir en un mercado globalizado. Teniendo claro que el cliente es el que juzga el valor de un producto/servicio, la calidad del software está asociada al grado con el que este satisfaga las necesidades del cliente y esto lo podemos ver claramente en la siguiente definición: La calidad del software es el grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario 3. Pero la calidad del software también puede estar asociada a la calidad del desarrollo de los procesos internos de la empresa tal como lo dice Edwards Deming en su libro Out of the Crisis: El control de calidad no significa alcanzar la perfección. Significa conseguir una eficiente producción con la calidad que espera obtener en el mercado 4. Para poder desarrollar un software con calidad es necesario seguir un modelo de calidad. Los modelos de calidad de software son manuales que indican que se debe hacer para desarrollar un software de calidad. Existen dos tipos de modelos de calidad de software, los modelos orientados al producto y los modelos orientados al proceso. 2 REAL ACADEMIA ESPAÑOLA. Diccionario de la lengua española [en linea]. Vigésima segunda edición. Disponible en: <http://buscon.rae.es/draei/srvltconsulta?tipo_bus=3&lema=calidad> [citado en marzo de 2010] 3 IEEE, Std DEMING, Edwards. Out of the Crisis. Cambridge University Press
14 Los modelos de calidad orientados al producto definen las características que deben satisfacer un producto de software para cumplir con las expectativas del cliente 5. Los modelos de calidad de software orientados al producto, por lo general, tienen una estructura de tres niveles 6 (figura 1). Para estos la calidad se produce como consecuencia de la evaluación de un conjunto de indicadores o métricas en diferentes etapas. Nivel 1. En el nivel más alto de la jerarquía se encuentran los factores de calidad definidos a partir del punto de vista del usuario del software, y conocidos también como atributos de calidad externos Nivel 2. Cada uno de los factores se descompone en un conjunto de criterios de calidad. Los criterios de calidad son atributos que cuando están presentes contribuyen a obtener un software de calidad. Se trata de una visión de la calidad técnica, desde el punto de vista del desarrollador y se les denomina también atributos de calidad internos Nivel 3. Finalmente para cada uno de los criterios de calidad se definen un conjunto de métricas o medidas cuantitativas de ciertas características del producto que indican el grado en que dicho producto posee un determinado atributo de calidad Los modelos de calidad orientados al proceso son un conjunto de buenas prácticas enfocado a los procesos de gestión y desarrollo de proyectos, que influye en la calidad del producto 7. De esta manera, a través de un modelo de calidad se concretan los aspectos relacionados con ella de tal manera que se pueda planificar, definir y medir. 5 BLANCO GALÁN, Marcos. Calidad del software en proyectos Open Source. En: Conferencia Internacional de Software Libre [en linea]. p. 8. Disponible en: <http://www.slideshare.net/mark83/calidad-del-software-en-proyectos-open-source> [citado en febrero de 2010] 6 CERVERA PAZ, Ángel y Bernardo Núñez. El modelo de McCall como aplicación de la calidad a la revisión del software de gestión empresarial [en linea]. Cádiz, Santa Cruz de Tenerife, España: Universidad de Cádiz. p. 6. Disponible en: <http://www.emagister.com/el-modelo-mccall-como-aplicacion-calidad-revision-del-softwaregestion-empresarial-cursos htm#programa> [citado en febrero 2010] 7 Ibid., p. 8 14
15 Figura 1. Estructura del modelo de calidad orientado al producto Fuente: CERVERA, Op. Cit., p MARCO TEORICO Modelos de calidad del software CMMI. Capability Maturity Model Integration. CMMI es un modelo de calidad del software creado por el SEI (Instituto de Ingeniería del Software) de la Universidad Carnegie Mellon. El SEI fue fundado por el Departamento de Defensa Americano en el año La idea básica de CMMI es pasar de manejar proyectos a manejar procesos y pasar de manejar caso por caso a manejar líneas de producción 8. El modelo CMMI tiene dos representaciones, la representación escalonada, la cual estudia la madurez de una organización en general y la representación continua que mide la capacidad de los procesos desarrollados en una categoría específica (gestión de proyectos, gestión del proceso, ingeniería, soporte). 8 HOPMANN, Cornelius y Oscar Amador. Qué son CMMI ISO 12207/15504(-5) y Competisoft/ISO 29110? [en linea]. Lima, Perú. p. 4. Disponible en: < COMPETISOFT-ISO-29110> [citado en febrero 2010] 15
16 En ambas representaciones CMMI evalúa 22 áreas de procesos, las áreas de procesos son un grupo de prácticas relacionadas en un área, que si se implementan de forma continua satisfacen un grupo de objetivos considerados importantes para la mejora en esa área 9. Las áreas de procesos de CMMI son las que se encuentran en la tabla 1. Tabla 1. Áreas de proceso de CMMI Área de Proceso Análisis de causas y resolución Gestión de la configuración Análisis de decisiones y resolución Gestión integrada de proyectos Medición y análisis Innovación y despliegue organizacionales Definición de procesos organizacionales Enfoque organizacional en procesos Rendimiento de procesos organizacionales Formación organizacional Monitorización y control de proyecto Planificación de proyecto Aseguramiento de calidad de procesos y productos Integración de producto Gestión cuantitativa de proyectos Gestión de requerimientos Desarrollo de requerimientos Gestión de riesgos Gestión de acuerdos con proveedores Solución técnica Validación Verificación Sigla CAR CM DAR IPM MA OID OPD OPF OPP OT PMC PP PPQA PI QPM REQM RD RSKM SAM TS VAL VER Fuente: CHRISSIS,Mary Beth, Mike Konrad y Sandy Shrum. CMMI: Guía para la integración de procesos y la mejora de productos. 2 ed. Traducción: Cátedra de Mejora de Procesos de Software en el Espacio Iberoamericano de la Universidad Politécnica de Madrid. Verificación: Javier Torralba (Lead-Appraiser ). Pearson Educación, Pg 33. La representación escalonada produce una evaluación de la madurez de la organización siguiendo una escala de cinco niveles. La madurez de una organización es un indicador de la capacidad de esta para construir un software de calidad. Tal como vemos en la figura 2, cada nivel de madurez evalúa diferentes 9 Ibid., p. 3 16
17 áreas de proceso, las cuales deben de cumplir unos objetivos a partir del desarrollo de prácticas que garanticen la madurez de cada área. Cada nivel de madurez de CMMI se asocia con un conjunto de áreas de proceso sobre las que la organización tiene que mejorar sus actividades, estas áreas de proceso se encuentran en la tabla 2. Los niveles de Madurez de CMMI son: Nivel 1. Inicial: Proceso impredecible, poco controlado y reactivo Nivel 2. Gestionado: Proceso caracterizado por proyectos y frecuentemente reactivo Nivel 3. Definido: Proceso caracterizado por la organización y proactivo Nivel 4. Gestionado Cuantitativamente: El proceso es controlado cuantitativamente Nivel 5. En Optimización: Enfoque en la mejora del proceso Figura 2. Metodología escalonada de CMMI Fuente: ACOSTA VIZCAYA, Pedro Fabián. Levantamiento de requerimientos para la construcción de un sistema de gestión de la revista de tecnología de la facultad de ingeniería de sistemas [en línea]. Bogotá, 2008, p. 22. Trabajo de grado (Ingeniero de Sistemas). Universidad el Bosque.Facultad de ingeniería de sistemas. Disponible en: <http://www.unbosque.edu.co/files/archivos/docacostavizcaya.pdf> [citado en febrero 2010] 17
18 Tabla 2. Áreas de procesos de los niveles de madurez de CMMI Nivel de madurez Nivel 1 Inicial Nivel 2 Repetible Nivel 3 Definido Nivel 3 Definido Nivel 4 Gestionado Nivel 5 Optimizado Áreas claves Ninguna Gestión de acuerdos con proveedores Gestión de requerimientos Monitorización y control de proyecto Planificación de proyecto Aseguramiento de calidad de procesos y productos Medición y análisis Gestión de la configuración Enfoque organizacional en procesos Definición de procesos organizacionales Formación organizacional Gestión integrada de proyectos Gestión de riesgos Desarrollo de requerimientos Solución técnica Integración de producto Verificación Validación Análisis de decisiones y resolución Rendimiento de procesos organizacionales Gestión cuantitativa de proyectos Análisis de causas y resolución Innovación y despliegue organizacionales Fuente: CHRISSIS, Op. Cit., p. 63 En la representación escalonada de CMMI las áreas de procesos se organizan en características comunes 10 : Compromiso de realización: acciones que aseguran que el proceso se ha establecido y será usado Capacidad de realización: precondiciones que aseguran que la organización es capaz de implementar el proceso 10 UNIVERSIDAD REY JUAN CARLOS. Calidad del Software [en linea]. p. 41. Disponible en: <http://www.slidefinder.net/c/calidad_del_software_ingenier%c3%ada_del/ > [citado en febrero 2010] 18
19 Actividades realizadas: roles y procedimientos necesarios para implementar el área clave Medición y análisis: procedimientos y análisis de las medidas Verificación de la implementación: asegura que las actividades cumplen con los procesos establecidos Una organización satisface un área clave de proceso sólo cuando el área de proceso esta implementada e institucionalizada La otra representación de CMMI es la continua la cual establece seis niveles de capacidad posibles para cada una de las áreas de proceso implicadas en la ingeniería de software (Ver tabla 3). La organización puede decidir cuales son las Áreas de Proceso (PA) que quiere mejorar determinando así su perfil de capacidad. La figura 3 muestra la metodología continua de CMMI. Figura 3. Metodología continúa de CMMI Fuente: ACOSTA VIZCAYA, Op. Cit., p
20 Tabla 3. Áreas de procesos de la representación continua del modelo CMMI Categoría Gestión de Proyectos Gestión del Proceso Ingeniería Soporte Área de proceso Planificación de proyecto Monitorización y control de proyecto Gestión integrada de proyectos Gestión de riesgos Gestión cuantitativa de proyectos Gestión de acuerdos con proveedores Enfoque organizacional en procesos Definición de procesos organizacionales Formación organizacional Rendimiento de procesos organizacionales Innovación y despliegue organizacionales Desarrollo de requerimientos Gestión de requerimientos Solución técnica Integración de producto Verificación Validación Medición y análisis Gestión de la configuración Aseguramiento de calidad de procesos y productos Análisis de decisiones y resolución Análisis de causas y resolución Fuente: CHRISSIS, Op. Cit., p. 63 Los seis niveles definidos en CMMI para medir la capacidad de los procesos son: Nivel 0: Incompleto El proceso no se realiza, o no alcanza sus objetivos. Nivel 1: Ejecutado El proceso se ejecuta y se logra su objetivo. Nivel 2: Gestionado Además de ejecutarse, el proceso se planifica, se revisa y se evalúa para comprobar que cumple los requisitos. Nivel 3: Definido Además de ser un proceso gestionado se ajusta a la política de procesos que existe en la organización, alineada con las directivas de la empresa. Nivel 4: Cuantitativamente gestionado Además de ser un proceso definido se controla utilizando técnicas cuantitativas. Nivel 5: Optimizando Además de ser un proceso cuantitativamente gestionado, de forma sistemática se revisa y modifica o cambia para adaptarlo a los objetivos del negocio. Mejora continua. 20
21 CMMI usa el Standard CMMI Appraisal Method for Process Improvement (SCAMPI) para la evaluación de las organizaciones, este estándar define las reglas para asegurar la consistencia de las calificaciones de la evaluación 11. SCAMPI se usa para identificar fortalezas y debilidades de los procesos, revelar riesgos de desarrollo/adquisición, y determinar niveles de capacidad y madurez. Se utilizan ya sea como parte de un proceso o programa de mejoramiento, o para la calificación de posibles proveedores. El método define el proceso de evaluación constando de preparación; las actividades sobre el terreno; observaciones preliminares, conclusiones y valoraciones; presentación de informes y actividades de seguimiento. El método SCAMPI define las reglas para asegurar la consistencia de las calificaciones de la evaluación. Para poder comparar los resultados de una evaluación frente a otras realizadas en otras organizaciones, las evaluaciones deben de asegurar calificaciones consistentes. El logro de un nivel de madurez específico o la satisfacción de un área de proceso debe significar lo mismo para las diferentes organizaciones evaluadas. SCAMPI incluye los métodos de evaluación de Clase A, B y C. SCAMPI A es el método más riguroso y el único método que puede dar lugar a una calificación. SCAMPI B proporciona opciones en el alcance del modelo, pero la caracterización de las prácticas está fijada en una escala y se realiza sobre prácticas ya implementadas. SCAMPI C ofrece un amplio rango de opciones, incluyendo la caracterización de enfoques planificados para la implementación de procesos de acuerdo a una escala definida por el usuario MoProsoft. Modelo de Procesos para la Industria del Software. MoProsoft es un modelo de calidad creado por iniciativa de la Secretaria de economía de México y de un grupo de profesores y empresarios mexicanos, encabezado por la Doctora Hanna Oktaba, profesora de la Facultad de Ciencias de la Universidad Nacional Autónoma de México CHRISSIS, Op. Cit., p RIVA PALACIO, Sergio Carrera. Calidad: Conferencia. En: IX Congreso Internacional para MiPymes. [en linea]. Mexico: Subsecretaría de Industria y Comercio, p. 11. Disponible en: [citado en febrero 2010] 21
22 Este modelo permite a las pequeñas y medianas empresas (Pymes) de la Industria del Software acceder a las prácticas de Ingeniería de Software de clase mundial. La estructura de Moprosoft abarca diferentes áreas de la organización: la alta dirección, la gestión y la operación, tal como se ve en la figura 4, lo cual permite estandarizar los procesos realizados en la empresa, evaluar su efectividad e integrar mejoras de manera continua. Moprosoft está orientado a mejorar los procesos, para contribuir a los objetivos del negocio, y no simplemente ser un marco de referencia o certificación. Figura 4. Estructura de Moprosoft Fuente: RIVA PALACIO, Op. Cit., p ISO / IEC Software Process Improvement Capability determination (SPICE). Esta norma creada por la Organización de Estandarización Internacional ISO, proporciona un marco de trabajo para la evaluación de los procesos y 22
23 establece los requisitos mínimos para realizar una evaluación de forma consistente 13. Esta norma se basa en la evaluación y mejora de los procesos de software y abarca: Evaluación de procesos Mejora de procesos Determinación de capacidad SPICE es aplicable a cualquier organización o empresa que quiera mejorar la capacidad de cualquiera de sus procesos de software. Se puede utilizar como herramienta de evaluación del estado de los procesos de software de la empresa. SPICE sigue un modelo de referencia que describe los procesos que una organización puede realizar para comprar, suministrar, desarrollar, operar, mantener y soportar el software, así como los atributos que caracterizan la capacidad de estos procesos 14. El modelo se divide en dos dimensiones, evalúa tanto los procesos, como las capacidades del proceso: Procesos. Se agrupan en categorías, en función del tipo de actividad al cual se aplican, tal como lo vemos en la tabla 4. Capacidad. Esta dimensión define una escala de medida para determinar la capacidad de cualquier proceso. Consta de seis niveles de capacidad, y nueve atributos de procesos: 0 Incompleto 1 Realizado (Realización del proceso) 2 Gestionado (Gestión de realización, Gestión de productos) 3 Establecido (Definición de procesos, Recursos de procesos) 4 Predecible (Medición de procesos, Control de procesos) 5 En optimización (Cambio de procesos, Mejora continua) 13 GARCIA, María del Carmen y Javier Gárzas. La certificación por niveles de madurez de ISO/IEC p.2. Disponible en: <http://www.kybeleconsulting.com/downloads/mcgarcia_certificacionnivelesmadurez_iso15504.pdf> [citado en marzo 2010] 14 Universidad de las Islas Baleares. Calidad en Ingeniería del Software. Ingeniería del software III. España: Islas Baleares, p. 41. Disponible en: <dmi.uib.es/~bbuades/calidad/calidad.ppt> [citado en marzo 2010] 23
24 Los atributos de un proceso se evalúan con las siguientes calificaciones: N (Not). No alcanzado (0% a 15%). Poca o ninguna evidencia de la consecución del atributo P (Partially). Parcialmente alcanzado (16% a 50%). Evidencia de un enfoque sistemático y de la consecución del atributo. Aunque algunos aspectos de la consecución pueden ser impredecibles L (Largely). Ampliamente alcanzado (51% a 85%). Evidencia de un enfoque sistemático y de una consecución significativa del atributo. La realización del proceso puede variar en algunas áreas F (Fully). Totalmente alcanzado (86% a 100%). Evidencia de un enfoque completo y sistemático y de la consecución plena del atributo Tabla 4. Categorización de los procesos de la norma ISO Categorías CUS. Cliente-Proveedor. Esta categoría está formada por procesos que afectan directamente al cliente, soportan el desarrollo y la transición del software al cliente y permiten la correcta operación y uso del producto y/o servicio software. ENG. Ingeniería. Esta categoría está formada por procesos que directamente especifican, implementan o mantienen el producto software, su relación con el sistema y su documentación SUP. Soporte. Esta categoría está formada por procesos que dan soporte a cualquiera del resto de procesos, en distintos puntos del ciclo de vida del software Procesos CUS.1 Adquisición de productos software y/o servicios CUS.2 Establecimiento de contratos CUS.3 Identificar las necesidades del cliente CUS.4 Realizar auditorías y revisiones conjuntas CUS.5 Entrega e instalación del software CUS.6 Mantenimiento del software CUS.7 Proporcionar servicio al cliente CUS.8 Valorar la satisfacción del cliente ENG.1 Análisis y diseño de requerimientos del sistema ENG.2 Análisis de requerimientos del software ENG.3 Diseño del software ENG.4 Construcción del software ENG.5 Integración y pruebas del software ENG.6 Integración y pruebas del sistema ENG.7 Mantenimiento del software y del sistema SUP.1 Documentación SUP.2 Gestión de la configuración del software SUP.3 Garantía de calidad SUP.4 Resolución de problemas SUP.5 Realizar revisiones conjuntas 24
25 Tabla 4. (Continuación) Categorías Procesos MAN. Gestión. Esta categoría está MAN.1 Gestionar el proceso formada por procesos utilizados en la MAN.2 Gestionar el proyecto gestión de cualquier tipo de proyecto o proceso en el ciclo de vida del MAN.3 Gestionar la calidad software MAN.4 Gestionar los riesgos ORG. Organización. Esta categoría está formada por procesos que establecen los objetivos de negocio de la organización ORG.1 Alineamiento de la organización ORG.2 Establecimiento del proceso ORG.3 Evaluación del proceso ORG.4 Mejora del proceso ORG.5 Gestión de recursos humanos ORG.6 Infraestructura ORG.7 Reutilización Fuente: Universidad de las Islas Baleares, Op. Cit., p Como consecuencia de la necesidad transmitida por la industria del software en la mejora de la calidad basada en niveles de madurez y con el fin de crear una certificación internacional a nivel de organización, ISO agrego a su norma ISO/IEC la evaluación de la madurez de la organización. La cual fue publicada en el año Esta evaluación establece 6 niveles de madurez para clasificar a las organizaciones, tal y como se muestra en la figura ISO Software Product Evaluation: Quality Characteristics and Guidelines for their Use. Es un estándar internacional para la evaluación del Software, está supervisado por el proyecto SQuaRE, ISO 25000:2005, el cual sigue los mismos conceptos. Durante muchos años se buscó en la Ingeniería de Software un modelo único para expresar calidad para poder comparar los productos entre sí. En 1992, una variante del modelo McCall fue propuesta como estándar internacional para la medición de calidad de software. 15 FILLOTTRANI, Pablo R. Calidad en el Desarrollo de Software: Modelos de calidad de software [en línea]. BAHIA BLANCA, Argentina: Universidad Nacional del Sur, Dpto. de Ciencias e Ingeniería de la Computación. p. 12. Disponible en: <http://www.cs.uns.edu.ar/~prf/teaching/sq07/clase6.pdf > [citado en marzo 2010] 25
26 ISO 9126 propone que el foco en la calidad cambia durante el ciclo de vida del desarrollo del software. Al principio, durante la especificación de requerimientos y el análisis, la calidad es especificada por los requisitos de los usuarios, sobre todo desde el punto de vista externo. Figura 5. Niveles de madurez de ISO/IEC Fuente: GARCIA, Op. Cit., p. 3 En la fase de diseño e implementación, la calidad externa se traduce en un diseño externo, confrontándose con el punto de vista de los desarrolladores sobre la calidad interna y complementándose con los requisitos implícitos que el software debe cumplir. Por último, la calidad final debe ser apropiada para los usuarios y el contexto de uso. Es por lo anterior, que el estándar está dividido en cuatro partes: modelo de calidad, métricas externas, métricas internas y calidad en las métricas de uso. Las métricas internas son aquellas que no dependen de la ejecución del software (medidas estáticas). Las métricas externas son aquellas aplicables al software en ejecución. La calidad en las métricas de uso están sólo disponibles cuando el producto final es usado en condiciones reales. Idealmente, la calidad interna determina la calidad externa y esta a su vez la calidad en el uso. Las 26
27 características internas y externas se basan en una clasificación de seis factores principales y criterios asociados a cada uno de ellos tal como aparece en la tabla 5. Tabla 5. Caracterización de la norma ISO 9126 Factores Funcionalidad. El grado en que el software satisface las necesidades especificadas o implícitas Confiabilidad. Cantidad de tiempo que el software está disponible para su uso bajo unas condiciones establecidas Confiablididad Facilidad de uso. Esfuerzo necesario para usar el software Eficiencia. Grado en que el software hace óptimo el uso de los recursos del sistema Facilidad de mantenimiento. Facilidad con que una modificación puede ser realizada Criterios Adecuación. Determina si el conjunto de funciones son apropiadas para las necesidades especificadas Exactitud. Determina que los efectos sean los correctos o los esperados Interoperabilidad. Mide la habilidad de interactuar con sistemas especificados Seguridad. Mide la habilidad para prevenir accesos no autorizados a programas y a datos Cumplimiento de normas. Hace que el software cumpla con estándares relacionados con la aplicación o regulaciones legales Madurez. Frecuencia de fallas por defectos en el software Tolerante a defectos. Mide la habilidad de mantener el nivel de performance en caso de fallas del software Facilidad de recuperación. Mide la capacidad de reestablecer el nivel de performance y recuperar datos en caso de falla, así como el tiempo y el esfuerzo necesario para ello Fácil de comprender. Mide el esfuerzo del usuario en reconocer el concepto lógico del software y su aplicabilidad Fácil de aprender. Mide el esfuerzo del usuario en aprender a manejar la aplicación Fácil de operar. Mide el esfuerzo del usuario en operar y controlar el sistema Atractividad. Capacidad del producto software para ser atractivo al usuario Comportamiento en el tiempo. Mide el tiempo de respuesta y de procesamiento de las funciones Comportamiento de recursos. Mide la cantidad de recursos usados y la duración de tal uso en la ejecución de las funciones Facilidad de análisis. Mide el esfuerzo necesario para el diagnostico de deficiencias o causas de fallas, o para la identificación de partes que deben ser modificadas Facilidad de cambios. Mide el esfuerzo necesario para realizar modificaciones, remoción de fallas o cambios en el contexto 27
28 Tabla 5. (Continuación) Factores Facilidad de mantenimiento. Facilidad con que una modificación puede ser realizada Portabilidad. La facilidad con que el software puede ser llevado de un entorno a otro Criterios Fuente: FILLOTTRANI, Op. Cit., p Facilidad de pruebas. Mide el esfuerzo necesario para probar el software modificado Estabilidad. Riesgo de efectos no esperados en las modificaciones Facilidad de instalación. Mide el esfuerzo para instalar el software en el ambiente especificado Facilidad de reemplazo. Oportunidad y esfuerzo de usar el software en lugar de otro software en su ambiente Adaptabilidad. Mide la facilidad de adaptación a otros ambientes sin aplicar otras acciones que no sean las previstas para el propósito del software Las características de calidad de uso son cuatro 16 : Eficacia. Capacidad de ayudar al usuario a cumplir sus objetivos con exactitud y completitud en un contexto de uso dado Productividad. Capacidad de ayudar al usuario a emplear una cantidad apropiada de recursos para obtener sus resultados Seguridad. Capacidad de alcanzar niveles aceptables de riesgo para las personas, el ambiente de trabajo y la actividad, en un contexto de uso dado Satisfacción. Capacidad de satisfacer a un usuario en un contexto de uso dado Existen métricas para medir cada una de las características internas, externas y de uso. Estas métricas están caracterizadas por los siguientes elementos 17 : nombre de la métrica, objeto de su uso, método con el cual se usa, fórmula y elementos de cálculo, interpretación de la métrica, escala, tipo de métrica, fuente de los datos de entrada y beneficiarios de la métrica Boehm. Modelo de calidad creado por Barry Boehm en El modelo se basa en que el software debe 18 : 16 FILLOTTRANI, Op. Cit., p. 13,15 17 FILLOTTRANI, Op. Cit., p. 13,15 18 PALAZZOLO, Cecilia. Calidad de software: Herramientas de software. Argentina, Buenos Aires: Universidad de Morón: Facultad de Informática, Ciencias de la Comunicación y Técnicas Especiales p. 9. Disponible en: < [citado en marzo 2010] 28
29 Hacer lo que el usuario quiere que haga Utilizar los recursos de la computadora correcta y eficientemente Ser fácil de usar y de aprender para los usuarios Estar bien diseñado, bien codificado y ser probado y mantenido fácilmente Este modelo introduce características de alto nivel, de nivel intermedio y características primitivas, cada una de las cuales contribuyen al nivel general de calidad. Ver figura 6. Figura 6. Estructura del modelo BOEHM Fuente: UNIVERSIDAD REY JUAN CARLOS, Op. Cit., p. 32 Las características de alto nivel representan requerimientos generales de uso los cuales son 19 : Utilidad per-se. Cuán usable, confiable y eficiente es el producto en si mismo. Mantenibilidad. Cuán fácil es modificarlo, entenderlo y retestearlo. Utilidad general. Si puede seguir usándose si se cambia el ambiente. 19 FILLOTTRANI, Op. Cit., p. 9 29
30 Las características de nivel intermedio representan los factores de calidad 20 : Portabilidad (utilidad general) Confiabilidad (utilidad per-se) Eficiencia (utilidad per-se) Usabilidad (utilidad per-se) Testeabilidad (Mantenibilidad) Facilidad de entendimiento (utilidad general) Flexibilidad (Mantenibilidad) El nivel más bajo corresponde a características directamente asociadas a métricas de calidad, las cuales se encuentran en la tabla 6. Tabla 6. Características primitivas de BOEHM Característica Métricas de portabilidad Métricas de confiabilidad Métricas de eficiencia Métricas de usabilidad Métricas de testeabilidad Métricas de facilidad de entendimiento Métricas de flexibilidad Criterio Independencia de dispositivos Auto-contención Auto-contención Exactitud Completitud Consistencia Integridad Accesibilidad Eficiencia de uso de dispositivos Integridad Accesibilidad Comunicación Comunicación Autodescripción Estructuración Consistencia Estructuración Concisidad Legibilidad Estructuración Aumentabilidad Fuente: FILLOTTRANI, Op. Cit., p FILLOTTRANI, Op. Cit., p
31 Boehm evalúa a la empresa definiendo la utilidad general bajo la siguiente jerarquía de características: Portabilidad Utilidad percibida Confiabilidad Eficiencia Ingeniería Humana Facilidad de Mantenimiento Facilidad de prueba Facilidad de comprensión Facilidad de modificación Los componentes o constructores del modelo se centran en el producto final. Se identifican características de calidad desde el punto de vista del usuario McCall. Fue el primer modelo en ser presentado en 1977, y se originó motivado por USA Air Force y DoD 21. McCall está organizado sobre tres tipos de características de calidad: Factores (especificar) Criterios (construir) Métricas (controlar) Este modelo organiza 11 factores en tres ejes o puntos de vista desde los cuales el usuario puede contemplar la calidad de un producto 22. Cada factor tiene asociado sus respectivos criterios. Ver tabla 7. Tabla 7. Descripción de los ejes de McCall Eje Factor Criterio Operación del producto Facilidad de uso. Puedo ejecutarlo? Facilidad de operación. Atributos del software que determinan la facilidad de operación del software Facilidad de comunicación. Atributos del software que proporcionan entradas y salidas fácilmente asimilables 21 FILLOTTRANI, Op. Cit., p PALAZZOLO, Op. Cit., p. 6 31
32 Tabla 7. (Continuación) Eje Factor Criterio Operación del producto Facilidad de uso. Puedo ejecutarlo? Integridad. Es seguro? Corrección. Hace el software lo que yo quiero? Fiabilidad. Lo hace de forma exacta todo el tiempo? Eficiencia. Se ejecutará sobre mi HW lo mejor posible? Facilidad de aprendizaje. Atributos del software que facilitan la familiarización inicial del usuario con el software y la transición del modo actual de operación Control de accesos. Atributos del software que proporcionan control de acceso al software y los datos que maneja Facilidad de auditoría. Atributos del software que facilitan la auditoria de los accesos al software Seguridad. La disponibilidad de mecanismos que controlen o protejan los programas o los datos Completitud. Atributos del software que proporcionan la implementación completa de todas las funciones requeridas. Consistencia. Atributos del software que proporcionan uniformidad en las técnicas y notaciones de diseño e implementación. Trazabilidad o rastreabilidad. Atributos del software que proporcionan una traza desde los requisitos a la implementación con respecto a un entorno operativo concreto. Precisión. Atributos del software que proporcionan el grado de precisión requerido en los cálculos y los resultados. Consistencia Tolerancia a fallos. Atributos del software que posibilitan la continuidad del funcionamiento bajo condiciones no usuales. Modularidad. Atributos del software que proporcionan una estructura de módulos altamente independientes. Eficiencia en ejecución. Atributos del software que minimizan el tiempo de procesamiento. Eficiencia en almacenamiento. Atributos del software que minimizan el espacio de almacenamiento necesario. 32
33 Tabla 7. (Continuación) Eje Factor Criterio Facilidad de mantenimiento. Puedo arreglarlo? Modularidad Simplicidad Consistencia Concisión. Atributos del software que posibilitan la implementación de una función con la menor cantidad de códigos posible. Revisión del producto Transición del producto Facilidad de mantenimiento. Puedo arreglarlo? Facilidad de prueba. Puedo probarlo? Flexibilidad. Puedo modificarlo? Facilidad de reutilización. Podré reutilizar parte del software? Auto descripción. Atributos del software que proporcionan explicaciones sobre la implementación de las funciones. Modularidad Simplicidad Auto descripción Instrumentación. Atributos del software que posibilitan la observación del comportamiento del software durante su ejecución para facilitar las mediciones del uso o la identificación de errores. Auto descripción Capacidad de expansión. Atributos del software que posibilitan la expansión del software en cuanto a capacidades funcionales y datos. Generalidad. Atributos del software que proporcionan amplitud a las funciones implementadas. Modularidad Auto descripción Generalidad Modularidad Independencia entre Sistema y Software. Atributos del software que determinan su dependencia del entorno operativo. Independencia del Hardware. Atributos del software que determinan su dependencia del hardware. 33
34 Tabla 7. (Continuación) Eje Factor Criterio Modularidad Transición del producto Interoperabilidad. Podré comunicarlo con otros sistemas? Portabilidad. Podré ejecutarlo en otra máquina? Compatibilidad de comunicaciones. Atributos del software que posibilitan el uso de protocolos de comunicación e interfaces estándar. Compatibilidad de datos. Atributos del software que posibilitan el uso representaciones de datos estándar. Estandarización en los datos. El uso de estructuras de datos y de tipos estándar a lo largo de todo el programa. Auto descripción Modularidad Independencia entre Sistema y Software Independencia del Hardware Fuente: PALAZZOLO, Op. Cit., p Arthur. Modelo de calidad creado por Arthur Andersen en Arthur presenta una variante del modelo de calidad propuesto por McCall 23. La variante mostrada en la tabla 8, consta de dos acciones: Añadir tres nuevos criterios de valoración: Complejidad, Seguridad, Auditabilidad Variar las relaciones de los factores y los criterios Gilb. Modelo de calidad creado por Gilb en Este modelo presenta como aspecto fundamental la definición de los atributos de calidad que realmente interesan al usuario y el nivel de calidad que debe tener cada uno de ellos para satisfacerlo ya que no tiene sentido exigir calidad en un producto, si no se cuenta con esta base. Cada atributo tiene subatributos que ayudan a la medición de este. Estos atributos son 24 : Capacidad de trabajo: Evalúa la capacidad natural del sistema para realizar su trabajo. Subatributos: capacidad del proceso, capacidad de respuesta, capacidad de almacenamiento. 23 ALONSO SECADES, Op. Cit., parte ALONSO SECADES, Op. Cit., parte 2. 34
35 Disponibilidad: Refleja la medida de la disponibilidad del sistema para realizar de forma útil el trabajo para el que fue diseñado. Subatributos: fiabilidad, Mantenibilidad e integridad. Adaptabilidad: Es la medida de la capacidad de un sistema para ser modificado de manera adecuada. Subatributos: improbabilidad, extensibilidad y transportabilidad. Utilizabilidad: Es la medida de la facilidad con que la gente será capaz y estará motivada para utilizar el sistema en la práctica. Subatributos: requisitos de entrada, requisitos de aprendizaje y habilidad de manejo. Tabla 8. Factores y criterios del modelo ARTHUR Factores Corrección Fiabilidad Eficiencia Integridad Utilizable Mantenible Flexible Verificable Portable Reutilizable Inter-operativo Criterios Completitud, Consistencia, Seguimiento Complejidad, Consistencia, Modularidad, Preciso, Simplicidad, Tolerante a errores Concisión, Eficiencia de ejecución, Operatividad Auditabilidad, Instrumentación, Seguridad Entrenamiento, Operatividad Auto-documentado, Concisión, Consistencia, Instrumentación, Modularidad, Simplicidad Auto-documentado, Complejidad, Concisión, Consistencia, Expansibilidad, Generalidad, Modularidad, Simplicidad Auditabilidad, Auto-documentado, Complejidad, Instrumentación, Modularidad, Simplicidad Auto-documentado, Generalidad, Independencia de la máquina, Independencia del sistema software, Modularidad Auto-documentado, Generalidad, Independencia del hardware, Independencia del sistema software, Modularidad Comunicaciones comunes, Datos comunes, Generalidad, Modularidad Fuente: ALONSO SECADES, Vidal. La Gestión del Conocimiento: Modelos de Transferencia del Conocimiento y Calidad en los Medios de Comunicación, Organizaciones y Empresas. Memorias curso de doctorado. Salamanca, España: Universidad Pontificia de Salamanca, Facultad de Informática. Febrero de Parte 2. Mediante el Método Gilb es posible especificar los atributos de calidad de software en forma cuantitativa, incluyendo tanto tiempos de respuesta como conceptos conocidos de usabilidad y portabilidad, entre otros. 35
36 Gilb propone características como la corrección, la integridad, la facilidad de mantenimiento y la facilidad de uso, como base para proporcionar indicadores útiles para los equipos de trabajo y sugiere las definiciones, puntos de vista y medida para cada uno de las siguientes características: Corrección. Grado en el que el software lleva a cabo su función requerida. Si un programa no opera correctamente, no dará valor agregado a sus usuarios Facilidad de mantenimiento. Posibilidad de corregir un programa si se encuentra un error, adaptarlo si cambia su entorno, mejorarlo si el cliente desea un cambio Integridad. Habilidad de un sistema para resistir ataques, tanto accidentales como intencionados, contra su seguridad, a nivel de cualquiera de los tres principales componentes del software: programas, datos y documentos. Para medir la integridad, Gilb sugiere la utilización de otros dos atributos como base: Amenaza. es la probabilidad (que se puede estimar o deducir de la evidencia empírica) de que un ataque de cualquier tipo ocurra en un tiempo determinado Seguridad. es la probabilidad de que se pueda repeler un determinado ataque Facilidad de uso. Es un intento por cuantificar lo amigable que puede ser el producto con el usuario Las características se pueden medir mediante varias subcaracterísticas o métricas detalladas. Para cada una de ellas se debe especificar los siguientes conceptos 25 : Nombre y definición de la característica Escala o unidades de medición Recolección de datos o prueba El valor previsto El valor óptimo El valor en el sistema actual Deutsch 26. Es otra variante al modelo de McCall, añadiéndole nuevos factores y criterios y estableciendo nuevas relaciones. Para su establecimiento, Deutsch parte de las necesidades del usuario estimando que éstas pueden clasificarse en dos categorías: Necesidades Operacionales. Están relacionadas con la capacidad del software para realizar las tareas que se supone debe llevar a cabo Funcional Realización 25 UNIVERSIDAD REY JUAN CARLOS, Op. Cit., p ALONSO SECADES, Op. Cit., parte 2. 36
37 Necesidades de Mantenimiento. Se relacionan con la capacidad de modificar el software para ayudar al usuario Cambio Gestión Para evaluar cada necesidad, Deutsch necesita 15 factores de calidad (ver tabla 9), y para evaluar estos de dispone de 27 criterios de calidad (ver tabla 10). Tabla 9. Necesidades de los usuarios Necesidades de los usuarios Factores de calidad Funcional Integridad, fiabilidad, supervivencia, utilizabilidad Realización Eficiencia, corrección, seguridad, interoperatividad Cambio Mantenibilidad, expandibilidad, flexibilidad, transportabilidad, reutilizabilidad Gestión Verificable, gestionable Fuente: ALONSO SECADES, Op. Cit., parte 2. Tabla 10. Criterios de Calidad del modelo de Deutsch Criterios Accesibilidad al Sistema Consistencia Independencia Alcance Funcional Distributivo Modularidad Aumentabilidad Eficiencia de Almacenamiento Operatividad Autonomía Eficiencia de Comunicaciones Precisión Auto-Descriptivo Eficiencia de Proceso Simplicidad Calidad de Documentación Entrenamiento Soporte Compatibilidad del Sistema Gestión de Anomalias Seguimiento Completitud Gestión Segura Virtualidad Común Generalidad Visibilidad Fuente: ALONSO SECADES, Op. Cit., parte 2. 37
38 Reboot 27. El modelo de Reboot viene representado en dos modelos diferentes: Modelo de Calidad Modelo de Reutilización Esta división se argumenta en la existencia de factores independientes a ambos modelos, aunque con criterios comunes, tal como se ve en la figura 7. Ambos modelos van a estar formados por una serie de factores que se alcanzan a través de la medición de ciertos criterios. El Modelo de Calidad incorpora dos factores nuevos: Mantenibilidad. Refleja la facilidad con que se hace el mantenimiento Pruebas. Consiste en la capacidad del software para facilitar el establecimiento de criterios, así como la evaluación de dicho software con relación a esos criterios Figura 7. Estructura del Modelo de Calidad de Reboot Fuente: ALONSO SECADES, Op. Cit., parte ALONSO SECADES, Op. Cit., parte 2. 38
39 El modelo de Reutilización incorpora 3 factores nuevos (Ver figura 8): Flexibilidad: Representa el rango de opciones disponibles para el programador. Compresibilidad: Muestra si el propósito del programa está claro para cualquier persona que lo analice Confianza: Probabilidad de que un programa cumpla su objetivo en un entorno diferernte al utilizado en la construcción del programa Figura 8. Estructura del Modelo de Reutilización de Reboot Fuente: ALONSO SECADES, Op. Cit., parte Dromey. Modelo de calidad creado por Robert Dromey en Este modelo describe la idea de relacionar atributos del producto con atributos de calidad para su evaluación 28. El modelo de calidad del software de Dromey establece una serie de propiedades para analizar la calidad y las clasifica en cuatro categorías que establecen como 28 FILLOTTRANI, Op. Cit., p
40 básicas con una serie de propiedades asociadas a cada una de ellas (Ver tabla 11): Corrección. Requisitos para la corrección Estructuración. Aspectos de bajo nivel de diseño de los módulos Modularidad. Aspectos de alto nivel del diseño de comunicación entre módulos Descriptivo. Formas de especificación o documentación Tabla 11. Propiedades de las categorías del modelo de Dromey Categorías Corrección Estructuración Modularidad Descriptivo Propiedades Asignación Completo Computable Consistente Ajustable Directo Rangos Independientes Estructurado Homogéneo Abstracto Cohesivo Encapsulado Auto Descriptivo Documentado Especificado Inicializado Preciso Progresivo Variante Resuelto Efectivo No redundante Utilizado Genérico Parametrizado Pobremente Acoplado Fuente: ALONSO SECADES, Op. Cit., parte Fuertes. El modelo de Fuertes está principalmente orientado a la programación orientada a objetos. Toma como punto de partida tanto los 11 factores como los 23 criterios del modelo de McCall, y establece tres nuevos criterios a añadir al modelo 29 : Documentación. Observa la adecuación de la documentación al entorno de trabajo. Estabilidad. Capacidad para mantener un funcionamiento adecuado ante los cambios de un programa. Estructuración. Un programa está estructurado si mantiene un patrón definido en sus partes independientes. 29 ALONSO SECADES, Op. Cit., parte 2. 40
41 5. MODELO DE CALIDAD ITMARK ITMark es el primer modelo de calidad internacional orientado a pequeñas y medianas empresas. Su objetivo principal, es industrializar el desarrollo del software en las MiPymes, con el fin de definir procesos que permitan producir software de calidad a más bajo costo. ITMark fue creado por la Red de Centros de Excelencia en Software del European Software Institute (ESI). Esta red es una fundación sin ánimo de lucro cuya misión es identificar las necesidades de la industria del software y su impacto en la sociedad. ITMark divide los procesos a evaluar en la empresa en tres categorías, basando cada una, en estándares internacionales 30 : Procesos de administración del negocio basado en el modelo 10-Squared Procesos de administración de seguridad de la información basado en las normas ISO/IEC27001 e ISO/IEC Procesos de desarrollo y administración de software basado en los niveles de madurez 2 y 3 del modelo CMMI-DEV versión 1.2 La estructura de la evaluación de ITMark la podemos ver en la tabla 12. Tabla 12. Etapas de la evaluación de ITMark Etapa Sesión de Formación Evaluación del Negocio Evaluación de la Administración de Seguridad de la Información Evaluación de los procesos de desarrollo de software Duración 4 horas 5-6 horas 3 horas 1 día y medio 30 ESI Center y Camara de Comercio de Bogotá, Modelo IT Mark: Proyecto de implantación y certificación [en línea]. p. 3. Disponible en: < [citado en marzo 2010] 41
42 5.1 EVALUACIÓN DEL NEGOCIO Para hacer esta evaluación se utiliza el Modelo 10-Squared. Este modelo fue desarrollado por una compañía australiana especializada en banca de inversión y es utilizado para evaluar la madurez de la empresa en su modelo de negocio. El modelo 10-Squared estudia 10 categorías y cada una de estas categorías están compuestas por 10 elementos 31, es decir que este modelo se basa en realizar 100 preguntas las cuales se califican de manera cuantitativa. Cada elemento de 10- Squared se identifica con 9 enunciados que tienen una puntuación de -4 hasta +4. La empresa marca el enunciado con el que más se identifique. A continuación explicaremos cada una de las categorías de 10-Squared: Mercado. Definición y alcance del mercado. Gestión. Capacidades del personal administrativo para alcanzar los objetivos del negocio. Definición y comunicación de la política empresarial de la compañía. Productos y servicios. Tener unos productos competitivos y protegidos bajo patentes o derechos de autor. Mercadeo, ventas y distribución. Definición de un plan estratégico de publicidad y de mercadeo, al igual que acciones que incrementen la demanda del producto. Aspectos estratégicos. Análisis, definición y actualización de los aspectos estratégicos de la empresa, algunos son: dirección estratégica (misión, visión y objetivos), plan de negocios, plan de crecimiento y expansión. Análisis financiero. Evaluación de estados financieros (flujo de caja y balance general). Definición de proyecciones de pérdidas y ganancias, de indicadores financieros (indicadores de liquidez, endeudamiento, rentabilidad, etc.), de los controles de gastos y costos y de la inversión de fondos. Perfil y análisis del cliente. Definición del cliente ideal. Definición de estrategias para atraer clientes nuevos y retener a los antiguos. Factores de inversión. Definición de estructura de inversiones, riesgo de inversión, pasivos contingentes entre otros. Desarrollo y producción. Definición, documentación e implantación de los procesos operativos de la empresa y de los procesos de contratación de personal. Definición de un plan de mejora que permita alcanzar los objetivos de la empresa. Evaluación y mejora de la infraestructura de producción y distribución y el grado de automatización. Industria y ambiente macroeconómico. Definición del entorno externo (Tendencias del sector, ambiente político y regulatorio, sindicatos, etc.). 31 ESI Center y Cámara de Comercio de Bogotá, Op. Cit., p. 5 42
43 Finalmente se elabora un reporte con los resultados obtenidos como las fortalezas y debilidades encontradas y se propone un plan de mejoramiento por categoría. Los resultados se expresan en una gráfica tal como se muestra en la figura 9. Figura 9. Ejemplo de los resultados de la evaluación 10-Squared Fuente: ESI Center y Camara de Comercio de Bogotá, Op. Cit., p EVALUACIÓN DE LA ADMINISTRACIÓN DE SEGURIDAD DE LA INFORMACIÓN La siguiente fase evalúa el nivel del modelo de madurez de seguridad de la información basándose en las normas ISO y La norma ISO contiene los requisitos para el establecimiento, implementación, operación, revisión, mantenimiento y mejora de un Sistema de Gestión de Seguridad de la Información (SGSI). A continuación se pasará a explicar algunos de los componentes de la evaluación ISO, Std
44 Debe existir un inventario de activos de hardware y software. Para cada elemento del inventario se debe tener información como: descripción, fecha de compra, número de copias (para software), usuario responsable. El inventario debe servir para identificar: software y equipos no autorizados, software no licenciado (más instalaciones que licencias), si existen equipos dañados o software con errores y si se encuentran aún dentro del periodo de garantía. Para cada elemento de hardware y software se debe identificar debidamente el propietario en el inventario. Debe existir una política de clasificación de la información. Las empresas deben de clasificar su información para determinar los niveles de protección según la criticidad de esta. Para clasificar la información se debe tener en cuenta aspectos como la sensibilidad y la disponibilidad. La política de clasificación debe incluir las categorías en las que se clasifica la información (restringida, privada, pública, etc.) y los tipos de información que pueden incluirse en estas. Deben existir roles y responsabilidades bien definidos. Los roles deben estar bien definidos por escrito y deben describir el trabajo, expectativas, derechos y deberes de los empleados y las funciones de estos que estén relacionadas con la seguridad de la información. Además, los permisos sobre la información deben asignarse con base en los roles y responsabilidades de los usuarios. Los usuarios deben tener acceso solo a aquella información que requieren para desarrollar su trabajo diario. El responsable de la seguridad de la información debe ser una persona con entrenamiento especializado en seguridad. Todo el personal de la empresa debe de capacitarse en políticas y procedimientos de seguridad de la información, pero el responsable de ésta debe de recibir un entrenamiento especializado en temas como la seguridad de sistemas operativos y la seguridad en redes. Debe existir un perímetro de seguridad física. La seguridad física se enfoca en la prevención de accesos físicos no autorizados y daños o interferencias a la información. El centro de datos de una empresa debe de estar localizado en áreas seguras, protegida por un perímetro de seguridad y con controles de acceso. El perímetro de seguridad debe de estar protegido por puertas con llave, claves de acceso, guardias de seguridad, sistemas de protección como alarmas y controles de autenticación de accesos y debe de estar protegida contra desastres naturales y accidentes. Deben existir mecanismos para la eliminación segura de información. La información debe destruirse cuando ya no es necesaria, pero siguiendo procedimientos de destrucción definidos y seguros según la clasificación de esta. La destrucción debe ser definitiva dependiendo del carácter de privacidad de la 44
45 información, desde romper papeles y CDs manualmente, hasta pasarlos por una trituradora de papel o por un artefacto desmagnetizador de CDs. En una red, cada equipo conectado a ella debe tener instalado y configurado un firewall personal. Un firewall personal es un software que da o no da paso al tráfico de entrada y salida de información de un computador. Además de esto, provee información sobre intentos de Ataques y tráfico de la red. Un firewall protege de accesos no autorizados, Salida de información del sistema y ataques a otros sistemas y no protege de ataques que no pasen por él y ataques a la red que provienen del interior de la empresa. Deben existir mecanismos para la protección contra código malicioso. Un código malicioso es un término que hace referencia a cualquier conjunto de códigos, especialmente sentencias de programación, que tiene un fin malicioso. Los códigos maliciosos pueden tener objetivos como robar información y claves ó eliminar archivos e incluso formatear el disco duro. Existen varios tipos de código malicioso, algunos de ellos son: virus, gusanos, caballos troyanos, bombas lógicas, programas espías, entre otros. Es de gran importancia proteger a la empresa de código malicioso, la opción más al alcance es la del uso de un antivirus. No solo se debe tener uno instalado en todos los equipos sino que también es necesario mantenerlos actualizados y ejecutarlos periódicamente. Existen otros programas para código maliciosos como los antiadware, antispyware, antiphishing, antispam, entre otros, que ayudan a incrementar la protección de la empresa. Deben existir procedimientos de copia de seguridad y restauración de datos. Un backup es una copia alterna que se hace a la información y se almacena en otro lugar diferente con el fin de garantizar el funcionamiento de la compañía si algo falla. Los procedimientos para generar las copias de seguridad deben describir tanto los pasos para hacer un backup, como los pasos requeridos para restaurar los datos perdidos si la información original se pierde o se daña. Las copias de seguridad deben estar etiquetadas y almacenadas en un lugar seguro. Los medios de almacenamiento donde están guardados los backups deben ser marcados adecuadamente de manera que se diferencien de los originales. Igualmente deben de protegerse de cualquier amenaza como ladrones, fuego, agua, polvo, tiempo, peso, calor, frío, campos electromagnéticos, etc. Las copias de seguridad deben ser guardadas en un lugar diferente al de la información original, lo ideal es q se encuentren en otro edificio o otra oficina. Tanto la organización como sus empleados deben firmar acuerdos de confidencialidad. Éstos se firman cuando requiere tener información de los 45
46 clientes y proveedores o entregarles información de la organización o traspasar su información a terceras partes. Las responsabilidades de seguridad se deben tratar desde que los empleados son contratados para reducir los riesgos de errores humanos, hurto, fraude o uso incorrecto de las instalaciones. La organización debe garantizar el cumplimiento de los derechos de propiedad intelectual (utilización de copias ilegales, etc.). Las organizaciones deben definir políticas y controles para evitar que sus empleados descarguen o distribuyan software, música, videos o documentos ilegales o realicen cualquier otro tipo de actividad ilegal (extorsiones, pornografía, etc.). Algunos de los controles puede ser la restricción de acceso a sitios web de descargas de archivos y denegación de permisos para instalar aplicaciones. Los controles de seguridad sobre los sistemas de información se verifican periódicamente para garantizar su cumplimiento. La organización debe hacer auditorias periódicamente sobre los controles establecidos para garantizar el cumplimiento de las políticas y planes de seguridad de la información. 5.3 EVALUACIÓN DE LOS PROCESOS DE DESARROLLO DE SW La última fase de la evaluación de ITMark está basada en los niveles dos y tres de CMMI Nivel 2: Manejado. En el nivel de madurez 2 se ordena el caos. En el nivel 2 las organizaciones se enfocan en tareas cotidianas referentes a la administración. Cada proyecto de la organización cuenta con una serie de procesos para llevarlo a cabo, los cuales son planeados y ejecutados de acuerdo con políticas establecidas; los proyectos utilizan gente capacitada quienes disponen de recursos para producir salidas controladas; se involucran a las partes interesadas; son monitoreados, controlados y revisados; y son evaluados según la descripción del proceso. La disciplina del proceso reflejada por el nivel de madurez 2 ayuda a asegurar que existen prácticas y los proyectos son realizados y manejados de acuerdo a los planes documentados. En el nivel de madurez 2 el estado de los artefactos y la entrega de los servicios siguen planes definidos. Acuerdos son establecidos entre partes interesadas y son revisados cuando sea necesario. Los artefactos y servicios son apropiadamente controlados. Estos además satisfacen sus descripciones especificadas, estándares, y procedimientos. Este nivel está enfocado hacia la gestión de proyectos. 46
47 Las áreas de proceso del nivel 2 son: Administración de requerimientos (REQM) Planeación de proyectos (PP) Monitoreo y control de proyectos (PMC) Medición y análisis (MA) Aseguramiento de calidad de procesos y productos (PPQA) Administración de acuerdo con proveedores (SAM) Administración de la configuración (CM) Administración de requerimientos (REQM). El propósito de esta área es administrar los requerimientos de los productos y los componentes de productos del proyecto e identificar las inconsistencias entre esos requerimientos y los planes y productos de trabajo del proyecto 33. Su objetivo específico (SG) es que debe mantener los requerimientos actualizados y probados durante el tiempo de vida del proyecto. Y sus prácticas específicas (SP) para lograr cumplir el objetivo específico (SG) son: Entender los requerimientos Obtener compromiso con los requerimientos Administrar los cambios a los requerimientos Identificar inconsistencias entre productos de trabajo y requerimientos Planeación de proyectos (PP). El propósito de esta área es establecer y mantener planes que definan las actividades del proyecto 34. Sus objetivos específicos (SG) son: Establecer estimaciones Establecer el plan del proyecto Obtener compromiso con el plan 33 CHRISSIS, Op. Cit., p CHRISSIS, Op. Cit., p
48 Y sus prácticas específicas (SP) para lograr cumplir los objetivos específicos (SG) son: Objetivo específico (SG): Establecer estimaciones Estimar el alcance del proyecto Establecer estimados de atributos de productos de trabajo y tareas Definir el ciclo de vida del proyecto Determinar los estimados de esfuerzo y costo Objetivo específico (SG): Establecer el plan del proyecto Establecer el presupuesto y el cronograma Identificar los riesgos del proyecto Planear la gestión de datos Planear los recursos del proyecto Planear los conocimientos y habilidades requeridos Planear la participación de los stakeholders (grupos personas o entidades requeridas para la ejecución de dichas actividades) Establecer el plan del proyecto. Objetivo específico (SG): Obtener compromiso con el plan. Revisar los planes que afectan el proyecto Conciliar los niveles de trabajo y los recursos Obtener compromiso con el plan Monitoreo y control de proyectos (PMC). El propósito es proporcionar una comprensión del progreso del proyecto, y poder tomar acciones correctivas apropiadas cuando el desempeño del proyecto se desvíe considerablemente del plan inicial 35. Sus objetivos específicos (SG) son: Monitorear el proyecto contra el plan Administrar las acciones correctivas hasta su cierre Y sus prácticas específicas (SP) para lograr cumplir los objetivos específicos (SG) son: Objetivo específico (SG): Monitorear el proyecto contra el plan Monitorear los parámetros de planeación del proyecto Monitorear los compromisos Monitorear los riesgos 35 CHRISSIS, Op. Cit., p
49 Monitorear la gestión de datos Monitorear la participación de los stakeholders Realizar revisiones de progreso Realizar revisiones de hitos Objetivo específico (SG): Administrar las acciones correctivas hasta su cierre Analizar problemas Tomar acciones correctivas Administrar las acciones correctivas Medición y análisis (MA). El propósito es desarrollar y sustentar una capacidad de medición que se utiliza para poder dar soporte a las necesidades de información de la gerencia 36. Sus objetivos específicos (SG) son: Alinear las actividades de medición y análisis Proveer los resultados de las mediciones Y sus prácticas específicas (SP) para lograr cumplir los objetivos específicos (SG) son: Objetivo específico (SG): Alinear las actividades de medición y análisis Establecer objetivos de medición Especificar las mediciones Especificar los procedimientos de datos Especificar los procedimientos de análisis Objetivo específico (SG): Proveer los resultados de las mediciones Recolectar los datos de medición Analizar los datos de medición Almacenar los daros y resultados Comunicar los resultados Aseguramiento de calidad de procesos y productos (PPQA). El propósito es proporcionar al personal y a la gerencia una visión objetiva de los procesos y de los productos de trabajo asociados CHRISSIS, Op. Cit., p CHRISSIS, Op. Cit., p
50 Sus objetivos específicos (SG) son: Evaluar objetivamente los procesos y los productos de trabajo Proporcionar una visión objetiva Y sus prácticas específicas (SP) para lograr cumplir los objetivos específicos (SG) son: Objetivo específico (SG): Evaluar objetivamente los procesos y los productos de trabajo. Evaluar los procesos objetivamente Evaluar los productos de trabajo objetivamente. Objetivo específico (SG): Proporcionar una visión objetiva. Comunicar y asegurar la solución de los no cumplimientos Establecer registros Administración de acuerdo con proveedores (SAM). El propósito es administrar la adquisición de productos entregados por los proveedores con los cuales se ha realizado un acuerdo formal 38. Sus objetivos específicos (SG) son: Establecer acuerdos con los proveedores Cumplir los acuerdos con los proveedores Y sus prácticas específicas (SP) para lograr cumplir los objetivos específicos (SG) son: Objetivo específico (SG): Establecer acuerdos con los proveedores Determinar el tipo de adquisición Seleccionar proveedores Establecer acuerdos con los proveedores Objetivo específico (SG): Cumplir los acuerdos con los proveedores Ejecutar los acuerdos con los proveedores Monitorear los procesos seleccionados de los proveedores Monitorear los productos de trabajo seleccionados de los proveedores Aceptar el producto adquirido Transferir los productos 38 CHRISSIS, Op. Cit., p
51 Administración de la configuración (CM). El propósito es establecer y mantener la integridad de los productos de trabajo utilizando la identificación de configuración, el control de configuración, el registro del estado de configuración y las auditorias de configuración 39. Sus objetivos específicos (SG) son: Establecer líneas base Controlar los cambios Establecer integridad Y sus prácticas específicas (SP) para lograr cumplir los objetivos específicos (SG) son: Objetivo específico (SG): Establecer líneas base Identificar los ítems de configuración Establecer un sistema de gestión de configuraciones Crear o liberar líneas base Objetivo específico (SG): Controlar los cambios Realizar seguimiento a las solicitudes de cambio Controlar los ítems de configuración Objetivo específico (SG): Establecer integridad Establecer registros de administración de configuraciones Realizar auditorías de configuración Nivel 3: Definido. En el nivel de madurez 3, procesos son caracterizados y entendidos de buena forma, y son descritos en estándares, procedimientos, herramientas, y métodos. El conjunto de procesos estándares de la organización, los cuales son la base para el nivel de madurez 3, es establecido y mejorado continuamente. Estos procesos estándares son usados para establecer consistencia a través de la organización. Los proyectos establecen sus procesos adaptando el conjunto de procesos estándares de la organización de acuerdo a guías de adaptación. 40 Una diferencia importante entre el nivel 2 y 3 es el alcance de los estándares: la descripción de procesos y los procedimientos. En el nivel de madurez 2, los estándares pueden ser un poco diferentes en cada instancia específica del 39 CHRISSIS, Op. Cit., p CHRISSIS, Op. Cit., p
52 proceso (por ejemplo sobre un proyecto particular). En el nivel de madurez 3, los estándares, descripción de procesos y procedimientos para un proyecto, son adaptados desde un conjunto de procesos estándares de la organización a un particular proyecto o unidad organizacional y así son más consistentes. Otra distinción crítica es que el nivel de madurez 3, los procesos son típicamente descritos más rigurosamente que en el nivel 2. Un proceso definido claramente plantea el propósito, entradas, criterios de entrada, actividades, roles, medidas, pasos de verificación, salidas y criterios de salida. En el nivel de madurez 3, procesos son manejados más proactivamente entendiendo las interrelaciones de las actividades y medidas detalladas del proceso, sus artefactos y sus servicios. Las áreas de proceso del nivel 3 son: Definición de requerimientos (RD) Solución técnica (TS) Integración del producto (PI) Verificación (VER) Validación (VAL) Definición de procesos organizacionales (OPD) Enfoque a procesos organizacionales (OPF) Entrenamiento organizacional (OT) Administración integrada del proyecto (IPM) Administración de riesgos (RSKM) Análisis y toma de decisiones (DAR) Definición de requerimientos (RD). El propósito es producir y analizar los requerimientos de cliente, de producto y de componente del producto 41. Sus objetivos específicos (SG) son: Desarrollar los requerimientos del cliente Desarrollar los requerimientos de producto Analizar y validar los requerimientos Y sus prácticas específicas (SP) para lograr cumplir los objetivos específicos (SG) son: 41 CHRISSIS, Op. Cit., p
53 Objetivo específico (SG): Desarrollar los requerimientos del cliente Obtener las necesidades Desarrollar los requerimientos de cliente Objetivo específico (SG): Desarrollar los requerimientos de producto Establecer los requerimientos de producto y de componentes del producto Asignar los requerimientos de componentes del producto Identificar los requerimientos de interfaz Objetivo específico (SG): Analizar y validar los requerimientos Establecer los conceptos operativos y los escenarios Establecer una definición de la funcionalidad requerida Analizar los requerimientos Analizar los requerimientos para alcanzar el equilibrio Validar los requerimientos Solución técnica (TS). El propósito es diseñar, desarrollar e implementar soluciones para los requerimientos. Las soluciones, los diseños y las implementaciones engloban productos, componentes de producto y procesos del ciclo de vida asociados al producto, individualmente o en combinación, según sea apropiado 42. Sus objetivos específicos (SG) son: Seleccionar las soluciones de componentes de producto Desarrollar el diseño Implementar el diseño de producto Y sus prácticas específicas (SP) para lograr cumplir los objetivos específicos (SG) son: Objetivo específico (SG): Seleccionar las soluciones de componentes de producto Desarrollar las soluciones alternativas y los criterios de selección Seleccionar las soluciones de componentes de producto Objetivo específico (SG): Desarrollar el diseño Diseñar el producto o el componente de producto Establecer un paquete de datos técnicos Diseñar las interfaces usando criterios Realizar los análisis sobre si hacer, comprar o reutilizar 42 CHRISSIS, Op. Cit., p
54 Objetivo específico (SG): Implementar el diseño de producto Implementar el diseño Desarrollar la documentación de soporte de producto Integración del producto (PI). El propósito es ensamblar el producto a partir de sus componentes, asegurar que el producto, una vez integrado, funciona correctamente, y entregar el producto. 43 Sus objetivos específicos (SG) son: Preparar para la integración de producto Asegurar la compatibilidad de la interfaz Ensamblar los componentes de producto y entregar el producto. Y sus prácticas específicas (SP) para lograr cumplir los objetivos específicos (SG) son: Objetivo específico (SG): Preparar para la integración de producto Determinar la secuencia de integración Establecer el entorno de integración de producto Establecer los procedimientos y los criterios de integración de producto Objetivo específico (SG): Asegurar la compatibilidad de la interfaz Revisar la completitud de las descripciones de la interfaz Gestionar las interfaces Objetivo específico (SG): Ensamblar los componentes de producto y entregar el producto Confirmar la disponibilidad de los componentes de producto para su integración Ensamblar los componentes de producto Evaluar los componentes de producto ensamblados Empaquetar y entregar el producto o el componente de producto Verificación (VER). El propósito de es asegurar que los productos de trabajo seleccionados cumplen sus requerimientos especificados 44. Sus objetivos específicos (SG) son: 43 CHRISSIS, Op. Cit., p CHRISSIS, Op. Cit., p
55 Preparar la verificación Realizar revisiones entre pares Verificar los productos de trabajo seleccionados Y sus prácticas específicas (SP) para lograr cumplir los objetivos específicos (SG) son: Objetivo específico (SG): Preparar la verificación Seleccionar los productos de trabajo a verificar Establecer el entorno de verificación Establecer los procedimientos y los criterios de verificación Objetivo específico (SG): Realizar revisiones entre pares Preparar las revisiones entre pares Llevar a cabo las revisiones entre pares Analizar los datos de la revisión entre pares Objetivo específico (SG): Verificar los productos de trabajo seleccionados Realizar la verificación Analizar los resultados de la verificación Validación (VAL). El propósito es demostrar que un producto o componente de producto se ajusta a su uso previsto cuando se sitúa en su entorno previsto 45. Sus objetivos específicos (SG) son: Preparar la validación Validar el producto o los componentes de producto Y sus prácticas específicas (SP) para lograr cumplir los objetivos específicos (SG) son: Objetivo específico (SG): Preparar la validación Seleccionar los productos a validar Establecer el entorno de validación Establecer los procedimientos y los criterios Objetivo específico (SG): Validar el producto o los componentes de producto Realizar la validación Analizar los resultados de la validación 45 CHRISSIS, Op. Cit., p
56 Definición de procesos organizacionales (OPD). El propósito es establecer y mantener un conjunto usable de activos de proceso de la organización y de estándares del entorno de trabajo 46. Su objetivo específico (SG) es: Establecer los activos de proceso de la organización Y sus prácticas específicas (SP) para lograr cumplir el objetivo específico (SG) son: Objetivo específico (SG): Establecer los activos de proceso de la organización Establecer los procesos estándar Establecer las descripciones de los modelos de ciclo de vida Establecer los criterios y las guías de adaptación Establecer el repositorio de medición de la organización Establecer la biblioteca de activos de proceso de la organización Establecer los estándares del entorno de trabajo Enfoque a procesos organizacionales (OPF). El propósito es planificar, implementar y desplegar las mejoras de procesos de la organización, basadas en una comprensión completa de las fortalezas y debilidades actuales de los procesos y de los activos de proceso de la organización 47. Sus objetivos específicos (SG) son: Determinar las oportunidades de mejora de procesos Planificar e implementar las mejoras de procesos Desplegar los activos de proceso de la organización e incorporar las lecciones aprendidas Y sus prácticas específicas (SP) para lograr cumplir los objetivos específicos (SG) son: Objetivo específico (SG): Determinar las oportunidades de mejora de procesos Establecer las necesidades de procesos de la organización 46 CHRISSIS, Op. Cit., p CHRISSIS, Op. Cit., p
57 Evaluar los procesos de la organización Identificar las mejoras de procesos de la organización Objetivo específico (SG): Planificar e implementar las mejoras de procesos Establecer planes de acción de procesos Implementar los planes de acción de procesos Objetivo específico (SG): Desplegar los activos de proceso de la organización e incorporar las lecciones aprendidas Desplegar los activos de proceso de la organización Desplegar los procesos estándar Monitorizar la implementación Incorporar las experiencias relativas al proceso en los activos de proceso de la organización Entrenamiento organizacional (OT). El propósito es desarrollar las habilidades y el conocimiento de las personas para que puedan realizar sus roles eficaz y eficientemente 48. Sus objetivos específicos (SG) son: Establecer una capacidad de formación organizativa Proporcionar la formación necesaria Y sus prácticas específicas (SP) para lograr cumplir los objetivos específicos (SG) son: Objetivo específico (SG): Establecer una capacidad de formación organizativa Establecer las necesidades de formación estratégicas Determinar qué necesidades de formación son responsabilidad de la organización Establecer un plan táctico de formación organizativa Establecer la capacidad de formación Objetivo específico (SG): Proporcionar la formación necesaria Impartir la formación Establecer los registros de formación Evaluar la eficacia de la formación Administración integrada del proyecto (IPM). El propósito es establecer y gestionar el proyecto y la involucración de las partes interesadas relevantes de 48 CHRISSIS, Op. Cit., p
58 acuerdo a un proceso integrado y definido que se adapta a partir del conjunto de procesos estándar de la organización 49. Sus objetivos específicos (SG) son: Utilizar el proceso definido del proyecto Coordinar y colaborar con las partes interesadas relevantes Y sus prácticas específicas (SP) para lograr cumplir los objetivos específicos (SG) son: Objetivo específico (SG): Utilizar el proceso definido del proyecto Establecer el proceso definido del proyecto Utilizar los activos de proceso de la organización para planificar las actividades del proyecto Establecer el entorno de trabajo del proyecto Integrar los planes Gestionar el proyecto utilizando los planes integrados Contribuir a los activos de proceso de la organización Objetivo específico (SG): Coordinar y colaborar con las partes interesadas relevantes Gestionar la involucración de las partes interesadas Gestionar las dependencias Resolver los problemas de coordinación Administración de riesgos (RSKM). El propósito es identificar los problemas potenciales antes de que ocurran para que las actividades de tratamiento de riesgos puedan planificarse e invocarse según sea necesario a lo largo de la vida del producto o del proyecto para mitigar los impactos adversos para alcanzar los objetivos 50. Sus objetivos específicos (SG) son: Preparar la gestión de riesgos Identificar y analizar los riesgos Mitigar los riesgos 49 CHRISSIS, Op. Cit., p CHRISSIS, Op. Cit., p
59 Y sus prácticas específicas (SP) para lograr cumplir los objetivos específicos (SG) son: Objetivo específico (SG): Preparar la gestión de riesgos. Determinar las fuentes y las categorías de los riesgos. Definir los parámetros de los riesgos. Establecer una estrategia de gestión de riesgos. Objetivo específico (SG): Identificar y analizar los riesgos. Identificar riesgos. Evaluar, categorizar y priorizar los riesgos. Objetivo específico (SG): Mitigar los riesgos. Desarrollar los planes de mitigación de riesgo. Implementar los planes de mitigación de riesgo Análisis y toma de decisiones (DAR). El propósito es analizar las decisiones posibles utilizando un proceso de evaluación formal que evalúa alternativas identificadas frente a criterios establecidos 51. Su objetivo específico (SG) es: Evaluar las alternativas. Y sus prácticas específicas (SP) para lograr cumplir el objetivo específico (SG) son: Objetivo específico (SG): Evaluar las alternativas. Establecer guías para el análisis de decisiones. Establecer criterios de evaluación. Identificar soluciones alternativas. Seleccionar métodos de evaluación. Evaluar alternativas. Seleccionar soluciones. 5.4 RESULTADOS DE LA EVALUACIÓN La evaluación de ITMARK se realiza con la metodología SCAMPI ya explicada en el numeral del capítulo anterior. 51 CHRISSIS, Op. Cit., p
60 IT Mark propone un esquema de tres niveles de exigencia en función de la madurez demostrada en los procesos de la empresa 52 : ITMark: Acredita a una empresa que es consciente de los problemas relacionados con la gestión técnica, de seguridad y del negocio, y que los mantiene habitualmente bajo control, a través de la mejora continua. ITMark Premium: Acredita a una empresa que ha conseguido una Buena Madurez en sus procesos de trabajo técnico, seguridad y del negocio, de acuerdo a modelos internacionalmente reconocidos. ITMark Elite: Acredita a una empresa que ha conseguido un nivel Superior en la Definición e Institucionalización de sus procesos de trabajo técnico, de seguridad y de negocio, por lo que se confía en que la calidad de sus productos sea buena, debido a la madurez de sus procesos y a la mejora continua. Si la empresa no alcanza el nivel deseado, y es posible alcanzarlo, se le da un periodo de 6 meses para que mejoren los puntos débiles que presente. Al cabo de estos 6 meses, se vuelven a evaluar las áreas de procesos que quedaron pendientes; si la empresa realizó todos los cambios necesarios, se le dará la certificación en el nivel alcanzado. Luego de que se le haya dado un nivel de ITMark a una empresa, se hace una evaluación corta a la empresa a los 12 meses y una evaluación completa a los 36 meses, con el fin de garantizar la no degradación de la madurez de la empresa. 5.5 BENEFICIOS DE LA CERTIFICACIÓN DE ITMARK Según el ESI Center, los beneficios de la certificación de ITMark son: Mejorar el rendimiento del negocio (desde el punto de vista técnico y administrativo) Ganar reconocimiento en el mercado de TI Lograr una diferenciación de mercado, por medio de un sello de excelencia Identificar las fortalezas y debilidades, así como oportunidades de mejora 52 ESI Center y Camara de Comercio de Bogotá, Op. Cit., p. 4 60
61 Incluye una hoja de ruta de mejora a través de los grados sucesivos de la madurez de la empresa Es barata y rentable Otros beneficios de ITMark son: Formar un recurso humanos capacitado para la realización de las actividades definidas en el sistema de la calidad 53 El programa incluye valoraciones en Gestión del Negocio y en Seguridad Informática, ignoradas por otros modelos, por encima de los procesos de Software y Sistemas 54 Es un buen mecanismo para avanzar luego hacia una valoración integral de CMMI 55 La evaluación está basada en modelos reconocidos mundialmente y solidas metodologías probadas, repetibles, confiables y útiles para compararse competitivamente ITMARK EN COLOMBIA Actualmente, existen alrededor de 60 empresas certificadas en el Modelo ITMark a nivel mundial, en países como Armenia, Australia, Bulgaria, Francia, Perú, República de Macedonia, España y Colombia, entre otros. En la tabla 13 se encuentran el número de empresas por países en donde se han realizado evaluaciones de IT Mark. Como podemos ver en la tabla 13, Colombia es el país con mayor número de empresas evaluadas por ITMark. De estas 28 empresas evaluadas, 19 están certificadas en ITMark y una tiene la certificación ITMark Premium (ver tabla 14). La empresa que tiene la certificación Premium es SOFTMANAGEMENT S.A, esta empresa obtuvo la certificación en mayo de 2009 y es la primera empresa en Latinoamérica en obtener este nivel de certificación y la segunda en Colombia en obtener una certificación de ITMark VILLA SÁNCHEZ, Paula Andrea. IT-Mark. I Seminario en Buenas Prácticas de Software. Universidad Tecnológica de Pereira: Laboratorio de Calidad del Software p.19. Disponible en: <http://isc.utp.edu.co/archivos_seminarios/it-mark.pdf>. [citado en mayo 2010]. 54 Ibid., p Ibid., p Esi Center. Modelo I.T Mark. Disponible en: < en mayo 2010]. 57 SOFTMANAGEMENT S.A. Certificaciones. Disponible en: <http://www.softmanagement.com.co/certificaciones.htm >. [citado en mayo 2010]. [citado 61
62 Tabla 13. Empresas en el mundo con certificación ITMark Fuente: ESI Center. List of ITMark Appraisals. Disponible en: < 2010]. [citado en mayo Tabla 14. Empresas colombianas con la certificación de ITMark 62
63 Tabla 14. (Continuación) Fuente: ESI Center. List of IT Mark Certified Companies. Disponible en: <http://www.esi.es/products&services/itcompetitiveness/itmark/itmarkcomplist.p hp> [citado en mayo 2010]. 63
64 6. DIAGNÓSTICO DE LAS EMPRESAS DE LA CIUDAD DE PEREIRA Para el presente diagnostico se delimito como población las empresas que desarrollan software en la ciudad de Pereira, estas empresas están constituidas legalmente y registradas en la cámara de comercio de Pereira a excepción de algunas empresas de ParqueSoft las cuales utilizan el nit de Parquesoft. La lista de las empresas visitadas se obtuvo de un estudio realizado en el año 2007 por parte de un estudiante de Ingeniería de Sistemas de la Universidad Tecnológica de Pereira 58, de la cual se hizo una verificación mediante llamadas telefónicas; se encontró que algunas de estas empresas ya no existen, otras actualmente no se dedican al desarrollo de software, el domicilio de algunas no era el que se encontraba en la lista, otras empresas simplemente tenían en la ciudad sucursales donde atendían al cliente pero el desarrollo se hacía en otra ciudad. Se agregó a esta lista las empresas registradas en el directorio telefónico de la ciudad de Pereira del año 2009 y las empresas de ParqueSoft que tenían al menos un producto desarrollado. 6.1 DISEÑO Y ELABORACIÓN DE ENCUESTAS Con la elaboración de la encuesta se buscaba diagnosticar las empresas desarrolladoras de software de Pereira. La evaluación se dividió en tres partes: el perfil de la empresa, el recurso humano del departamento de sistemas y los procesos de calidad. Para facilitar la aceptación por parte del empresario al realizar la encuesta se conto con una carta de presentación donde el Grupo de Avanzada en el Desarrollo de Software (GRANDE) y el programa de Ingeniería de Sistemas y Computación de la Universidad Tecnológica de Pereira en la que se explicaba el motivo del estudio y la importancia que tenia la participación de la empresa para el éxito del mismo. De igual manera se firmo con la empresa un acuerdo de confidencialidad 58 MANTILLA, Carlos Andrés y David Mauricio González. Caracterización de las empresas desarrolladoras de software en el área metropolitana centro-occidente para el periodo [en línea]. p. 67. Pereira, Trabajo de grado (Ingeniero de Sistemas y Computación). Universidad Tecnológica de Pereira. Facultad de Ingenierías: eléctrica, electrónica, física y ciencias de la computación, Ingeniería de Sistemas y Computación. Disponible en: < [citado en agosto 2009] 64
65 Las encuestas fueron realizadas satisfactoriamente durante el mes de septiembre y octubre del En la tabla 13 se presenta el número total de empresa que se visitó y encuestó. Tabla 15. Población de empresas Fuente: Los autores Población total 23 empresas Empresas encuestadas Empresas no encuestadas No atendió 2 20 Imposible de localizar RESULTADOS DE LA ENCUESTA Perfil de la empresa. En la elaboración de la encuesta se realizaron varias preguntas a las empresas en esta primera parte, que nos permitían conocer los datos generales de estas, sin embargo por el acuerdo de confidencialidad que se firmó solo se van a analizar algunas de estas preguntas. Se anexa el acuerdo de confidencialidad Productos que desarrollan y ofrecen las empresas de software de Pereira. En esta pregunta las empresas tenían la posibilidad de marcar varias opciones. Con los resultados obtenidos se puede observar que las empresas se dedican a desarrollar diferentes productos, es decir que no se especializan. En la figura 10 se puede notar que trece de las 20 empresas encuestadas se dedican a desarrollar software empresarial, es decir más del 50%, mientras que otros productos como el software educativo sólo se desarrollan en una empresa que a su vez desarrolla software empresarial. Se destaca en la gráfica que se está desarrollando en mayor proporción un tipo de software, el empresarial, generando una gran competencia entre las empresas y dejando a un lado el desarrollo de otro tipo de productos que pueden representar oportunidad para iniciar nuevos negocios. 65
66 Figura 10. Productos que desarrollan Fuente: Los autores Tipo de producto o servicio. Las empresas tenían la posibilidad de marcar varias opciones. Los resultados obtenidos muestran que la mayoría de las empresas desarrollan software empaquetado y software a la medida, 85% y 75% respectivamente y solo un 5% de estas empresas se dedican al desarrollo web y otras en menor proporción a prestar servicios de outsourcing. Figura 11. Tipo de producto desarrollado Fuente: Los autores 66
67 Sector económico. Las empresas tenían la posibilidad de marcar varias opciones. Los sectores económicos en los cuales se han enfocado las empresas son el comercio y los servicios con el 75% de las empresas desarrollando para estos. Por otro lado, los sectores de la construcción y de entidades sin ánimo de lucro son los menos explotados por parte de las empresas desarrolladoras de software de Pereira, esto puede representar oportunidades de emprendimiento para nuevas empresas. Figura 12. Sectores económicos para los que se desarrolla software Fuente: Los autores Tipo de mercado. Las empresas tenían la posibilidad de marcar varias opciones. El mercado local y regional es el más abarcado por las empresas de software de Pereira y solo cinco de las 20 empresas encuestadas desarrollan software para otros países, es decir que las empresas actualmente están orientadas a desarrollar software para el mercado nacional. Ver figura Ventas. El 37% de las empresas vende anualmente entre 50 y 100 millones de pesos y tan solo el 11% vende más de 500 millones de pesos. Comparando estas cifras con los datos de la tabla 16 donde se indica el tipo de empresa de acuerdo a los activos que éstas tengan, solo dos empresas que manejan ingresos anuales superiores a 500 millones de pesos son consideradas pequeñas empresas en Colombia, las otras diecisiete con ingresos inferiores a los 200 millones de pesos son consideradas en Colombia como microempresas. Ver figura
68 Figura 13. Cobertura del mercado Fuente: Los autores Figura 14. Ventas anuales en millones de pesos Fuente: Los autores Tabla 16. Clasificación de las empresas según su tamaño Fuente: Ley 905 de 2004, Capítulo 1, Art. 2. Colombia. Disponible en: 68
69 <http://www.sena.edu.co/nr/rdonlyres/8dcdb7d4-fabe-42da-bd74-00f7c40ad9d0/0/ley905_2004_mipymes.pdf > [citado en mayo 2010] Evaluación del recurso humano del departamento de sistemas. En esta parte de la encuesta, se evaluó a cada uno de los integrantes del recurso humano del departamento de sistemas de las empresas. A continuación se analizan los resultados de cada una de las preguntas Funciones de los empleados en la empresa. En total fueron encuestados 75 empleados de las 20 empresas, de estos el 61% desarrollan más de un cargo. Esta situación es muy común encontrarla en empresas pequeñas ya que por falta de personal y de presupuesto, estos deben de realizar varias tareas a la vez demostrando que no hay una especialización por parte del empleado en un área de trabajo determinada. Figura 15. Empleados con uno o más cargos Fuente: Los autores Figura 16. Cargo desempeñado 69
70 Fuente: Los autores De los 75 empleados encuestados, 54 son Analistas y/o Programadores de Sistemas, de éstos según los datos arrojados por las encuestas, 22 se desempeñan únicamente en este cargo; los otros 32 se dedican a otras labores como Analista de Pruebas e Ingeniero de Servicio/Soporte, demostrando poca especialización en una tarea específica Área de formación. De los 75 empleados encuestados, 45 tienen una carrera profesional, de estos, 36 son profesionales en carreras relacionadas con la Ingeniería de Sistemas y 21 en otras carreras como Ingeniería Industrial. Solo el 18,5% de los encuestados tienen algún postgrado y el 33% son estudiantes en su mayoría de Ingeniería de Sistemas. Ver figura 17. Esto se puede presentar debido a la baja oferta en postgrados relacionados al área de sistemas en la ciudad de Pereira, donde sólo existen dos especializaciones, una en Electrónica Digital y la otra en Redes de Datos, y una maestría en Ingeniería de Sistemas y Computación en la Universidad Tecnológica de Pereira (U.T.P). Según los datos que se tomaron en la encuesta de los 75 empleados que tienen un postgrado, uno lo hizo en la U.T.P, los demás fuera de la cuidad e incluso del país. Con este estudio se evidenció que en la industria desarrolladora de software como en otras industrias hay variedad de profesionales graduados en las diferentes áreas, pero en el momento de trabajar se dedican a otras actividades diferentes a la carrera profesional que eligió. Ver figura 18. Figura 17. Formación académica 70
71 Fuente: Los autores Figura 18. Perfil Profesional Fuente: Los autores De los nueve empleados que estudiaron una carrera profesional no relacionada con el área de sistemas como Contaduría Pública, Ingeniería Industrial y Diseño Gráfico se desempeñan como desarrolladores de software Experiencia en años. El 49% de los encuestados tiene de cero a tres años de experiencia y tan solo el 19% tiene una experiencia laboral de más de 10 años. Según los resultados obtenidos en la realización de las encuestas, la mayor parte de este 49% son jóvenes recién egresados o estudiantes de últimos semestres de carreras profesionales, en su mayoría de Ingeniería de Sistemas. Figura 19. Experiencia laboral 71
72 Fuente: Los autores Certificaciones. De los 75 empleados encuestados tan solo seis tienen certificaciones, teniendo en cuenta que algunos de ellos tienen varios tipos de certificaciones. El empleado que esta certificado en CISCO también lo está en Microsoft, el que tiene una certificación en java tiene otra en desarrollo de software, otro empleado tiene dos certificaciones en base de datos una de estas es Oracle, también tiene dos certificaciones en desarrollo de software una de estas es.net, es decir que de los seis empleados certificados, tres tienen de dos a cuatro certificaciones diferentes. Figura 20. Tipos de certificaciones Fuente: Los autores Nivel de inglés conversacional. La mayor parte de los encuestados tienen un nivel medio o básico de ingles conversacional, 34 % y 30% respectivamente. Mientras que el 16% tiene un nivel amplio. Esto representa una limitación para profundizar en el campo de trabajo, dado que la mayoría de la documentación que se necesitan en las diferentes áreas de sistemas esta en ingles y limita la posibilidad de abrir mercado internacional. 72
73 Figura 21. Nivel de inglés conversacional Fuente: Los autores Procesos de calidad. Esta es la última parte de la encuesta realizada en las empresas. En esta se evalúan aspectos como la definición de un plan de mejora de productos, la seguridad de la información, la realización de pruebas de software, entre otros Definición del mercado que describe mejor la empresa. El 75% de las empresas tienen un mercado medio grande y el 20% tienen un mercado pequeño y las perspectivas de crecimiento de ambas es alto, es decir que están atacando un mercado que les puede brindar los recursos para crecer como empresa. Sin embargo el 5% de las empresas que tienen un mercado pequeño no tienen expectativas de crecimiento lo cual generará una parálisis en el desarrollo de sus productos y poca cobertura del mercado produciendo un ciclo de vida corto de la empresa. Figura 22. Descripción del mercado 73
74 Fuente: Los autores Proyecciones de competir internacionalmente. El 70% de las empresas encuestas contemplan dentro de su visión abarcar el mercado internacional, cabe aclarar que algunas de ellas ya tienen clientes internacionales pero de igual manera pretenden extenderse a otros países. Sin embargo según la figura 21, el nivel de inglés conversacional en su mayoría es básico, por lo tanto es importante que dentro del personal de la empresa se tenga dominio de otros idiomas para abrir mercado en los diferentes países del mundo. Figura 23. Proyecciones de competir internacionalmente Fuente: Los autores Plan de mejora de los productos. Tener un plan de mejora de productos, significa que se piensa en nuevas versiones, en ampliación de utilidades de la aplicación e integración de productos y servicios ya que el 35% de las empresas ni siquiera poseen un plan para mejorar los productos que desarrollan. Figura 24. Plan de mejora de productos Fuente: Los autores 74
75 Actividades o disciplinas que se ejecutan durante la construcción del software. Como se puede observar en la gráfica algunas de las empresas encuestadas no realizan ciertas etapas del ciclo de vida del desarrollo de software, se enfocan específicamente en tres etapas que son: el análisis de requerimientos, la codificación del programa y las pruebas, según la información obtenida de las encuestas el 75% de las empresas realizan todas las etapas para el desarrollo de software. Figura 25. Etapas que se realizan en la construcción del software Fuente: Los autores Sistema de gestión de seguridad de la información. Contar con un sistema de gestión de seguridad de la información bien definido es importante si consideramos que el activo más importante de la empresa es su información y aunque el 75% de las empresas afirman tenerlo (ver figura 26), es poco estructurado, es mínimo para el control de seguridad que deben tener, esto lo podemos evidenciar en la figura
76 Figura 26. Sistema de gestión de seguridad de la información Fuente: Los autores Figura 27. Procesos para garantizar la seguridad de la información Fuente: Los autores Área(s) que se necesitan mejorar en las empresas para aplicar a un certificado de calidad. En esta pregunta las empresas tenían la posibilidad de seleccionar varias opciones. La mayoría de ellas coinciden en que deben mejorar los procesos que garanticen la calidad del software, de igual forma, consideran que también deben mejorar áreas como la financiera y la de recurso humano para acceder a una certificación de calidad. 76
77 Figura 28. Áreas a mejorar para aplicar a un certificado de calidad Fuente: Los autores Quien realiza las pruebas de los desarrollos en las empresas. Según los datos obtenidos de las encuestas y que podemos observar en la figura 29, nueve empresas tienen un departamento especifico dedicado a la realización de pruebas al software que desarrollan, aclarando que no solo este departamento realiza las pruebas, ya que el programador a medida que desarrolla el software también hace algunas pruebas y los clientes las hacen, cuando el producto está terminado. De la misma manera también hay empresas en las cuales el programador es quien hace las pruebas durante todo el desarrollo, es decir no existe un departamento encargado únicamente de las pruebas. Figura 29. Pruebas de software Fuente: Los autores 77
78 Utilización de herramientas de automatización de pruebas de software. Como muestra la figura 30 el 70% de empresas que desarrollan software en Pereira no cuentan con herramientas de automatización de software, según las encuestas realizadas alrededor de un 50% de las empresas realizan las pruebas como ellos llaman a prueba y error, mientras que el 30% de las empresas usan herramientas de automatización de pruebas de software. Estas empresas utilizan las siguientes herramientas: Selenium, Autohotkey, Visual Fox, Jmeter y herramientas que las mismas empresas desarrollaron. Figura 30. Uso de herramientas de automatización de pruebas de software Fuente: Los autores Figura 31. Herramientas de automatización de pruebas de software Fuente: Los autores Lenguajes de programación utilizados en las empresas. Se preguntó a las empresas sobre los lenguajes de programación que utilizaban, el 45% respondió que desarrollan en PHP y el 35% en.net. Cabe resaltar que en las empresas se utilizan varios lenguajes de programación para hacer los desarrollos. 78
79 Figura 32. Lenguajes de programación Fuente: Los autores Modelos de calidad conocidos en las empresas. Dada las mejoras que se tendrían que realizar en las empresas que decidan certificarse, se pregunto a las empresas cuales modelos de certificación conocían dándoles la posibilidad de escoger diferentes opciones, doce empresas es decir alrededor del 50% aseveraban conocer el modelo internacional CMMI, al igual que algunas de las normas ISO (Organización Internacional para la Estandarización) del país. Figura 33. Modelos de calidad conocidos Fuente: Los autores 79
80 Beneficios que podría tener una certificación en calidad de software. Las empresas desarrolladoras de software de Pereira tenían la posibilidad de escoger varias opciones cuando se les pregunto en qué les favorecería el certificarse, diecisiete de estas empresas concuerdan con que el mayor aporte es el reconocimiento que se obtiene, catorce de las 20 empresas coinciden en que les favorecería en cuanto a la competitividad en el mercado en el que actualmente se encuentran y al mismo tiempo doce afirman que les favorecería a la hora de conseguir nuevos clientes. Figura 34. Factores que favorecerían a la empresa Fuente: Los autores 80
81 7. PROPUESTAS Para poder establecer las propuestas, primero se va a detectar los problemas encontrados en el análisis de las encuestas realizadas en las empresas desarrolladoras de software de Pereira. A partir de estos se va a definir un problema central para establecer las propuestas que ayuden a solucionarlo. 7.1 PROBLEMAS ENCONTRADOS A partir de los resultados obtenidos, se identificaron los siguientes problemas en las empresas: A. Están dedicadas a desarrollar un solo tipo de producto B. Presentan mediana incursión en el desarrollo web C. Poca participación en el mercado internacional D. Empleados poco especializados en sus labores E. Falta de personal con postgrados F. Poca experiencia laboral por parte del talento humano G. Falta de talento humano certificado H. Bajo nivel de inglés conversacional del talento humano I. Falta de un sistema de seguridad de la información bien definido J. Falta de planes de mejora del producto bien definido K. Falta de un departamento de pruebas L. Falta de conocimiento en modelos de calidad En la tabla 17 se define cada uno de los problemas y los indicadores encontrados en el estudio de la encuesta en las empresas desarrolladoras de software de Pereira. Tabla 17. Definición de los problemas encontrados en la encuesta Problema Descriptor Indicador A. Las empresas están dedicadas a desarrollar un solo tipo de producto B. Mediana incursión en el desarrollo web Las empresas en su mayoría desarrollan software empresarial dejando a un lado otro tipo de desarrollo Hay empresas que aún desarrollan software de escritorio 65% de las empresas encuestadas desarrollan software empresarial Sólo el 50% de las empresas encuestadas hacen aplicativos web 81
82 Tabla 17. (Continuación) Problema Descriptor Indicador C. Poca participación en el mercado internacional E. Empleados poco especializados F. Falta de personal con postgrados G. Poca experiencia laboral por parte del personal H. Falta de personal certificado I. Falta de nivel alto de ingles conversacional de los empleados. J. Falta de un sistema de seguridad de la información bien definido K. Falta de un plan de mejora del producto bien definido L. Falta de un departamento de pruebas M. Poco conocimiento de los modelos de calidad Fuente: Los autores No existe una presencia significativa del sector en el mercado internacional El personal no se especializa en una sola labor, hace varias e incluso muchas a la vez Falta de personal con maestrías, doctorados y especializaciones La mayor parte de los empleados tienen muy poca experiencia laboral Muy pocos empleados tienen certificaciones en algún campo de la ingeniería de sistemas El inglés conversacional de la mayor parte de los empleados no pasa de nivel medio Las practicas que garanticen la seguridad de la información son insuficientes Las empresas no tienen formalizado el plan. Ausencia de un departamento de pruebas. Los propios desarrolladores hacen las pruebas Las empresas no conocen los modelos de calidad orientados a las Pymes. El 25% de las empresas encuestadas tienen clientes en el exterior El 61% de los empleados desempeñan más de un cargo El 18,5% de los empleados tienen algún postgrado El 49% de los empleados tienen una experiencia laboral de cero a tres años El 8% de los encuestados tienen alguna certificación. Solo el 16% tiene un nivel amplio de ingles conversacional El esquema de seguridad de las empresas está basado en copias de seguridad y perfil de usuario Falta cronograma de actividades En solo tres empresas las pruebas las desarrolla un departamento de pruebas 10,5% de las empresas conoce IT Mark y ninguna Moprosoft 82
83 7.2 CONTEXTUALIZACIÓN DE LOS PROBLEMAS, CAUSAS Y CONSECUENCIAS A. Las empresas están dedicadas a desarrollar un solo tipo de producto Causas El 65% de las empresas encuestadas desarrollan software empresarial Poco conocimiento del mercado de la región La mayor parte de las empresas desarrollan para el mercado local, el cual en su mayoría es del sector comercial Consecuencias Alta competencia entre las empresas Estancamiento del crecimiento de la empresa Cierre a corto tiempo de la empresa Las empresas no comerciales satisfacen sus necesidades de software por fuera del mercado local Bajas ventas B. Mediana incursión en el desarrollo web Causas Solo el 50% de las empresas encuestadas hacen aplicativos web Falta de oferta de cursos y capacitaciones de desarrollo web Falta de una respuesta oportuna a las nuevas tendencias del mercado Consecuencias Estancamiento del crecimiento de la empresa Disminución de la participación en el mercado Bajas ventas C. Poca participación en el mercado internacional Causas Solo el 25% de las empresas encuestadas tienen clientes en el exterior Bajo nivel de inglés conversacional en los empleados de las empresas Personal con poca experiencia Personal enfocado en el desarrollo de software, pocos con perfil administrativo 83
84 Empresas y empleados sin certificaciones Consecuencias Poca competitividad y reconocimiento Estancamiento del crecimiento de la empresa Bajas ventas Poca inversión en metodologías y tecnologías de desarrollo D. Empleados poco especializados en sus labores Causas El 61% del recurso humano desempeña más de un cargo Poca experiencia laboral especifica del recurso en un campo de acción Falta de definición de perfiles de cargo y estructura organizacional de la empresa El tamaño de las empresas desarrolladoras de la ciudad Falta de recursos del empresario para apoyar a sus colaboradores Consecuencias Falta de maduración de la empresa El empleado no adquiere experiencia laboral Falta de personal certificado E. Falta de personal con postgrados Causas Falta de oferta de postgrados en el sector Dificultad económica para acceder a un postgrado Pocos recursos del empresario para invertir en la especialización Falta de recursos económicos de las empresas para contratar personal con postgrados Consecuencias Falta de especialización en una labor específica por parte del personal Perfil profesional pobre generando un personal poco competitivo Desarrollos poco innovadores Desarrollos poco especializados 84
85 F. Poca experiencia laboral por parte del personal Causas El 49% del recurso humano tienen una experiencia laboral de cero a tres años El 31% del recurso humano son estudiantes de carreras profesionales en su mayoría de Ingeniería de Sistemas El recurso humano desempeña más de una labor a la vez Oferta salarial baja Consecuencias Empresas en permanente nivel bajo de maduración Los empleados con más experiencia salen de la región a buscar una mejor oferta salarial Cierre a corto tiempo de la empresa Falta de calidad en los desarrollos de software G. Falta de personal certificado Causas Dificultad económica para acceder a una certificación Falta de especialización en un área específica generando confusión al momento de aplicar a una certificación Falta de incentivos salariales para las personas certificadas Consecuencias Perfil profesional pobre generando un personal poco competitivo Bajo nivel de calidad en los procesos de desarrollo de software H. Falta de nivel alto de inglés conversacional de los empleados Causas Dificultad económica para acceder a cursos de inglés Falta de motivación del personal por aprender ingles Consecuencias Bajos niveles de ventas en el exterior Personal poco competitivo Limitación en la adquisición de conocimiento 85
86 I. Falta de un sistema de seguridad de la información bien definido Causas Falta de procesos para proteger la información Dificultad económica para acceder a equipos y herramientas necesarias para construir un sistema de seguridad de la información Consecuencias Bajo nivel de protección del principal activo de la empresa Pérdida o robo de información esencial para el funcionamiento de la empresa Baja calidad del servicio prestado, generando poca eficiencia J. Falta de un plan de mejora del producto bien definido Causas Falta de planeación para la realización de las mejoras Inexistencia de un documento por escrito donde se especifique el plan de mejora Consecuencias Estancamiento del producto desarrollado Ciclo de vida corto del producto desarrollado Baja innovación en el producto desarrollado K. Falta de un departamento de pruebas Causas Poca disponibilidad de personal para esta labor por ser empresas pequeñas Falta de personal especializado en pruebas de software Poco conocimiento en la planeación y ejecución de pruebas de software No se cuenta con un software para la realización de pruebas Consecuencias Falta de prácticas en aseguramiento de la calidad Poca credibilidad por parte del cliente Costos elevados por reprocesos después de la implantación del producto No se cumple el tiempo de entrega del producto Falta de satisfacción del cliente 86
87 L. Poco conocimiento de los modelos de calidad Causas Desconocimiento de los modelos de calidad orientados a las Pymes No existe motivación de las empresas por el tema Falta de recursos económicos para prepararse y aplicar a una certificación Falta de centrar sus expectativas en el mercado internacional Consecuencias Mala elección en el momento de elegir en que certificarse Perdida de inversión Baja competitividad en el mercado internacional Falta de definición de procesos que garanticen la seguridad del software 7.3 VALORACIÓN DE LA RELACIÓN DE CAUSALIDAD DIRECTA O INDIRECTA ENTRE PROBLEMAS En la siguiente tabla se muestra la matriz de Vester en donde 0 es no causa, 1 es causa directa, 2 es causa medianamente directa y 3 es causa muy directa. Tabla 18. Matriz de Vester Fuente: Los autores 87

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 Resolución