Manejo de Requerimientos en el Desarrollo de Software

17.09.2019

El desarrollo de software es un proceso cíclico, el cual inicia con un proceso de formulación de proyecto, siguiendo por su planificación, desarrollo - puesta en marcha y evolución. En cualquiera de los subprocesos antes mencionados, está latente que surjan nuevos requerimientos que harán evolucionar al software.

Los requerimientos incluyen aquellos desarrollos de nuevos módulos o requerimientos de nuevas funcionalidades a los módulos ya existentes. En tal sentido se hace necesario un manejo con cierto grado de experticia para identificar a cual grupo aplica, así como saber el efecto que puede tener con lo ya existente.

Hay requerimientos que son netamente técnicos pero que afectan el rendimiento del software, por ejemplo: fallas en la comunicación (wifi, red, internet, base de datos), características del hardware, entonces la experticia del profesional debe incluir identificarlo claramente.

Toda experticia debe ir acompañada de la documentación que se genera durante el proceso cíclico, por ejemplo: descripción de casos de usos, procesos, diagramas de actividades, identificación de datos de entrada y salida, diagramas de bases de datos, identificación y descripción de actores, componentes del sistema, entre otros.

Es muy importante un buen manejo de los requerimientos, principalmente porque siempre están surgiendo y en la intención de mantener satisfecho al cliente, podemos caer en la premura de estar diciendo "si" sin medir impactos. De la misma forma en el manejo de los requerimientos tenemos que considerar si es un requerimiento que detiene un proceso de la empresa, si es una mejora a un proceso o es un requerimiento de UI/UX que actualmente está abarcando gran espacio en los desarrollos de software. ¿Cómo sabemos lo anterior? Pues para cada requerimiento detectado o reportado debe entrar en el proceso cíclico descrito previamente, es decir: planificación, desarrollo - puesta en marcha y evolución.

Para aquellos requerimientos que son de desarrollos pequeños en impacto y menores en tiempo, pueden ser tratados sin mayor complejidad, pero no olvidando de realizar la documentación que aplique para que no quede nada en mente del programador.

Los requerimientos por parte del cliente son generados principalmente por el usuario del software, aquel usuario en donde el software es su herramienta de trabajo frecuente, pero debe ser canalizado a través de un personal con un rol técnico en el software ya que este último tiene una visión más completa del espectro. Si los desarrollos se hacen en "casa", el rol técnico levanta la información y se la asigna a los recursos. Pero si el desarrollo lo hace o debe hacer un tercero (una fábrica de software), pues debe realizarse un acercamiento para definir alcance, costos y tiempo.

Olga Méndez
Olga Méndez