Calidad del software en tiempos de crisis A nadie se le escapa que superar la crisis económica que venimos arrastrando desde hace tres años es el mayor reto al que se enfrentan las empresas. Particularmente en España donde las perspectivas de mejora todavía no se vislumbran en el horizonte. Para las empresas que basan su negocio en las tecnologías de la información, y en particular en el software, supone una menor inversión en proyectos de desarrollo e incluso un recorte en los recursos disponibles. Además, según Luis Rodríguez, director técnico deOptimyth Software, “la necesidad, no solo de sobrevivir a la crisis, sino de seguir siendo competitivos para salir reforzados de ella, requiere que el software existente, que es el motor de muchos negocios, funcione mejor y admita cambios minimizando el coste”. Para comenzar la ponencia principal del desayuno Luis Rodríguez, destacó que a pesar de que “el software es uno de los productos más usados en la civilización humana, muestra tasas de fracaso impactantes, más que cualquier otro producto humano, debido fundamentalmente a la falta de calidad”. Para continuar enumerando las tendencias actuales en calidad de software: ·         Convertir la calidad en una parte nuclear de los procesos de desarrollo ·         Aseguramiento de la calidad independiente para minimizar el riesgo para el negocio ·         Uso de la nube como sustitución de soluciones “en casa”. ·         Calidad = Pruebas + Verificación de cumplimiento normativo + Detección de defectos de codificación y antipatrones + Medición técnica de otras características del software. ·         Uso de marcos vigentes que describen esas otras características del software como los estándares ISO/IEC 9126 e ISO/IEC 2500 (SQuaRe) que definen funcionalidad, eficiencia, portabilidad, capacidad de ser usado o “usabilidad”, capacidad de ser mantenido o “mantenibilidad” y fiabilidad. Medir permite mejorar Con la intención de concienciar a la audiencia de que medir y controlar la calidad del software nos permite mejorar, incluso reducir costes, Luis Rodríguez proponía un examen de conciencia para evaluar la situación del software en las empresas. ¿Cuáles son los problemas de calidad en el software existentes en las empresas? ·         No satisface las expectativas de usuarios y el negocio. ·         Los requisitos son erróneos, no vigentes, o mal definidos. ·         Presenta problemas de seguridad. ·         No es estable. Ante ciertos usos o carga, se producen fallos o el sistema deja de comportarse de forma fiable. ·         Es difícil de usar, y los usuarios son poco productivos. ·         Los usuarios utilizan un subconjunto reducido de la funcionalidad, y cometen errores cuando acceden a características menos frecuentes. ·         Requiere frecuentes actualizaciones de hardware, o se disparan los tiempos de respuesta ante determinada carga. ·         Introducir cambios en el software tiene un elevado coste, y el riesgo de errores de regresión es elevado. ·         Probar los cambios involucra muchos recursos. ·         Tiene que mantenerse en una plataforma antigua, y cuesta integrarlo con otros sistemas. En definitiva, que es importante darse cuenta que el software también tiene “activos tóxicos” y hay que saber dónde están y como atajarlos. Es fundamental que a partir de este “examen de conciencia” consigamos un diagnóstico certero de la situación para elaborar un plan de actuación que nos permita vender a los gestores de IT la necesidad de prácticas de calidad de software mediante el ahorro de costes que ello supone. Uno de los aspectos a diagnosticar que puede tener un mayor impacto en los costes es la capacidad de ser mantenido o “mantenibilidad” del software. Luis rodríguez, analizó en profundidad este caso particular. En primer lugar, destacó que es una característica oculta al usuario final. Que una fracción significativa del coste del software es imputable al mantenimiento, sobre todo el evolutivo. Que el mantenimiento de software depende la organización, la infraestructura y de cómo está construido el software. Y por último, y quizá lo más importante, que el software no suele estar diseñado para el cambio, aunque se satisfaga la especificación funcional, su diseño y documentación es pobre respecto al mantenimiento. Ante esto cabe preguntarse ¿es útil, en tiempos de crisis, abordar el mantenimiento preventivo para mejorar esta característica y así reducir costes? Luis Rodríguez opina definitivamente que sí. También desgranó las causas de los problemas que las empresas se encuentran actualmente con el mantenimiento y que deben ser tenidas en cuenta por cada organización para poder elaborar un plan de actuación. Los sistemas software se construyen bajo la presión de los plazos, con énfasis en la funcionalidad, y si se puede, en el rendimiento, la fiabilidad, o la facilidad de uso. No se diseña pensando en el cambio. No se tienen en cuenta cosas como: ·         En los requisitos raramente se explicitan las necesidades de mantenimiento. ·         La arquitectura lógica no está diseñada para el cambio. ·         Ni se mide, ni se intenta mejorar, la mantenibilidad antes de la entrega. ·         Inadecuado planteamiento del proceso de mantenimiento. ·         Documentación inadecuada sobre la evolución del software (más allá del registro histórico de cambios), o sobre el diseño y la estructura del software. ·         Pérdida de conocimiento debido a rotación de personal. ·         Muchas veces se considera “Mantenimiento = tarea mecánica, para desarrolladores junior”. Como posibles actuaciones a tomar en tiempos de crisis, es decir, cortoplacistas y con unas prioridades establecidas por las necesidades de cada organización. Luis Rodríguez proponía entre otras: Externalizar y centralizar parte de la gestión de calidad (buscar economía de escala), aplicar soluciones técnicas económicas (analizadores de calidad técnica), detectar y eliminar “código muerto”, con el objetivo de reducir el volumen de código del que preocuparse e introducir técnicas eficaces para resolver los problemas de calidad con mayor impacto: revisión de requisitos, pruebas especiales, normativa de codificación, etc. Para concluir la su ponencia, introdujo el concepto de deuda de calidad como una medida del esfuerzo necesario para corregir problemas de calidad detectados. Esta métrica consigue expresar en términos económicos los problemas de calidad y ayuda a la concienciación de la necesidad de controlar la calidad del software. En palabras de Luis Rodríguez “aunque expresar la falta de calidad técnica en términos económicos puede ser poco riguroso, consigue un efecto positivo y ayuda a justificar el trabajo preventivo”. Externalización de pruebas y servicios de calidad de software Por su parte, Noel Morato, gerente en atSistemas y experto en calidad del software, desglosó en su ponencia el compromiso de atSistemas en ayudar a las empresas a mejorar la calidad de su software de una manera efectiva, haciendo hincapié en que la calidad no tiene por qué estar reñida con las metodologías de desarrollo ágiles que ellos utilizan como Scrum, XP o Test Driven Development (TDD). A tal efecto, y en línea con la independencia que cabe exigir a los centros de calidad, explicó los beneficios asociados a la externalización de las pruebas funcionales de software en centros especializados como el que atSistemas tiene en Cádiz desde el año 2007. Entre las ventajas destaca por encima de todo en tiempos de crisis, la reducción de costes pero cabe añadir otras como: Contar con profesionales especializados, flexibilidad en la asignación de equipos, aprovechar sinergias entre proyectos, tener un control exhaustivo sobre los procesos y una menor rotación del equipo humano. Como cierre del evento, Javier Salado, director de marketing de Optimyth Software, resumió cómo las empresas pueden empezar a reducir costes controlando la calidad de su software mediante servicios profesionales basados en productos como cheKing QA y checKing AIM que Optimyth y su socio atSistemas ofrecen para; la implantación de oficinas de certificación de la calidad de software, racionalización y modernización de la cartera de aplicaciones y reducción de costes de mantenimiento. Destacó cómo se abordarían los distintos proyectos desde el punto de vista de la  definición, implantación y explotación. La importancia de trabajar con los clientes de cara a conseguir el mejor modelo de calidad que se adapte a sus necesidades teniendo en cuenta sus especificidades. Por qué es necesaria la racionalización y modernización de la cartera de aplicaciones de las organizaciones, dado su crecimiento incontrolado durante los últimos años, según varios estudios. Y cómo hacer un inventario de componentes software combinado con métricas de calidad ayuda a evaluar y decidir cuáles son las mejores acciones a tomar para reducir la complejidad de las carteras de aplicaciones. Finalmente explicó como estos servicios permiten de forma global reducir los costes de mantenimientos apoyándose en prácticas que van más allá del estricto control de calidad, como el análisis de impacto. Cabe finalmente destacar la propuesta de valor de la unión de atSistemas y Optimyth Software como una competente simbiosis de un integrador y proveedor de servicios y un fabricante de software en un ámbito como el de la gestión y control de la calidad del software, que tiene cada vez más importancia para los responsables de IT en sus esfuerzos por conseguir un más eficiente y productivo ciclo de vida de aplicaciones y en definitiva una mejor gobernanza de IT. Propuesta de frases destacadas insertadas en el artículo: La deuda de calidad expresa en términos económicos los problemas de calidad y ayuda a la concienciación de la necesidad de controlar la calidad del software. La calidad no tiene por qué estar reñida con las metodologías de desarrollo ágiles. Las empresas pueden reducir sus costes gestionando y controlando la calidad de su software con herramientas adecuadas y servicios asociados. En un modelo ideal, los equipos de testing y de gestión de la calidad deben ser independientes del equipo de desarrollo.
atSistemas y Optimyth analizan cómo abordar la gestión de la calidad del software en tiempos de crisis
En el marco de un desayuno de trabajo, atSistemas y Optimyth Software anunciaron su compromiso de colaboración en gestión de la calidad del software. Compartieron experiencias con un selecto grupo de empresas interesadas en abordar el problema de la calidad del software en estos tiempos de incertidumbre económica donde el control de costes es una prioridad inexcusable.
Publicado el 23 Dic 2011
Temas
Canales
Artículo 1 de 3