Problemas habituales en la determinación de los Requerimientos de Software

Las actividades de recopilación de requisitos constituyen uno  de los factores más importantes para el éxito de todo software. En ella debemos comprometernos, junto con el cliente, en la selección adecuada de las necesidades, distinguiendo entre lo que el usuario desea y lo que el usuario realmente necesita, a fin de lograr determinar el alcance preciso y el costo de desarrollo; entendiéndose por costo a la suma de tiempo, recursos y cualquier otro elemento necesario para cumplimentar el requerimiento.

Destaco estos problemas habituales que suelen hallarse en la obtención de los requisitos, quizás por ser los más recurrentes:

-Inexactitudes o incorrecta descripción del problema a resolver, el usuario no tiene claro lo que necesita, la especificación de los objetivos es ambigua.

-Se omiten factores asociados que también tendrán impacto durante el cambio; la determinación de la propagación del cambio es difícil de determinar.

-Validaciones no previstas, ya sea por parte del usuario o del analista, que luego se transformaran en mantenimientos posteriores en etapas productivas.

-Problemas en la identificación de las personas afectadas por el cambio que deben ser involucradas.

-Desconocimiento del usuario sobre los procesos básicos de desarrollo de software impidiendo que entienda el porqué de los costos, sobre todo los asociados a tiempos; o del analista en el esclarecimiento del mismo.

-Cambios de improviso luego de que el alcance ha sido determinado.

-La visión del usuario respecto a procesos similares que pueden ser ‘copiados’ en el nuevo software, subestimando el trabajo.

-Uso excesivo de negativas por parte del analista provocando mayores presiones del usuario para lograr lo que él desea.

-Uso de vocabulario técnico del analista en disonancia con el vocabulario conocido por el cliente.

-Falta de documentación y prototipos que permitan una validación concreta del usuario sobre el avance del proceso de desarrollo.

La petición del cliente  es en general el punto de partida de la construcción del software por lo debemos promover que sea el cliente el que escriba en forma general el Requerimiento inicial ya que esto lo lleva a clarificar sus ideas para la determinación de las necesidades. El analista debe acompañarlo con entrevistas, cuestionarios, observación y revisión de estos documentos, para luego pasar a la confección de la documentación técnica.

“Los requisitos del sistema no siempre se puede afirmar totalmente de antemano porque el usuario no los conoce de antemano.  Afirmar lo contrario es ignorar el hecho de que el propio proceso de desarrollo cambia la percepción del usuario de lo que es posible, aumenta sus conocimientos del  entorno de la aplicación e incluso a menudo cambia el entorno por sí mismo”.  Daniel McCracken