e-conomía

Cómo planificar los requerimientos de un desarrollo

planificacion desarrolloEs muy habitual escuchar entre los desarrolladores y diseñadores de software que un gran número de proyectos fracasan por no contar con una adecuada definición de los requerimientos, por tanto, un requerimiento debe ser exacto, completo y que defina sin ambigüedad la funcionalidad requerida. Por ello te traemos este análisis que detalla cada concepto y orienta sobre las mejores técnicas para planificar los requerimientos de un desarrollo.

gorka urango requerimientos iirEste análisis es fruto de la colaboración entre ReadWriteWeb en español con iiR España a través de un acuerdo entre ambas empresas. iiR España es una empresa líder en el desarrollo y gestión de contenidos y eventos para empresas y referente en la formación e información para directivos y profesionales. Su redactor es Gorka Urango, consultor de desarrollo de producto y de análisis de negocio.

Comprender la relevancia de la toma de requisitos supone uno de los mayores desafíos en la resolución de requerimientos de Sistemas de Información, ya que esta etapa marca el punto de partida en el proyecto de la planificación de las estimaciones de tiempos y costos, así como de los recursos necesarios y la elaboración de cronogramas.

Además, la especificación de requerimientos servirá de herramienta, tanto al usuario/cliente como al proveedor, para evaluar la calidad del proyecto, ya que a partir del set de requerimientos definidos al comienzo, se revisará si los objetivos del proyecto se han cumplido y permitirá verificar si se alcanzaron o no los objetivos establecidos en el proyecto.

Personalmente,  me resulta muy llamativo como después de tantos años de evolución y crecimiento en la industria de las telecomunicaciones todavía se tratan de desarrollar proyectos donde los requerimientos no han sido debidamente definidos y no han quedado claros tanto para desarrolladores como para clientes. Detectar, definir y documentar correctamente los requisitos, es el primer paso para lograr el éxito en cualquier proyecto.

¿Qué son los requisitos y como se definen?

Los requerimientos son la descripción de una función o capacidad que debe cumplir un sistema. Definen las características, funciones y finalidad que un software debe realizar, es decir, describen el ¿QUÉ? y el ¿COMO? de un proyecto y deben guiar a los diseñadores y desarrolladores  durante todo el proceso de creación del software.

La función de un analista de negocio consiste en recopilar los requerimientos en términos funcionales, dejando el diseño, ejecución e implementación detallada a los desarrolladores. Por último, el jefe de proyecto deberá asegurar que los cambios en los requerimientos son documentados y referenciados de forma que a partir de ellos se pueda validar si los requerimientos han sido cumplidos.

Existen dos categorías principales de requerimientos de software: requerimientos funcionales y requerimientos no funcionales.

  • Los requerimientos funcionales describen las funciones que el sistema será capaz de realizar, definiendo los cambios y modificaciones que el sistema realiza sobre las entradas para producir salidas determinando la lógica de alto nivel. Estos requerimientos acabarán convirtiéndose en la lógica y gran parte del código del sistema.
  • Los requerimientos no funcionales establecen las restricciones del producto al ser desarrollado. Es decir, definen las restricciones impuestas por el sistema, no por las necesidades del negocio.
requerimientos startup iir

Marlon Matus Aronsonth (28/02/2009)

Metodologías de recolección de requisitos y documentación

planificacion de proyectos desarrolloEs habitual que, debido a la complejidad y magnitud de algunos proyectos, exista una tendencia en los mismos a variar durante la ejecución del proceso de creación,  y por ello, los requerimientos iniciales no se adapten a las necesidades del usuario o del negocio una vez finalizado el proyecto. Por tanto es importante poder contar con una gran flexibilidad a la hora de incluir cambios en un proyecto que ha ido variando durante el ciclo de desarrollo del mismo.

Por esta razón, existen diferentes metodologías que, dependiendo del tipo de proyecto que se trate y de los recursos disponibles serán más apropiadas. Dos de las metodologías más comunes son:

  1. Los comúnmente llamados Casos de Uso que permiten describir la posible secuencia de interacciones entre el sistema y uno o varios actores. Es una secuencia de escenarios, cada uno de ellos comenzado con un suceso inicial hacia el sistema. En general, la mayor parte de los requerimientos funcionales, pueden describirse con casos de uso. Actualmente, han pasado a ser una característica fundamental de la  notación UML (Lenguaje de modelado unificado), notación utilizada para describir modelos de sistemas orientados a objetos.
  2. La creación de Prototipos consiste en la simulación del posible producto, de forma que, a través de dicha simulación, se obtenga una importante cantidad de información o feedback en cuanto a si el sistema diseñado basándose en las especificaciones recogidas por el analista permiten al usuario efectuar de manera óptima su trabajo. Esta metodología se lleva a cabo cuando algunos requerimientos no están demasiado claros.

Conclusiones sobre la planificación de un desarrollo

La toma de requerimientos determina la parte más crítica del desarrollo de un software debido a la importancia de definir claramente las necesidades del negocio y transformarlas en rigurosos requerimientos funcionales. Es por ello que, el poder enunciar una especificación de requerimientos completa y consistente, es de vital importancia para evitar cometer errores en la definición de los requerimientos ya que la posterior corrección de dichos errores puede traducirse en altos costes de tiempo y dinero.

Comprender y saber cuándo aplicar correctamente cada una de las diferentes metodologías en cada proyecto es muy importante para conseguir desarrollar los requerimientos con éxito.

Una definición exitosa de los requerimientos depende fundamentalmente de un conocimiento preciso de los procesos de negocios en los que se basa el proyecto, ya que impedirá que los proyectos fracasen debido a una mala gestión y definición de los requerimientos.

Sobre el autor de este artículo

Redacción TICbeat

Actualidad y análisis en tecnología, tendencias, aplicaciones web, seguridad, educación, social media y las TIC en la empresa.