Hay varios objetivos detrás de esto, que han ido variando según el contexto de la industria: Ser un elemento diferencial respecto a la competencia, reducción de los costes del mantenimiento, cumplimiento normativo, estandarización de los procedimientos y entregables, etc.   Con el tiempo, han ido formalizándose Modelos de Calidad, Procesos y Metodologías, se han definido nuevos roles, han aparecido herramientas para la automatización y gestión de estas tareas, y más recientemente, se han establecido conjuntos de métricas e indicadores, que agrupados en “cuadros de mando”, ayudan al nivel ejecutivo de las organizaciones de TI, a gobernar mejor la calidad del software.   Una vez que una organización consigue cuantificar y mostrar el “valor de negocio” (business case) de esta función, se puede decir que ésta, alcanza su nivel de madurez, momento en el que es más fácil justificar las inversiones para garantizar su correcta aplicación, ya sea como una función más dentro de la organización, o como un servicio externalizado de certificación de la calidad.   En un contexto competitivo como el actual y de reducción de costes, el cual conlleva una constante racionalización de los activos software de las organizaciones, está claro que el “mapa software” de sus aplicaciones, ha comenzado a cambiar. Todavía está por verse el alcance de lo que esto implicará, ya que se abren nuevas interrelaciones y dependencias de elementos técnicos y organizativos, que quedan fuera de su control.
SQA en la NubeNuevos escenarios Esta adopción, impacta en la forma en que se ha venido concibiendo la actividad de aseguramiento y control de la calidad de las aplicaciones software.   De hecho, se abren dos nuevos escenarios: Aseguramiento de la calidad de componentes ‘externos’ a nuestras aplicaciones. Certificación de la calidad de nuestro software como un servicio externalizado en la nube. En este artículo, nos vamos a centrar en el segundo de ellos, que podríamos llamar como el subtítulo del artículo: ‘Certificación de la calidad del software en la nube’.   Certificación de la calidad del software en la nube Este servicio, permite a las organizaciones de TI clientes, la certificación de la calidad del código fuente de sus aplicaciones, de forma automática y sin la necesidad de disponer de un departamento propio para ello. Los análisis que sobre el código se podrán realizar en esta modalidad podrían comprender (dependiendo del proveedor del mismo), uno o varios de los siguientes: Cumplimiento normativo, en base a la verificación del cumplimiento de reglas y buenas prácticas de programación y diseño existentes en la industria o propias del cliente. Obtención de métricas, tales como de complejidad, diseño, volumetría. Código duplicado. Potenciales defectos. Dependencias.   Operativa La operativa a seguir es la siguiente: El cliente contrata con un proveedor la prestación del servicio de certificación del código, para aquellas tecnologías que necesite, teniendo a partir de entonces acceso, a la “zona cliente” del portal de dicho proveedor, mediante un protocolo seguro.   Cuando el cliente necesite realizar un análisis, con la ayuda de utilidades para ello, “subirá” el código al portal. Se valida de forma automática que dicho código se haya subido correctamente, se comprueban las tecnologías del código subido, y en base a ellas, y a su volumen (medido en líneas de código, número de componentes, o tamaño en KB) el portal dará al cliente la estimación del coste del análisis solicitado. Tras la aceptación por parte del cliente, el portal estará en grado de proceder al análisis del código. Una vez realizado el análisis, se elimina el código subido para salvaguardar la privacidad del mismo, y el cliente podrá consultar los resultados del mismo, a nivel resumido o detallado, en pantalla o mediante un informe.   En función de la opción contratada, los resultados se podrán conservar para estudiar la evolución de las métricas e indicadores en futuros análisis.   Beneficios Los beneficios más significativos que un servicio como el descrito puede proporcionar a los clientes: Acorta la curva de adopción de la función de certificación de la calidad del software (si todavía no existe de forma orgánica en el cliente).   Reduce los costes de implantación de esta función (no requiere la contratación de personal especialista ni su formación, o la compra de software y hardware).   Permite abordar “picos” de trabajo de esta actividad, ajustándola a las necesidades de negocio del cliente.   checKing In the CloudchecKing in the Cloud es un ejemplo de este tipo de servicios. Proporcionado por Optimyth Software, fabricante de soluciones de gestión de la cartera de aplicaciones, y certificación de la calidad del software, y disponible a partir de septiembre del 2011, facilita el acceso a parte de la funcionalidad de una de sus herramientas emblemáticas, checKing QA, mediante un portal que permite la suscripción de un servicio como el descrito en este artículo.   Opciones y retos Estos servicios, se encuentran en su etapa inicial, por lo que es de esperar que en base a su aceptación, vayan incrementando su funcionalidad y versatilidad, incorporando nuevas posibilidades tales como: Ampliación de los entregables a analizar, no limitándolo al código fuente.   Mayor y mejor integración con otros servicios en la nube del Proceso de Desarrollo (Pruebas, Requisitos, Diseño…).   Integración con otros servicios en la nube para el gobierno de la cartera de las aplicaciones (APM o Application Portfolio Management).   Disponibilidad de este servicio para Partners, que puedan acceder a él, integrarlo con su propia oferta de servicios que lo complementen, o personalizarlo.   Para ello, al igual que el resto de aplicaciones SaaS, tendrán que garantizar cuestiones importantes como seguridad y confidencialidad, rendimiento, o disponibilidad, que tendrá que venir de la colaboración entre los proveedores de estos servicios, y los de plataformas PaaS e IaaS.   Conclusiones La nube, tal como se ha dicho en la introducción, está cambiando el mapa de las aplicaciones de las organizaciones de TI, y también nuevas oportunidades para mejorar su gestión. En el caso de la función de Garantía y Control de la calidad del software, la posibilidad de realizar la certificación de la calidad del código fuente de las aplicaciones mediante un servicio realizado desde la nube, es un paso en esta dirección, que sin duda será bien recibido por dichas organizaciones.
La calidad del software al alcance de todos
Hace ya décadas que en la industria del software se viene hablando de la importancia del aseguramiento y control de la calidad (SQA). Esta actividad, tendría como principal finalidad garantizar que los resultados del desarrollo del software son los esperados por los destinatarios del mismo.
Publicado el 27 Oct 2011
Temas
Canales
Artículo 1 de 2