¿Debo Certificar Procesos, Personas o Productos?

Publicado en

Cuando de probar software se trata, resulta útil preguntarnos qué estrategia es la que mejor conviene aplicar al negocio. Si ya estamos convencidos de la ventaja competitiva que por sí misma las certificaciones pueden tener, el siguiente paso es decidir el orden prioritario de los criterios sobre los cuales nos basaremos para orientar nuestros esfuerzos y recursos al momento de invertir en ellas.

 Seguramente hay quienes piensan que “las certificaciones sólo sirven para vender mejor”, y si bien hay algo de verdad en dicha aseveración, también la hay en el hecho de que comenzamos a vendernos desde muy temprano (y nos seguiremos vendiendo siempre, en muchos ámbitos); muestra de ello, por ejemplo, es que para obtener mejores oportunidades laborales, estudiamos una carrera profesional y pretendemos demostrar nuestros conocimientos por medio de un título que avala que concluimos exitosamente nuestros estudios universitarios. Contar con dicho título, ciertamente no asegura que seremos los mejores profesionistas, sin embargo sí eleva las probabilidades de que eso ocurra, generando mayor confianza en aquellas personas interesadas en contratarnos. Igualmente habrá quienes sin tener “el papel” logren tener dichos conocimientos, es solo que ellos tienen que buscar otros caminos para avalar sus conocimientos y capacidad. Aún así, como bien decíamos la certificación pudo haber ayudado en primer instancia a vendernos mejor, sin embargo para mantener la reputación también hay que demostrar una y otra vez la efectividad de los resultados logrados como consecuencia de estar mejor preparados. Normalmente quien vende algo malo, no vende más, independientemente de si está certificado o no.

 En base a esto, considero que certificarse no debiera ser pecado, tampoco mera presunción. Debemos usar la certificación como un medio para allegarnos de más conocimientos especializados (asumiendo que ello implica un período de preparación), asimilar mejores técnicas y herramientas para aplicarlas de manera focalizada en el área de interés seleccionada, demostrando a otros la pericia que nos ayudará a mejorar, no sólo a vender.

 Partiendo de esta premisa, evaluemos ahora respecto a la prueba de software qué puede resultarnos más conveniente certificar cuando deseamos efectivamente mejorar la calidad del software que creamos y/o utilizamos.

Diagnóstico

Para tomar una decisión acertada sobre la mejor estrategia para nuestra organización, un buen comienzo es contestar las siguientes preguntas:

  1. ¿Tenemos una necesidad recurrente de desarrollar o evaluar diversos productos de software?
  2. ¿La mayoría de esos productos son estratégicos para la organización?
  3. ¿Gran parte de ellos nos brindarán importantes ventajas competitivas?
  4. La demostrada alta calidad de todos esos productos ¿nos generará diferenciadores medibles en términos económicos?
  5. Desarrollar o evaluar diversos productos de software ¿es parte de nuestro “core business”?
  6. ¿Pesa directamente sobre nosotros la calidad de todos esos productos de software?
  7. El demostrar la buena calidad de todos esos desarrollos, ¿engrosará nuestra cartera de clientes?
  8. Institucionalizar la forma de evaluar varios sistemas además de motivante será ¿nos hará más productivos?
  9. ¿Requiero demostrar a otros la pericia individual de quienes evalúan nuestros productos de software? (siendo elementos internos)
  10. El reconocimiento oficial e individual de las habilidades técnicas de los probadores de software, ¿se traducirá en beneficios medibles para la organización?
  11. El conocimiento demostrado por nuestros probadores de software facilitará el posicionar mejor nuestros productos/servicios?
  12. ¿Es uno de nuestros servicios clave el “sourcing” de personal de pruebas de software?
  13. ¿La especialización en pruebas de software es el foco del plan de carrera de nuestro personal o de una parte de ellos?
  14. ¿Considera la organización el valor de una certificación como elemento clave de retención de su personal de pruebas?
  15. ¿Requiere su organización promover mejor (Mercadotecnia) un producto de software estrella, dentro de su mercado?
  16. La mala calidad de dicho producto ¿derivaría no sólo en inconformidades de clientes, sino incluso en problemas legales por excesivos defectos críticos en producción?
  17. ¿La operación de su negocio está basada en la efectividad de un sistema de información clave?
  18. Requiere su organización, por estatutos o normatividad oficial, demostrar la alta calidad de cierto sistema de información.
  19. El mayor porcentaje de sus ganancias (o pérdidas) está directamente ligado al buen (o mal) funcionamiento de uno de sus sistemas (por ejemplo, punto de venta).
  20. ¿Requiere diferenciar notablemente alguna de sus aplicaciones, respecto a otras similares en su mercado?

 Si respondió afirmativamente a más del 50% del bloque de preguntas de la 1 a la 8: a su organización podría resultarle útil buscar una certificación de su proceso de pruebas de software, si es que ya lo tiene definido e implantado; de no ser así, habrá una ardua labor enfrente para comenzar a desarrollarlo, requiriendo inversión ya sea de recursos existentes, o además los de una consultoría especializada. Una vez definido el proceso de pruebas, implantado y documentado algún proyecto piloto, su organización podría estar en condiciones de buscar alguna de las certificaciones conocidas en modelos de Pruebas de Software (TPI, TMM, TMMi, etc.), como los que ya hemos explicado en ediciones anteriores de SG [1, 2, 3].

 Si respondió afirmativamente a las preguntas de la 9 a la 14: valdría la pena considerar la opción de apoyar a obtener una certificación al personal de su organización dedicado a probar software. También en números anteriores de SG hemos aportado algunas consideraciones y recomendaciones acerca de las certificaciones internacionales para testers [4]. Por ejemplo: certificaciones en diferentes niveles, avaladas por organismos internacionales de testing como el ISTQB (International Software Testing Qualifications Board), o el QAI (Quality Assurance Institute), las cuales incluso son apoyadas en México con subsidios por medio del programa México FIRST.

 Finalmente, si sus respuestas al bloque de preguntas de la 15 a la 20 han sido afirmativas: muy probablemente en su organización se tenga la necesidad de certificar algún o algunos productos de software. Para ello, una alternativa sería encomendar dicha labor a algún tercero independiente e imparcial especializado en servicios de pruebas de software, y no sólo eso, sino muy particularmente en servicios de Certificación de Software (o algún sello de calidad), de preferencia con reconocimiento internacional. De esta forma su organización podrá confiadamente demostrar a otros (clientes, prospectos, inversionistas, etc.) que su(s) producto(s) cuenta(n) con un sello de confianza por cumplir con atributos y características de calidad del software en apego a normas y estándares internacionales.

