El evento puesto en marcha por Optimyth Softwaresuscitó el interés de representantes de distintas organizaciones de las Administraciones Públicas como la Junta de Castilla y León, Junta de Castilla La Mancha, ministerio del Interior, ministerio de Defensa, ministerio de Industria, Ministerio de Economía y Hacienda, Canal de Isabel II; y entidades del sector privado como Línea Directa Aseguradora. Marcos Blanco Galán, coordinador del área de Certificación y Calidad del Software en CESJE, dio una breve introducción sobre el origen del centro y su actividad en su misión de “proveer a entidades públicas y privadas extremeñas servicios de soporte a la certificación de aplicaciones, sistemas y profesionales, e integrar desarrollos bajo la plataforma LinEx, con la finalidad de mejorar la competitividad de las empresas del sector TIC extremeño y su penetración en el mercado nacional e internacional”.
El mercado de las Tecnologías de la Información y las Comunicaciones se caracteriza por estar en continua evolución, los proyectos de desarrollo software son cada vez más complejos, requieren la interactuación de sistemas heterogéneos y la integración de diversas tecnologías. En este contexto, la calidad del producto final se convierte en un elemento vital para satisfacer las necesidades del negocio y las expectativas del cliente. “Como factores claves del éxito se requieren actividades de verificación y validación imparciales llevadas a cabo por personal cualificado, garantizando en todo momento la independencia operativa y la autoridad respecto a los responsables de desarrollo”, añadía Marcos.
CESJE destaca por disponer de diferentes líneas de actuación dentro del área de calidad, entre las que figuran las siguientes:
– Asistencia y asesoramiento.
– Análisis y evaluación de la calidad de soluciones informáticas.
– Evaluación de herramientas QA.
– Promoción de estándares y certificaciones relacionados con la calidad del software y la gestión de servicios TI.
– Definición de la marca ‘Software Libre de Extremadura’.
– Formación y divulgación.
La organización entiende la calidad del software como una necesidad para mejorar la competitividad de las empresas, apostando por las Administraciones Públicas como organismos facilitadores e impulsores del aseguramiento de la calidad, tal y como recoge el informe de Inteco en 2008 ‘Estudio sobre la certificación de la calidad como medio para impulsar la industria de desarrollo del software en España’.
Servicio de Pruebas
Por otro lado, el servicio ‘Pruebas de Software’ del CESJE concebido para la evaluación de soluciones informáticas, basándose en soluciones abiertas y de mercado, considera los siguientes tipos de prueba sobre el software objetivo:
– Pruebas funcionales
– Pruebas de rendimiento
– Pruebas de seguridad
– Pruebas de accesibilidad
– Análisis de código
Uno de los principios del área de calidad es la independencia tecnológica, primando en todo momento la validez y la utilidad de los resultados facilitados por las diferentes soluciones que integran la plataforma tecnológica. El éxito, por tanto, reside en utilizar la herramienta más adecuada en cada momento según las necesidades del proyecto. Siguiendo el criterio de independencia tecnológica y acorde a la LCSP (Ley de Contratación del Sector Público), checKing de Optimyth Software es actualmente la solución utilizada en las pruebas de análisis de código.
Para José Antonio Zarandieta Morán, responsable de pruebas funcionales del CESJE, un software de calidad “es aquél que cumple con los requerimientos para los que ha sido creado, además de ser mantenible, confiable y aceptable”, y un factor importante para conseguirlo es asegurar no sólo el correcto comportamiento a nivel funcional, sino también la calidad del código. De hecho, tanto las pruebas funcionales como las de código son los tipos de pruebas más demandados a día de hoy en el CESJE.
Por su parte, Gonzalo Rodríguez Píriz, responsable de pruebas no funcionales del CESJE, destacó el uso de modelos de calidad de software estándares, como ISO 9126 y otros, que son marcos válidos para la certificación de calidad, así como el uso de las herramientas más adecuadas para cada tipo de pruebas. En concreto habló de checKing como la herramienta que les permite verificar el cumplimiento del estándar ISO 9126 de una forma inmediata, así como calcular todo tipo de métricas sobre el código de las aplicaciones y mostrar resultados en cuadros de mando de calidad e informes personalizados para cada cliente.
Optimyth Software considera que es muy importante que clientes como el CESJE, una de cuyas razones de ser es la calidad del software, confíen en checKing como herramienta para asegurar y certificar la calidad del software de empresas y entidades públicas en Extremadura. Tal y como explicó Jesús Martín Molina, CEO de Optimyth Software, “checKing permite no sólo gestionar la calidad de los entregables del proceso de desarrollo de software: requisitos, análisis, diseño, código y pruebas, etc. sino que mediante esta gestión puede ayudar a reducir los costes de mantenimiento, mejorar la productividad y proveer de la información necesaria para tomar decisiones de racionalización de aplicaciones”.
Las herramientas de Optimyth Software checKing QA y checKing AIM, sustentan los cuatro pilares básicos sobre los que construir la gestión del ciclo de vida del desarrollo de aplicaciones y la gobernanza de TI: Gestión de la calidad, reducción del mantenimiento, mejora de la productividad y racionalización de aplicaciones.
Durante la mesa redonda, que tuvo lugar durante el citado encuentro, algunos de los participantes confirmaban que dar respuesta a la problemática que supone implantar esos cuatro pilares es fundamental para las organizaciones de calidad y metodología del desarrollo, aunque poniendo el acento en unos más que en otros. En concreto, algunos asistentes afirmaron que para ellos los pilares clave son la gestión de la calidad, la mantenibilidad y la productividad. Mientras que para otros es más importante la fiabilidad que la mantenibilidad -otro aspecto de la calidad según la ISO 9126-, aunque también la midan y le den importancia.
Gestión de calidad
Casi todos los participantes en la mesa redonda hablaron de la importancia de la gestión de calidad a la hora de trabajar con factorías y proveedores externos de desarrollo. Esta práctica se está generalizando en todos los sectores y, para poder asegurar la calidad del software que se desarrolla fuera, es clave que las reglas del juego estén claras desde el principio. En este sentido se analizó la necesidad de tener unos modelos de calidad claros y públicos, incluso en los pliegos de licitación, que los proveedores tengan que cumplir y sobre los que se harán las pertinentes certificaciones antes de aceptar los entregables.
Otro aspecto que se destacó durante fue la importancia de la implantación de metodologías de desarrollo y procesos para hacer respetar los modelos de calidad. En este aspecto, Pilar Franco Lahera, Jefa de la división de planificación y control de aplicaciones del Canal de Isabel II, consideraba como el siguiente paso lógico y natural a la implantación de una oficina de proyectos, y tras el rodaje inicial de ésta, montar o disponer de un servicio de certificación de la calidad para los procesos y entregables que dicha oficina de proyectos gestiona.
Como colofón de la mesa redonda se abrió un debate en torno a la productividad, y cómo medirla para poder mejorarla. En este sentido, hubo diferentes puntos de vista en torno a cómo medir el tamaño de las aplicaciones que se desarrollan y la estimación del esfuerzo de desarrollo. Se habló en concreto del uso de puntos función como medida del tamaño aceptada por el mercado, así como de la complejidad que tiene automatizar su cálculo en base a la metodología IFPUG por los aspectos subjetivos que conlleva. Además, se comentó el hecho de que medir puntos función sobre el código implica que la medida es ‘a posteriori’, lo que significa que no se pueden hacer estimaciones o previsiones de productividad tal y como se puede hacer con el esfuerzo de desarrollo con metodologías como COCOMO.
Una de las ideas que surgió para solventar esta situación para calcular el tamaño de las aplicaciones a desarrollar, es utilizar puntos función en base a los ‘casos de uso’ y no al código. Si bien este concepto de puntos ‘casos de uso’ no tiene una adopción generalizada, puede ser un camino adecuado si se puede automatizar su medida y las estimaciones se ajustan a la realidad.
Para la medida de la productividad, la otra métrica a tener en cuenta es el esfuerzo de desarrollo además de la posibilidad de utilizar metodologías de estimación en base a un tamaño dado. Otra opción que nos daría el esfuerzo real sería poder sacar los datos de un sistema de gestión de proyectos, donde los desarrolladores informan sobre el tiempo empleado en la implementación de las aplicaciones. Así, teniendo esfuerzos estimados y reales, se pueden sacar conclusiones interesantes sobre la productividad de los equipos de trabajo y la complejidad de los desarrollos.
Otro de los puntos de interés se centró en la viabilidad de medir la productividad en proyectos de mantenimiento correctivo que por su naturaleza hacen muy complicado medir el tamaño del desarrollo, ya que basarlo en líneas de código (base de la metodología IFPUG) no siempre es posible porque se trabaja sobre código ya existente. Igualmente se subrayó la importancia de poder hacer una aproximación en base a la actividad de los desarrollares en el sistema de control del código, aunque en ese caso no dejaría de ser una estimación con bajo nivel de fiabilidad.
Ante todos estos retos, se vio que checKing aporta una gran variedad de aproximaciones al cálculo y mejora de la productividad por su capacidad de cálculo de puntos función, la capacidad de estimación del esfuerzo de desarrollo en base a la metodología COCOMO y su capacidad de integración para obtener información real sobre el esfuerzo y medidas de requisitos en base a ‘casos de uso’ que puede ayudar a estimar la productividad antes de escribir una sola línea de código.
El encuentro concluyó con un amplio acuerdo en torno a los aspectos fundamentales del aseguramiento de la calidad del software. En particular los representantes del CESJE quedaron satisfechos por poder comprobar que las buenas prácticas que ellos siguen en su centro se siguen o son el objetivo de muchas empresas y entidades.