domingo, 12 de julio de 2015

Requerimientos, macros y micros requerimientos

Cuando se capturan los requerimientos, estos se obtienen de muchas formas y en distintos niveles. Así, por ejemplo, en una reunión se puede conseguir que:

El sistema debe ser capaz de administrar la facturación (1) o hacer factura (2) o registrar factura nueva (3) o generar un número de comprobante de factura (4) o ingresar el cliente (5) o tomar la fecha de factura como la fecha del día.(6)

Obsérvese que algunos de los requerimientos mencionados están contenidos en otros.

Así el requerimiento (1) es muy grande y resulta muy dificil acordar sobre lo que se quiere sginficar con él, el usuario puede tener una visión del mismo, otro usuario otra, el analista se puede disparar e ir hacia otras regiones. El requerimiento termina siendo muy macro. Debe ser bajado de nivel.
Por otro lado el requerimiento (2) estaría contenido en el requerimiento (1), si bien la idea es más concreta, pueden aparecer al menos media docena de interpretaciones.
Sin preámbulos los otros requerimientos estarían contenidos en el requerimiento (2). Ejemplos de ello son (3), (4), (5) y (6); pero debo decir que seguramente no son los únicos. Y quizás alguno que otro no lo sea.

La experiencia te va a ayudar a difenciarlo o cuestionarlo.

Un requerimiento como el (6) es muy bajo y es poco probable que el cliente lo enuncie.

Entonces: ¿Para qué se necesita conocer sobre los niveles?
Quizás para alguien con experiencia no resulte relevante, pero para alguien con poca experiencia poder reconocer que puede existir una posibilidad de no haber llegado a un nivel de comprensibilidad de los requerimientos puede ser fundamental.
Un requerimiento debe estar en un nivel adecuado para ser comprendido, un requerimiento muy macro genera demasiada variabilidad en su comprensión.

Si el nivel del requerimiento es macro aún se tienen muchas ideas flotando, un marco, una intención; pero nada concreto.
Cuando se logra un nivel micro, seguramente estamos en un nivel de detalle, quizás es momento de producir código o hacer diseño.

El nivel adecuado facilita el debate con el cliente. Tarde o temprano Alcántara el nivel adecuado. Sino lo hace algo está sucediendo.