Una certificación de la calidad de los procesos no siempre asegura un producto de calidad

Comentaba hace ya tiempo David Garvin en el MIT Sloan Management Review, que “quality is a complex and multifaceted concept”, que puede describirse desde diferentes perspectivas. En el desarrollo software, de entre las diferentes perspectivas con que se puede observar la calidad, hay dos especial y tradicionalmente importantes: la calidad del producto en sí y la calidad del proceso para obtenerlo (o actividades, tareas, etc., para desarrollar y mantener software). Dos dimensiones esenciales, estudiadas desde hace tiempo por los grandes “padres” de los modelos y teorías de calidad en general y también aplicables a la construcción de software, y que giran e interactúan en torno a la idea de que, como comenta Humbrey, “padre” del modelo CMMI, “la calidad del producto está determinada por la calidad del proceso usado para desarrollarlo”. Aunque en el área del desarrollo software, que siempre ha ido un poco más atrás en temas de calidad, y en España, que en los últimos años se ha empezado a tratar en las empresas este tipo de aspectos, la popularidad e importancia a nivel industrial ha recaído casi por completo en los modelos de calidad de procesos, destacando el conocido modelo CMMI, que en los últimos años se ha extendido considerablemente.
Así modelos de calidad de procesos como CMMI son bastante populares en el mundo del desarrollo, y se están convirtiendo poco a poco en requisito imprescindible para un centro de desarrollo o fábrica software. En algunos casos hasta el punto en que se ha llegado a asumir que cumplir cierto modelo o nivel de madurez de procesos asegura productos de calidad (que es lo más importante para a ciertas empresas y entidades, sobre todo si han externalizado el desarrollo, donde lo que reciben periódicamente son productos de desarrollos de sus proveedores) pero… ¿realmente es garantía suficiente? ¿Una certificación sobre la calidad del proceso garantiza un producto de calidad?
A este respecto ha habido mucha controversia, por ejemplo hace tiempo comentaban Kitchenham y Pfleeger en un artículo en IEEE software que la principal crítica a esta visión es que hay poca evidencia en que cumplir un modelo de procesos asegure la calidad del producto, la estandarización de los procesos garantiza la uniformidad en la salida de los mismos, lo que “puede incluso institucionalizar la creación de malos productos”. Más recientemente Maibaum y Wassyng, Computer, en esta línea comentaban que las evaluaciones de calidad deberían estar basadas en evidencias extraídas directamente de los atributos del producto, y no en evidencias circunstanciales deducidas desde el proceso. Un proceso estándar, o institucionalizado, según sea la terminología del modelo de uso, no necesariamente concluye con un producto de calidad.
Si bien modelos como CMMI han gozado de mucha popularidad, no por ello los modelos o estándares de calidad de producto tienen menos madurez, destacando el menos popular pero igualmente importante ISO 9126, o la nueva serie ISO 25000, que especifica diferentes dimensiones de la calidad de producto (y que dejamos para otra entrada)
En nuestra experiencia nos hemos encontrado bastante frustración en ciertas empresas debido a las esperanzadas depositadas en los modelos de calidad de procesos, que ofrecían sus proveedores y que finalmente no han servido como garantía de calidad de los productos que recibían.
Como siempre, la necesidad de enfatizar en una u otra perspectiva (producto – proceso) depende del contexto en que desenvuelva la organización, y de no caer en aquello que tanto sucede en ingeniería del software y que es llevar los últimos métodos, modelos, estrategias, etc., al extremo, sin pensar en su adecuación e idoneidad a nuestro negocio y al contexto de nuestra empresa.
Por ejemplo, para una empresa que no desarrolla, que adquiere productos software desarrollados por terceros (externalización), la certificación de la calidad del proceso de su subcontratista puede ser condición necesaria e importante como garantía de calidad, sobre todo en procesos de selección de proveedores, cuando aún no está el software desarrollado, pero puede no ser suficiente para garantizar la calidad del producto. Será la calidad del producto la que evidenciará inequívocamente la calidad del mismo, sin necesidad de suposiciones; un conjunto coherente de métricas e indicadores del producto estructurados según un modelo tipo ISO 9126 mostrará la calidad exacta del mismo. O, por ejemplo, en otro caso diferente, en una empresa de desarrollo, habiendo determinado la calidad del producto con, por ejemplo, un modelo basado en la ISO 9126, será un modelo de procesos el que nos ayude a mejorarlo (complementando ambos modelos sin olvidar ninguno).
Este antiguo debate, o polémica, puede que esté empezando a llegar a España, a raíz de su fuerte inmersión en el modelo de calidad de procesos CMMI y de las experiencias que con él obtenga el sector.

0 comentarios en “Una certificación de la calidad de los procesos no siempre asegura un producto de calidad”

  1. Cuanta razón tienes, amigo Javier. Todo el mundo toma una tendencia (ahora modelos de calidad del proceso) sin pensar verdaderamente si esa decisión le llevará a obtener un producto de calidad, que a fin de cuentas es lo verdaderamente importante.

    Me ha parecido realmente buena esta entrada, así como todas las referencias utilizadas. Ahora,me gustaría que desde su experiencia me respondiera a una pregunta. ¿Como es que no existe un modelo que contemple calidad de producto y proceso todo en uno?

  2. Muy buenos los temas tratados aqui. Estoy de acuerdo en que se avance y madure el nivel de conocimientos y tecnicas.
    La ingenieria de software debe cimentarse y alcanzar el nivel de ingenieria.

  3. Pingback: CMMI en España (marzo 2010) (España primer país de Europa) | Javier Garzás

  4. Pingback: Cinco elementos clave en una buena externalización del desarrollo software (II/II) | Javier Garzás

  5. Estoy a favor y completamente deacuerdo de lo que expones, pero yo por ejemplo me acabo de adentrar en este mundo del testing y la calidad del software, dónde mi empresa no me da ningún tipo de formación y no tengo ningún tipo de experiencia sobre el tema, y estoy buscando máster, certificaciones, cursos y no encuentro nada, Javier si me pudiera ayudar en tomar una decisión, dónde estudiar, que certificación elegir… dónde poder realizar mi aprendizaje, le estaría muy agradecida porque ando bastante perdida sobre el tema. Muchisimas gracias ! 😉

Deja un comentario

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

Share This
Ir arriba