Entrevista: Moisés Rodríguez, director de AQC Lab, 1er laboratorio de evaluacion de la calidad software

laboratorio de evaluacion de la calidad softwareMoisés lleva en esto de la calidad software prácticamente desde el día en que lo conocí, hace ya años en una de nuestras “oficinas” en Madrid… ese VIPS de Arguelles donde tantas reuniones hemos tenido.
Moisés es uno de los Ingenieros en Informática que han salido de la Escuela de Informática de Ciudad Real (esa que tantos otros buenos informáticos ha sacado ; – ). Es también CISA, Auditor Jefe de AENOR, certificado en Tmap, ScrumManager, y demás certificaciones. Y además de haber pasado por múltiples empresas en proyectos de evaluación de la calidad software, y su mejora, actualmente es el Director Técnico de Alarcos Quality Center, una empresa spin off de la Universidad de Castilla – La Mancha, ubicada en la manchega Ciudad Real. Y también de AQC Lab, un laboratorio de evaluacion de la calidad software dentro de Alarcos Quality Center.
1. Moisés, cuéntanos… ¿qué es exactamente un laboratorio de evaluacion de la calidad software?
En realidad aquí hay que hablar de manera global de dos conceptos: “laboratorio de evaluación” y “calidad del producto software”. Cuando nos referimos a un laboratorio de evaluación estamos hablando de un laboratorio cuya actividad principal es realizar pruebas, ensayos y/o evaluaciones sobre un determinado producto, algo así como el laboratorio del famoso CSI ;- ) con su cadena de custodia, sus políticas y procedimientos de trabajo, etc. Y en nuestro caso, el producto sobre el que se llevan a cabo estas actividades de evaluación es el propio software. De esta manera, nuestras actividades permiten emitir una valoración independiente (del producto y de la empresa) y repetible, que determina la calidad de dicho software. Aquí hay que hablar del otro concepto que decíamos, “la calidad”.
Y es que la calidad del producto software siempre ha sido, es y posiblemente será, un tema bastante controvertido. Para poder evaluar la calidad del producto software son necesarios básicamente 4 pilares: un modelo de calidad (que define las características de calidad a evaluar), un procedimiento de ensayo o evaluación (que describe las actividades a realizar), un conjunto bien definido de métricas y un entorno automatizado para la medición y evaluación. Nosotros hemos construido estos pilares adoptando además la principal y más novedosa familia de normas internacionales relacionadas con la calidad del producto, la ISO/IEC 25000. Estos cuatro pilares han sido sometidos a un proceso previo de calibración y validación, de manera que hemos comprobado que los resultados que obtenemos al evaluar un producto software, tienen una correlación con la calidad que ese producto muestra en la realidad.
Como podrás entender Javier, este proceso de validación ha sido bastante costoso y a pesar de nuestros años de experiencia previos, ha sido lo que ha supuesto que la creación del laboratorio durase varios años. De esta manera podríamos decir que, la unión de estos cuatro pilares, junto con nuestro equipo de personal especialista, y con las políticas, procedimientos, instrucciones, etc. forman lo que se entiende por AQC Lab.
2. Bueno, y ¿Cómo surgió el laboratorio de evaluacion de la calidad software AQC Lab? Y además en Ciudad Real, que no es que digamos que sea una ciudad que se caracterice por tener un gran número de empresas tecnológicas ¿esto es una ventaja o un inconveniente?
Bueno, el laboratorio de evaluacion de la calidad software AQC Lab surge en el seno de la empresa Alarcos Quality Center, dedicada entre otros a la evaluación y mejora de los procesos y productos software. Dentro de las actividades y servicios que la empresa ofrece, encontramos la necesidad creciente que últimamente estaban mostrando las organizaciones por conocer la calidad, no sólo de los procesos de desarrollo que seguían, sino del propio producto software que habían desarrollado o adquirido. Identificada esta necesidad, estuvimos evaluando los requisitos necesarios para darle respuesta (normativas, estándares, procedimientos, herramientas, etc.) y concluimos con que era necesaria la creación de un laboratorio independiente que pudiera evaluar el producto software. De esta manera y tras un proceso de varios años, fundamos el laboratorio AQC Lab.
Y sí, nos instalamos en Ciudad Real, no solo por el cariño que le tenemos a la ciudad que nos vio nacer profesionalmente ;- ) sino principalmente porque esto nos permite ser competitivos en costes frente a grandes compañías instaladas en centros como Madrid, Barcelona, etc., y nos mantiene vinculados a una Universidad, lo que para nosotros supone un importante apoyo como spin-off en temas de investigación y soporte a temas tan novedosos como este. Además, gracias a las buenas comunicaciones que Ciudad Real nos ofrece (autovía, AVE, etc.), podemos realizar nuestras actividades de evaluación independientemente del lugar donde se encuentren nuestros clientes, puesto que el grueso de nuestras tareas las solemos llevar a cabo en nuestras instalaciones y nos desplazamos a los clientes para reuniones y presentaciones puntuales.
3. A ver, acláranos este punto, esto de evaluar la calidad del producto software… ¿no tiene nada que ver con un CMMI o una ISO 15504? ¿es otra cosa? El laboratorio de evaluacion de la calidad software AQC Lab evalúa el producto… ¿Pero eso es diferente a evaluar el proceso?
Sí, es algo diferente. Digamos que, frente a lo que hasta ahora se viene haciendo utilizando modelos y normas como CMMI e ISO 15504, donde se evaluaban cómo los procesos de desarrollo de las empresas se alineaban o cumplían con unos determinados requisitos identificados en estas normas, nosotros no evaluamos el proceso que sigue la empresa sino los valores de calidad del producto software resultante. Ojo! una cosa no está reñida con la otra. Nosotros mismos también realizamos proyectos de consultoría/auditoría de calidad de procesos, pero creemos que es necesario no solo evaluar y mejorar los procesos, sino controlar la calidad del producto software que se fabrica. De hecho, las propias normas que me comentas tienen procesos que se encargan precisamente de ello, pero no aterrizan la manera de llevarlos a cabo, lo cual te puedo asegurar que para gente no experimentada siempre resulta complicado.
4. Me comentabas que AQC Lab es actualmente el único laboratorio de evaluacion de la calidad software de estas características en España ¿es así? Estamos entonces ante un área innovadora dentro del software ¿no?
Pues como laboratorio independien de evaluacion de la calidad del producto software con las características que te comentaba antes, sí. A nivel nacional conocemos otros centros que realizan actividades de evaluación del software pero, o bien mezclan evaluación de procesos y productos, o bien únicamente sacan métricas del producto sin asociarlas a las características de calidad de un modelo, o el modelo en el que se basan es de una norma en anterior, o no tienen un proceso de validación de laboratorio que realmente demuestre que los valores que obtienen estén correlacionados con las características de calidad que miden. Es muy importante destacar también el mal uso detectado que en muchas ocasiones se hace de la palabra “certificar”, cuando se habla que certifican el producto software.
Por otro lado, a nivel internacional aunque es más difícil tener conocimiento de todo lo que se está haciendo fuera, sabemos de otros centros o consorcios que están intentando hacer algo parecido, sin embargo se basan en normas antiguas como la ISO 9126 y la ISO 14598, o están construyendo modelos propietarios, del estilo CMMI, en lugar de usar normas internacionales ISO.
Finalmente también habría que destacar a empresas creadoras y/o vendedoras de software de evaluación. En este caso su trabajo es importante como base, pero desgraciadamente lo normal es que solo se dediquen a la obtención de métricas sobre el producto software o a la generación de un informe de evaluación sin respaldo de un modelo contrastado y validado.
5. ¿Cuántas horas habéis dedicado para tener listo el laboratorio de evaluacion de la calidad software?
Buena pregunta Javier, y te diré que si te digo un número te estaría engañando seguro, no porque no sepa el tiempo que llevamos con esto, sino porque sería difícil valorar los conocimientos previos que teníamos y su influencia para reducir el esfuerzo finalmente realizado. Además, cuando hablamos de montar el laboratorio también hemos tenido que definir una serie de políticas y procedimientos que permiten su funcionamiento siguiendo las principales normas de gestión TIC actual. Por resumir un poco y que te hagas una idea, el laboratorio lo hemos montado siguiendo una metodología ágil de gestión, SCRUM. Hemos realizado alrededor de 18 sprints de un mes cada uno aproximadamente y hemos tenido de media a 3-4 personas en el equipo, por lo que podríamos estar hablando de cerca de 4 años/hombre de trabajo.
6. Bueno, y si yo soy una empresa que quiere evaluar la calidad de su software… ¿Qué tengo que hacer? ¿Cómo se hace una evaluación de la calidad software? ¿Cuál es el proceso?
Un proceso de evaluación típico se compone principalmente de tres fases, aunque luego procedimentalmente se dividan en múltiples actividades. Podríamos hablar de una fase inicial de toma de contacto, donde vemos las necesidades que la organización tiene respecto a la calidad del producto software y las características del mismo, lo que nos sirve para estimar la duración y el alcance de la evaluación. Como resultado de esta fase inicial la organización sabe con detalle lo que va a obtener y AQC Lab obtiene el producto a evaluar y conoce en profundidad las características del mismo. En una segunda fase, AQC Lab lleva a cabo las actividades de su procedimiento de evaluación y obtiene unos resultados sobre la calidad del producto software, para finalmente en una tercera fase, presentar los resultados de la evaluación a la organización y facilitar una serie de recomendaciones de mejora si la organización así lo solicita.
Como se puede observar, este proceso permite a las organizaciones externalizar la evaluación de la calidad de sus productos, de manera que no se tienen que preocupar por cuándo y cómo evaluar el software y pueden dedicar sus esfuerzos a sus actividades principales.
7. ¿Y qué herramientas usáis para realizar la evaluación de la calidad software?
Para la realizar las evaluaciones de la calidad software hemos desarrollado un entorno propio automatizado que nos permite realizar la medición del producto y aplicarle los criterios de evaluación. Este entorno está compuesto en realidad por un conjunto de múltiples herramientas de medición (algunas libres como PMD, otras de pago como CppDepend y otras desarrolladas internamente para poder aplicar listas de control y nuestros algoritmos de evaluación), que son las que obtienen los valores para las métricas de más bajo nivel, y por una envoltura en forma de cuadro de mando, que nos permite posteriormente interpretar los resultados en base a las características de calidad recogidas por la familia de normas ISO/IEC 25000.
8. ¿Y quiénes pueden estar interesados en estas evaluaciones de calidad software o cuáles son los beneficios que pueden obtener?
Nuestros servicios están pensados principalmente para empresas o Administraciones Públicas, que cada día externalizan más el desarrollo de software a otras empresas o factorías de software, y que necesitan disponer de una evaluación de calidad que les permita verificar que el software que reciben cumple los requisitos mínimos de calidad exigidos y además poder de esta manera gestionar de forma adecuada los acuerdos de nivel de servicio pactados con los proveedores. También para factorías y empresas desarrolladoras de software, que están interesadas en disponer de un servicio de evaluación externo y objetivo de la calidad del software que fabrican. Así pueden conocer la calidad del producto software que desarrollan o adquieren, controlar la evolución de la calidad de sus productos software a lo largo del ciclo de vida de desarrollo, corregir los defectos software desde las primeras fases del ciclo de vida reduciendo los costes de mantenimiento y mejorando el time to market, etc.
9. Y una última, qué le dirías a los jóvenes que están a punto de terminar la carrera, y que muchas veces están preocupados por su futuro profesional, ya que muchos de ellos buscan dedicarse a otras tareas que no sean programar ¿es la evaluación de la calidad software una profesión a la que se puedan acabar uno dedicando? ¿cómo deben empezar en esta profesión?
Pues la verdad Javier que el mundo profesional que se abre a los Ingenieros Informáticos es bastante amplio, a pesar del actual momento por el que estamos pasando. No hay duda que la mayoría de puestos que se ven son para programadores, pero cada vez se van viendo también más puestos de responsables en calidad software, testers de software, ingenieros expertos en procesos de desarrollo, analistas de especificaciones software, etc. lo que amplía el abanico de posibilidades. La calidad del software es por supuesto una de las profesiones a la que se pueden dedicar, y es además una rama muy amplia, ya que agrupa desde temas de accesibilidad, usabilidad, rendimiento, etc., a temas tan importantes como la seguridad o el mantenimiento de las aplicaciones. Eso sí, es muy importante saber que es una rama bastante novedosa y sujeta a muchos cambios constantes (como todo en informática ;- ), y que además necesita una base fuerte en Ingeniería de Software para después poder profundizar en mejorar la calidad de la misma.
 