Atributos a considerar al certificar software

En el caso de querer evaluar la calidad de uno o más productos de software, ¿qué aspectos son los que debemos tomar en cuenta?

 En el artículo previamente publicado en SG titulado “Priorización de Atributos de Calidad en Sistemas Modulares Integrados” [5], se explican los atributos de calidad interna y externa del software que considera el estándar internacional ISO-IEC-9126 (NMX-I-9126-1-NYCE en México). Dichos atributos son agrupados en seis características básicas de calidad que debieran estar presentes en un producto de software. A continuación listo dichas características y atributos.

  • Funcionalidad: Adaptabilidad, exactitud, interoperabilidad, seguridad de acceso.
  • Confiabilidad: Madurez, tolerancia a fallas, recuperación, conformidad de funcionalidad.
  • Usabilidad: Facilidad de comprensión, facilidad para aprender, operatividad, atractivo.
  • Eficiencia: Tiempo de respuesta, utilización de los recursos.
  • Mantenibilidad: Facilidad de análisis, facilidad para introducir cambios, facilidad de prueba.
  • Portabilidad: Adaptabilidad, facilidad de instalación, coexistencia, facilidad de reemplazo.

 Adicionalmente se pueden considerar características de calidad asociadas específicamente al uso de un software. Estas son:

  • Productividad. Que usar un software aumente nuestra productividad.
  • Efectividad. Que usar un software nos permita realizar tareas correctamente y sin errores.
  • Que usar un software sea una experiencia satisfactoria.
  • Que podamos confiar en la seguridad de nuestra información cuando usamos un software.

 Para evaluar dichos atributos de calidad, se contempla la aplicación de una gran cantidad y variedad de métricas, que ayudarán a conocer el nivel de cumplimiento y con ello, el nivel de calidad alcanzado por dicho sistema.

 En definitiva, para conocer el nivel general de calidad logrado en los productos de software evaluados, la organización que provea un servicio tal de Certificación de Productos de Software deberá tener desarrollado, implantado y sistematizado un modelo para aplicar dichos criterios y métricas, de modo que con bases fundamentadas pueda emitir un juicio de valor respecto a las evaluaciones que realice, y por cuyos resultados estará en condiciones o no, de emitir una certificación o sello.

Conclusión

La decisión sobre apostarle a una certificación de Proceso de Pruebas, o a una de Personas (Testers) o a una de Producto, definitivamente está en sus manos. Ante limitaciones en presupuesto, tal vez resulte conveniente concentrar gradualmente los esfuerzos en alcanzar primero alguna de ellas y posteriormente ir buscando alguna otra, solo si realmente es relevante para el negocio invertir en más de una de ellas. Y por supuesto, dicha decisión también debiera sustentarse en un inminente retorno de la inversión.

Referencias
  • [1] León Carrillo, Luis Vinicio y Ruiz Eguino, Sandra Berenice. “Modelos de Calidad para Prueba de Software”, Software Gurú, Dic 2008.
  • [2] Ruiz Eguino, Sandra Berenice y Silva, Armando. “TMMi: Un modelo especializado en pruebas”, Software Gurú, Marzo 2011.
  • [3] Ruiz Eguino, Sandra Berenice. “El Modelo de Calidad Europeo TPI”. Software Gurú, Mayo 2009.
  • [4] León Carrillo, Luis Vinicio y Ruiz Eguino, Sandra Berenice. Certificaciones Internacionales para Testers I y II, Software Gurú, Sep 2009 y Nov 2009.
  • [5] González Álvarez, Larisa, Martín Cruañes, Roberkys y Rivero Álvarez, Tahirí. “Priorización de Atributos de Calidad en Sistemas Modulares Integrados”, Software Gurú, Oct 2012.
Bio

Berenice Ruiz Eguino es Directora de Operaciones de e-Quallity, además ha participado como Consultora Senior en proyectos de mejora de organizaciones de Prueba de Software. Cuenta con certificación internacional en Pruebas por el ASTQB. A lo largo de su trayectoria profesional ha actuado también como Ingeniero de Pruebas Senior, Líder de Proyectos, Administradora de Proyectos nacionales e internacionales, analista y desarrolladora. Ha sido profesora de la Universidad Autónoma de Guadalajara (UAG), donde realizó sus estudios de Maestría en Ciencias Computacionales.