miércoles, 24 de marzo de 2010

Manejo de Requisitos de Software

El manejo de requisitos es una tarea fundamental en el desarrollo de cualquier producto y el software no es la excepción. Un maestro me decía: "si el cliente quiere un zapato que tenga un agujero en el talón y que por ese agujero le entre aire acondicionado, eso es lo que tienes que darle"; sin embargo no es una cuestión tan sencilla porque llenar las expectativas y necesidades de los clientes o usuarios no es tan simple. Esto se debe a que hay una gran diferencia entre 1) lo que el cliente dice, 2) lo que el cliente espera y 3) lo que el cliente necesita.

La gestión de requisitos o ingeniería de requerimientos no es simplemente proveer al cliente lo este pida. Es toda una disciplina y comprende todas las tareas relacionadas con la determinación de las necesidades o de las condiciones a satisface.

Se suele desestimar la necesidad de tener claramente definidos los requerimientos de un software, ya sea porque se considera que el proyecto no es complejo o porque se considera algo tedioso este proceso. En realidad los pliegos de requisitos constituyen la base contractual de cualquier proyecto, dado que tanto el cliente como el contratado deben saber cuales son los resultados esperados y lo que el producto debe brindarle al cliente.

El proceso de gestión de requerimientos implica construirlos, revisarlos y validarlos, tomado en cuenta tanto las necesidades del cliente como del producto mismo. En general el proceso de gestión de requisitos abarca lo siguiente:
  1. Desarrollo de requisitos del cliente
    • Elicitación(Obtención) de necesidades
    • Desarrollar las necesidades del cliente
  2. Desarrollo de requisitos del producto
    • Establecer requisitos del producto y producto-componente
    • Asignar requisitos de producto-componente
    • Identificar requisitos de interface
  3. Analizar y Validar los requisitos
    • Establecer conceptos operacionales y escenarios
    • Establecer una definición de la funcionalidad requerida
    • Analizar los requisitos
    • Analizar los requisitos para alcanzar un equilibrio
    • Validar los requisitos con métodos exaustivos.
La validación de los requisitos es muy importante dado porque garantiza que los requerimientos especificados son correctos. El porceso de validación continua un en las etapas de desarrollo del producto, se hace necesario valida continuamente si el producto que se contruye se corresponde con los requisitos. Si se deja de lado la especificación de requisitos en las etapas d desarrollo no habra servido de mucho y no se puede garantiza que el producto tenga la calidad requerida por el cliente.

Finalmente hay que resaltar que los requisitos no son algo estático y que pueden variar en el tiempo debido a las evaluaciones realizadas o bien por decisiones del cliente, de forma que deben registrarse los cambios que se realizan sobre la especificación.

Ver una ampliación de este tema en:

El trabajo del analista - Estandares y referencias de documentación

Relacionada con:

Tecnologías de la Información y Diseño de Sistemas: Código PHP usando ArgoUML

No hay comentarios:

Publicar un comentario

Escribe tus preguntas, observaciones, criticas y sugerencias, me serian de gran utilidad.