Primer acercamiento a los atributos de calidad del software
Aunque son
llamados de muchas formas (Calidades sistémicas, requisitos de nivel de
servicio, requisitos no funcionales, atributos de calidad, entre otros) no son más
que aquellas características que hacen único a un producto de software. Dos
productos pueden ser funcionalmente idénticos pero sus atributos de calidad son
los que realmente marcan la diferencia porque dependen del entorno, de la
organización y de las personas que finalmente se beneficiaran del uso del
sistema. En otras palabras los atributos de calidad permiten determinar las
condiciones de operación y evolución del software de cara a sus usuarios
finales y/o no finales.
Respecto al
nombre no vale la pena debatir, personalmente pienso que el nombre más adecuado
es el de Atributos de calidad porque no demarca la delgada línea entre lo
funcional y lo no funcional que en la mayoría de los casos es difícil de
trazar. ¿La seguridad es un requisito no funcional? Probablemente la gran mayoría
piensen que si, pero cuando pensamos en todo lo que involucra (Ingresar credenciales de acceso, autenticación, autorización) ¿No es todo esto algo
funcional? Los atributos de calidad son difíciles de definir pero fáciles de
percibir.
¿Por qué son importantes los atributos de calidad?
PORQUE NOS
AYUDAN A GENERAR VALOR EN LA SOLUCIÓN FINAL QUE OFRECEMOS A LOS USUARIOS.
Los atributos
de calidad se podrían dividir en dos grupos:
1. Aquellos
percibidos de forma directa por el usuario final y que finalmente impactan al
negocio. Tales como: Disponibilidad, Facilidad de uso, Desempeño o Confiabilidad.
- Si el sistema no está disponible durante un periodo determinado de tiempo los usuarios finales no podrán ejecutar sus tareas, por ende el negocio sufrirá una baja de productividad y probablemente las personas tendrán que trabajar de mas afectando su calidad de vida.
- Si el sistema tarda mucho tiempo en responder ante las diferentes solicitudes de los usuarios probablemente ocurra lo mismo que en el punto anterior.
2. Aquellos que son
percibidos en el tiempo por el negocio. Tales como: Facilidad de modificación,
Facilidad de extensión, Portabilidad o Escalabilidad.
- Si el sistema es difícil de modificar o de extender, se requerirá un esfuerzo mayor para realizar cambios sobre éste y por ende mayor será el costo de hacerlo, lo que finalmente afectará al negocio.
- Si el sistema no es portable será difícil de reutilizar y probablemente ocurrirá lo mismo que en el punto anterior.
En ambos
casos el impacto se da tiempo después cuando sea necesario hacer cambios o
reutilizar funcionalidades y es justo en ese momento cuando el negocio se ve
afectado, no antes.
Cualquier atributo de calidad que no pueda agruparse en una de estas dos categorías no tiene
sentido porque no estaríamos generando impacto sobre la calidad de vida de las
personas ni sobre el negocio y finalmente éste debe ser nuestro objetivo.
Es claro entonces que nuestra responsabilidad es identificar estos atributos de calidad de
cara a su impacto directo sobre las personas o el negocio. Para lograrlo existen muchas técnicas,
una de las que más me gusta se llama QAW (Quality attribute workshop) de SEI,
la cual discutiremos en otro post.
No hay comentarios:
Publicar un comentario