Análisis de negocio - Gestión de requisitos
La recopilación de requisitos de software es la base de todo el proyecto de desarrollo de software. Solicitar y recopilar los requisitos comerciales es un primer paso fundamental para cada proyecto. Para cerrar la brecha entre los requisitos comerciales y técnicos, los analistas comerciales deben comprender completamente las necesidades comerciales dentro del contexto dado, alinear estas necesidades con los objetivos comerciales y comunicar adecuadamente las necesidades tanto a las partes interesadas como al equipo de desarrollo.
Las partes interesadas clave desean que alguien pueda explicar los requisitos del cliente / cliente en un inglés sencillo. ¿Les beneficiará esto si comprenden el valor a un alto nivel? Esta será el área de enfoque principal, ya que intentarán mapear la documentación con los requisitos y cómo BA podría comunicarse de la mejor manera posible.
Por qué fracasan los proyectos
Hay muchas razones por las que los proyectos fracasan, pero algunas de las áreas comunes incluyen las siguientes:
- Fracaso de mercado y estrategia
- Fallos organizativos y de planificación
- Fallos de calidad
- Fallos de liderazgo y gobernanza
- Fallas en habilidades, conocimientos y competencias
- Compromiso, trabajo en equipo y fallas de comunicación
El núcleo del problema es que los proyectos son cada vez más complejos, se producen cambios y la comunicación es un desafío.
Por qué los equipos exitosos realizan la gestión de requisitos
La gestión de requisitos se trata de mantener a su equipo in-sync y proporcionando visibility a lo que está sucediendo dentro de un proyecto.
Es fundamental para el éxito de sus proyectos que todo su equipo comprenda lo que está construyendo y por qué; así es como definimos la gestión de requisitos. El "por qué" es importante porque proporciona contexto a los objetivos, la retroalimentación y las decisiones que se toman sobre los requisitos.
Esto aumenta la previsibilidad del éxito futuro y los problemas potenciales, lo que permite a su equipo corregir rápidamente cualquier problema y completar con éxito su proyecto a tiempo y dentro del presupuesto. Como punto de partida, es valioso para todos los involucrados tener una comprensión básica de qué son los requisitos y cómo administrarlos.
Empecemos con lo básico
Un requisito es una condición o capacidad que necesita una parte interesada para resolver un problema o lograr un objetivo. Una condición o capacidad que debe cumplir o poseer un sistema o sistema. Componente para satisfacer un contrato, estándar, especificación u otros documentos impuestos formalmente.
Un requisito puede expresarse con texto, bocetos, maquetas o modelos detallados, cualquier información que comunique mejor a un ingeniero qué construir y a un gerente de control de calidad qué probar. Dependiendo de su proceso de desarrollo, puede utilizar una terminología diferente para capturar los requisitos.
Los requisitos de alto nivel a veces se denominan simplemente needs o goals. Dentro de las prácticas de desarrollo de software, los requisitos pueden denominarse "casos de uso", "características" o "requisitos funcionales". Incluso más específicamente dentro de las metodologías de desarrollo ágil, los requisitos a menudo se capturan comoepics y stories.
Independientemente de cómo los llame su equipo o del proceso que utilice; Los requisitos son esenciales para el desarrollo de todos los productos. Sin definir claramente los requisitos, podría producir un producto incompleto o defectuoso. A lo largo del proceso, puede haber muchas personas involucradas en la definición de requisitos.
Una parte interesada puede solicitar una característica que describa cómo el producto proporcionará valor para resolver un problema. Un diseñador puede definir un requisito basado en cómo debería verse o funcionar el producto final desde el punto de vista de la usabilidad o la interfaz de usuario.
Un analista de negocios puede crear un requisito del sistema que se adhiera a limitaciones técnicas u organizativas específicas. Para los productos sofisticados y las aplicaciones de software que se están creando en la actualidad, a menudo se necesitan cientos o miles de requisitos para definir suficientemente el alcance de un proyecto o una versión. Por lo tanto, es imperativo que el equipo pueda acceder, colaborar, actualizar y probar cada requisito hasta su finalización, ya que los requisitos cambian y evolucionan naturalmente con el tiempo durante el proceso de desarrollo.
Ahora que hemos definido el valor de la gestión de requisitos en un alto nivel, profundicemos en los cuatro fundamentos que todos los miembros del equipo y las partes interesadas pueden beneficiarse al comprender:
- Planificación de buenos requisitos: "¿Qué diablos estamos construyendo?"
- Colaboración y aceptación: "¡Simplemente apruebe la especificación, ya!"
- Trazabilidad y gestión de cambios: "Espera, ¿saben los desarrolladores que eso cambió?"
- Garantía de calidad: "Hola, ¿alguien probó esto?"
¿Todos saben lo que estamos construyendo y por qué? Ese es el valor de la gestión de requisitos.
Colaboración y aceptación de las partes interesadas
¿Están todos al tanto? ¿Tenemos aprobación sobre los requisitos para seguir adelante? Estas preguntas surgen durante los ciclos de desarrollo. Sería genial si todos pudieran ponerse de acuerdo sobre los requisitos, pero para proyectos grandes con muchas partes interesadas, esto no suele suceder. Tratar de que todos estén de acuerdo puede hacer que las decisiones se retrasen o, peor aún, que no se tomen en absoluto. No siempre es fácil lograr el consenso en todas las decisiones.
En la práctica, no necesariamente quiere "consenso", quiere "aceptación" del grupo y aprobación de quienes tienen el control para que pueda hacer avanzar el proyecto. Con consenso, está tratando de que todos se comprometan y estén de acuerdo con la decisión. Con la aceptación, intenta que las personas respalden la mejor solución, tomen una decisión inteligente y hagan lo necesario para seguir adelante.
No es necesario que todos estén de acuerdo en que la decisión es la mejor. Necesita que todos apoyen la decisión. La colaboración en equipo puede ayudar a recibir apoyo en las decisiones y a planificar buenos requisitos.
Los equipos colaborativos trabajan duro para asegurarse de que todos tengan interés en los proyectos y proporcionen comentarios. Los equipos colaborativos comparten ideas continuamente, por lo general tienen una mejor comunicación y tienden a apoyar las decisiones que se toman porque hay un sentido compartido de compromiso y comprensión de los objetivos del proyecto.
Es cuando los desarrolladores, evaluadores u otras partes interesadas se sienten "fuera del circuito" cuando surgen problemas de comunicación, la gente se frustra y los proyectos se retrasan. Una vez que todos hayan aceptado el alcance del trabajo, es imperativo que los requisitos sean claros y estén bien documentados. Hacer un seguimiento de todos los requisitos es donde las cosas se complican.
Imagínese tener una lista de tareas pendientes de una milla de largo que implica colaborar con varias personas para completar. ¿Cómo mantendría todos esos elementos en orden? ¿Cómo haría un seguimiento de cómo un cambio en un elemento afectaría al resto del proyecto? Aquí es donde la trazabilidad y la gestión del cambio añaden valor.