Especificación por ejemplo (SBE)
La especificación por ejemplo (SBE) es un enfoque contextual impulsado por los usuarios para definir los requisitos de software. Este enfoque fomenta la comunicación entre los dueños de negocios de un proyecto y el equipo de desarrollo de software, a la vez que alinea las especificaciones del software con las pruebas de aceptación del usuario.
Especificación por ejemplo (SBE) es un enfoque contextual impulsado por los usuarios para definir los requisitos de software.
SBE requiere que los accionistas de la empresa proporcionen escenarios realistas de cómo se utilizará el software y esos ejemplos se utilizan para determinar el alcance del proyecto. Este enfoque tiene dos ventajas principales: fomenta la comunicación entre los dueños de negocios de un proyecto y el equipo de desarrollo de software, y ayuda a los desarrolladores a alinear las especificaciones del software con las pruebas de aceptación del usuario (UAT). Cuando se hace bien, las especificaciones pueden ser validadas a través de pruebas de software automatizadas que se ejecutan con frecuencia.
Para que SBE tenga éxito, es importante que los dueños de negocios proporcionen al equipo de desarrollo ejemplos precisos que ilustren cómo deben comportarse las partes del sistema. Es igualmente importante para el equipo de desarrollo asegurarse de que cada especificación por ejemplo es comprobable. SBE puede ofrecer resultados menos que óptimos si los ejemplos se centran en cómo funciona el software en lugar de en los objetivos de negocio que pretende lograr. Aquí es donde la comunicación y la colaboración se convierten en clave. Por ejemplo, si los accionistas de la empresa pasan demasiado tiempo describiendo cómo les gustaría que un formulario en línea sea formateado, le corresponde al director del proyecto SBE llevar el foco de la conversación de nuevo a la forma en que los datos que se introducen en el formulario sean utilizados para impulsar la productividad, la rentabilidad y el crecimiento del negocio. Cuando SBE se implementa adecuadamente, se puede simplificar el diseño, reducir el código innecesario en el desarrollo y acelerar el despliegue al acortar o eliminar los bucles de retroalimentación.
SBE se utiliza a menudo en las metodologías de desarrollo de software iterativo como Agile, Scrum y Extreme Programming (XP). Dependiendo de la implementación, los ejemplos que los dueños de negocios proporcionan también pueden ser referidos como requisitos ejecutables o casos de uso. Cómo el equipo decide llamar a los artefactos del proyecto no es importante, la única cosa que importa es que el equipo esté de acuerdo en un lenguaje común y lo utilice constantemente. Es igualmente importante que la documentación se cree y se actualice durante todo el proyecto, para asegurar que el código se puede mantener o actualizar fácilmente cuando el proyecto esté terminado. Los directores de proyectos SBE llaman a esto "la documentación viviente”. Como sea que el equipo decida llamar a la documentación del proyecto, debe servir como una manera para que el equipo de TI demuestre el valor de negocio adicional cuando se requiere el cambio.
Como concepto, la SBE se acredita a Gojko Adzic, un consultor de desarrollo de software que escribió un libro en 2011 titulado "Especificación por Ejemplo: Cómo los equipos exitosos entregan el software adecuado”. En el mundo real, los conceptos presentados en el libro también se pueden denominar como desarrollo impulsado por ejemplos (EDD) o desarrollo impulsad por conducta (BDD), dos enfoques similares que también son temas de libros.