Publicación: Marzo/2017
Tiempo de lectura: 2 min 30 segundos
Autor: Marcelo Costa
Esta actividad no se restringe solamente a las pruebas de software realizadas al final, pero si a la realización de esas actividades a lo largo del desarrollo.
¿Qué es?
La cuestión fundamental de los derechos de software es aprobarlo si, solo si, estos cumplen todos los criterios definidos. Consiste en la validación de productos de software durante todo el proceso de desarrollo. Es decir, cualquier actividad de programa que involucre la participación del usuario de software puede considerarse como una actividad de aceptación de software (ejemplo, Figura 1). Esta actividad no se limita solo a las pruebas de aceptación realizadas al final como aceptación del producto final, sino a llevar a cabo estas actividades durante todo el desarrollo para promover un aumento potencial en el éxito del proyecto.
Independientemente del enfoque (secuencial / cascada, RUP o ágil), lo que se busca es una participación más activa del usuario durante el desarrollo del software en sí.
¿A quién se destina?
Los jugadores clave en los pasos de aceptación de software son: representantes directos de la unidad de negocios que se beneficiarán de los resultados del sistema; unidades de negocios que serán responsables de operar el sistema; y / o unidades de negocio que serán responsables de mantener el sistema.
¿Cuándo debe ser aplicado?
La aceptación del software debe realizarse desde las primeras etapas de desarrollo, incluida la revisión de la documentación. De esta manera, puede garantizar un gran retorno de su inversión en revisión de software junto con el problema de que cuanto antes encontremos los defectos, menos costos habrá en su corrección.
Los requisitos del proyecto se entregan en forma de especificaciones, como casos de uso, reglas comerciales, listas de requisitos e historias de usuarios; o pueden estar en forma de prototipos funcionales o no. Todos los requisitos se pueden entregar al mismo tiempo u organizarse en paquetes entregados de múltiples ondas a medida que avanza el proyecto. Todos estos tipos de requisitos pueden revisarse para ser aceptados.
¿Cuáles técnicas utilizar?
La inspección es una técnica muy efectiva y tiene algunas modalidades, tales como: técnicas síncronas y asíncronas, tutorial y detección de defectos, todas aplicadas a la validación de requisitos. La técnica de prueba exploratoria también se presenta como una estrategia importante para evaluar la creación de prototipos de software, basada en una encuesta conjunta de historias de usuarios. Estas técnicas se pueden usar con el apoyo de listas de verificación que tienen criterios objetivos y evalúan si los requisitos detallados satisfacen las necesidades de la organización. Es fundamental en las técnicas de revisión de documentos la participación de una amplia gama de actores del proyecto, como el propio usuario final, el analista de requisitos, el arquitecto, el desarrollador y el probador. De esta manera, cada uno puede proporcionar su conocimiento sobre la calidad del documento de requisitos y contribuir a mejores entregas. Para la homologación de software, los criterios de aceptación bien definidos proporcionan un objetivo claro para completar con éxito la prueba. Deben detallarse a partir de los requisitos validados con el usuario y más adelante en la fase de aprobación del software.
¿Cuáles son los beneficios?
-
Asegurar la entrega de software con las características esperadas;
-
Promover la propiedad con la participación del usuario en todas las etapas;
-
Abordar adecuadamente las limitaciones de alcance, tiempo y presupuesto; aumentar la credibilidad y confiabilidad en el software;
-
Adherirse a las normas de gobierno y gestión.
Además, hay una serie de posibles beneficios secundarios, tales como:
-
Menos riesgo de interrupción de las actividades laborales normales debido a fallas del sistema;
-
Verifique las restricciones y los procedimientos de control para evitar el mal uso y hacer cumplir las normas de seguridad;
-
Verificación de errores de procesamiento y procedimientos de excepción;
-
Integración completa con los sistemas existentes sin afectar negativamente a esos sistemas;
-
Confirmación de las capacidades de procesamiento de datos, procesamiento fuera de línea y rendimiento operativo del sistema.
Idealmente, la definición de criterios de aceptación más claros en los contratos de desarrollo, así como los acuerdos de nivel de servicio (SLA) con sanciones por incumplimiento de todos los criterios de aceptación, incluida la extensión a un análisis de la cobertura del código de escenarios de aceptación de software realizados por el usuario.