miércoles, 25 de junio de 2008

Como definir buenos requerimientos y no morir en el intento

¿Que necesito? Es una pregunta que nos hacemos al comprar un auto, al escoger un viaje o definir los requerimientos de un proyecto. Nos basamos en experiencia pasada o realizamos una investigación para definir los requerimientos.
Es un proceso aparentemente sencillo, sin embargo, muchas veces nos lleva a que el producto entregado no cumpla con el costo, tiempo y expectativas.
Claves del fracaso en la definición de requerimientos son: la Insuficiente experiencia o conocimiento, razonamiento sin claridad, no reconocer prejuicios, supuestos ocultos y una inexacta comunicación.
Los buenos requerimientos definen el trabajo que debe hacerse o las características del producto que se quiere comprar, desarrollar, construir o modificar, son esenciales para mejorar la productividad. Un buen Gerente de proyectos, más pobres requerimientos da como resultado, sobre presupuesto, atraso y/o insatisfacción del producto.

¿Que Hacer para Crear y Gestionar Buenos Requerimientos?
El estándar ISO 9001 dice que hacer, pero no como: "El proveedor deberá establecer y mantener un sistema de calidad documentado como medio de asegurar que el producto se ajusta a los requerimientos especificados."
El modelo de CMMI establece la “gestión de requerimientos" como el primer paso de un una organización camino a la madurez y resultados repetibles ofreciendo dos objetivos:
1. Los requerimientos del sistema son controlados para establecer una línea de base para la ingeniería de software y para la gestión.
2. Software, planes, productos y actividades se mantienen en consonancia con los requerimientos del sistema asignados al software
El PMBOK 2004, no se queda atrás y define los requerimientos en el acta de constitución, los gestiona el proceso de control de cambios, son el principio de la gestión de calidad (grado en el que se cumplen los requerimientos) y el usuario los comprueba en el proceso de verificación.

Cómo Hacer para Crear y Gestionar Buenos Requerimientos
Si su organización no tiene un bien entendido y bien documentado proceso de definición de requerimientos, le recomendamos adoptar el siguiente proceso, que contiene 9 pasos que se pueden ejecutar en simultáneo o en secuencia:
1. Definir el alcance del proyecto.
Constituye la visión: la necesidad de desarrollar o adquirir un producto, las metas y los objetivos del cliente y la empresa; información acerca de los clientes y usuarios del producto, y la forma en que el producto será desarrollado o comprado, o probado, desplegado, y utilizado. Un proyecto iniciado sin una dirección clara, se reiniciará varias veces y el último reinicio no producirá necesariamente mejores resultados que la primera vez.
El ámbito de aplicación también incluye los límites y las limitaciones del proyecto y del producto. Un proyecto iniciado sin fronteras diverge.
2. Elaborar conceptos Operacionales
Los conceptos operacionales son descripciones en palabras de días en la vida de su producto. Durante la definición inicial del alcance, se deben definir los conceptos de las operaciones de alto nivel. Unas pocas frases para esbozar el producto normal de operación serán suficientes para empezar. También deberá identificarse los conceptos operacionales de excepción.
3. Identificar Interfases
Interfaces incorrectas o inexistentes son a menudo una de las principales causas de los excesos de costo y de fracasos del producto. La identificación temprana de las interfaces externas e internas aclara el alcance del producto, ayuda en la evaluación de los riesgos, permite una mejor negociación, reduce los costos de desarrollo de productos, y mejorar la satisfacción del cliente.
4. Escribir buenos Requerimientos
Debemos poner un especial cuidado en la redacción de los requerimientos. Un buen requerimiento claramente define una necesidad verificable y alcanzable, es el enunciado de algo que alguien necesita, debe ser verificable por inspección, análisis, test o demostración y no debe prestarse a ser malentendido.
5. Capturar las razones
El registro de la lógica reduce el número total de las necesidades, expone malas suposiciones, elimina implementaciones no deseadas, mejora la comunicación entre los miembros del equipo, acorta el ciclo de revisión, la empresa mantiene el conocimiento, reduce el riesgo en la definición de un producto derivado, apoya el mantenimiento y las operaciones.
Ayuda a que en la lectura de la razón, el que entendamos la importancia y origen del requerimiento, permitiendo mejorar la calidad y la gestión del proyecto.
6. Verificar los niveles correctos
Si un pequeño equipo va a hacer todo de la labor de desarrollo, sólo necesita un documento de requerimientos. Sin embargo, el definir los requerimientos por niveles le ayudará a construir un mejor producto. Para productos complejos es fundamental la disciplina de los niveles para mantener la conciencia del todo, disminuir los problemas de desarrollo y prevenir del estancamiento administrativo.
7. Analizar la verificación
La verificación consiste en pruebas, inspecciones, demostraciones y análisis para confirmar que el producto diseñado y construido cumple los requerimientos. Un requerimiento no verificable es un requerimiento innecesario o malo. Por lo tanto quedan PROHIBIDAS las siguientes palabras, por no ser verificables: Flexible, rápido, fácil, portátil, Ad hoc, ligero, suficiente, adecuado, grande, pequeño, fácil de usar, rápidamente, claramente, cuando se requiera, No limitado por, optimiza y etc.
8. Elaboración de la documentación.
Un formato estándar de especificación revelará omisiones. Mientras que sus necesidades organizadas solamente en una lista, serán difícil comprobar por la totalidad, no importa cuán claro cada uno de los requerimientos este documentado.
Una especificación estándar de formato impedirá la pérdida de los requerimientos, proporcionando un buen esquema para encontrar las necesidades de todo el desarrollo.
Un formato de especificación estándar capitaliza una amplia base de experiencia. Este formato podría agrupar los requerimientos por proceso, subproceso o bien por función.
9. Elaboración y aprobación de una línea base de requerimientos.
¿Cuando están listos los requerimientos? Cuando los requerimientos son lo suficientemente sólidos para definir una línea de base y permiten comenzar el desarrollo. La referencia no debiera ser el fin del plazo de definición de requerimientos, sino cuando el costo de los posibles cambios futuros sea inferior a la inversión necesaria para prever todas las posibles necesidades hoy.

Usualmente, la falta de compromiso de la gerencia es el principal impedimento de tener buenos requerimientos porque se quiere ver resultados y toma tiempo y dinero la definición de buenos requerimientos.
Antes para el logro de buenos requerimientos, se asumía que era un trabajo de los ingenieros y analistas, ahora los gerentes son los principales involucrados en este proceso.
"Mejor, más barato, más rápido!“ es el Mantra del desarrollo, pero la sabiduría convencional nos dice que tenemos que sacrificar "mejor" para obtener "más rápido" o "más barato"; o sacrificar "más rápido" para obtener "más barato". Pero, el incrementar la inversión antes del diseño del producto o la compra, asegura tener un completo y correcto conjunto de requerimientos del producto, lo cual es la verdadera clave para el logro de una adquisición o producto mejor, más barato y más rápido.

1 comentario:

Jorge Rodríguez dijo...

Muchas gracias por compartir el conocimiento.