10. Gracias Moisés por tu aportación y descripción de este interesante campo de los laboratorio de evaluacion de la calidad software. Esperamos tenerte por aquí otra vez y que nos cuentes las evoluciones que vayáis haciendo.
Gracias a ti Javier por ofrecernos tu blog para hablar de nuestras actividades. Me alegro de volver a coincidir contigo y estaré encantado de contarte los avances y cambios que vayan surgiendo en nuestro laboratorio.

Javier Garzás

0 comentarios en “Entrevista: Moisés Rodríguez, director de AQC Lab, 1er laboratorio de evaluacion de la calidad software”

  1. Pingback: Bitacoras.com

  2. He leído con atención la entrevista. Muy interesante.
    En alguna ocasión el Sr. Moisés Rodríguez me ha auditado y sus aportes han sido muy valiosos.
    Enhorabuena por el emprendimiento

  3. Hola,
    Me encanta eso de complementar el CMMI con otro control de calidad, porque el CMMI está demostrado que no asegura nada. Conozco yo a cada empresa con CMMI…
    Saludos

  4. Hola Javier, muy buena entrevista, recuerdo la que Tertulia algo desorganizada que hicimos en Madrid, donde Emanuel daba los temas de conversación, en esa ocasión estuvo Almudena, Moises y una persona de SATEC y de Indra, espero puedan retomar esas tertulias, se aprende mucho, solo que espero que ahora si puedan tener un tema en específico del cual todos puedan aportar, pero sin duda fue muy productiva esa charla. Espero hagan más y nos puedas contar que temas y que anectdotas salieron.
    saludos.

  5. Pingback: ISO 29119, la futura norma para pruebas software (una norma para unificarlas a todas) - Javier Garzás, sobre calidad software y otros temas relacionados

  6. Pingback: Tendencias en la externalización del desarrollo: clausulas de moda en la RFP y el contrato software - Javier Garzás, sobre calidad software y otros temas relacionados

  7. Hola Javier, recién soy seguidora de tu blog el cual encuentro muy interesante. Me gustaría saber además de AQC Lab, qué otros laboratorios de pruebas existen, mediante los cuales se pueda certificar el producto software. Gracias

  8. samuel pardo mesias

    HOLA Javier,
    Saludos desde Perú, actualmente sobre calidad de productos de software en esta parte hay muy poca información de como se realiza la evaluación de la calidad , que herramientas automatizadas, métricas, umbrales se utilizan estoy muy interesado en este tema y actualmente mi mayor referencia es AQCLab, espero pueda contar con su respuesta saludos,

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ir arriba