¡Hola! Bienvenido a la serie "Cómo deleitar a tus usuarios". En ésta hablaremos de Ingeniería de Requerimientos, un conjunto de actividades muy importantes, que nos permiten construir soluciones que deleitan a nuestros usuarios.
Esta es una serie de siete artículos. En éste primero te hablaré de qué son y en qué consisten las actividades de requerimientos, de su importancia y el propósito que tiene hacerlo.
En siguientes artículos, conocerás:
Lost Tipos y niveles de requerimientosCómo obtener y recolectar requerimientosCómo analizar y comprender los requerimientosCómo especificar requerimientosCómo validar los requerimientosCómo funciona el proceso de requerimientos en diferentes tipos de proyectos
¿Qué son los requerimientos?
Es una definición de lo que un sistema de software debe hacer, y una especificación de las restricciones en su operación e implementación.
Los requerimientos son la guía para comprender las necesidades de los usuarios con respecto al software y especifican las funciones que se deben de encontrar en el producto a desarrollar para satisfacerlas. Además, describen otros atributos que se encuentran en los sistemas, como el desempeño, la seguridad, la confiabilidad, la disponibilidad, entre otros.
En los requerimientos encontramos la información de quiénes son nuestros usuarios, sus intereses y sus prioridades. También, están descritas características del ambiente de operación, que nos ayudan a conocer la ubicación física de nuestros usuarios, y los otros sistemas de software y hardware que se estarán usando a la par que nuestro sistema, y con los que vamos a interactuar. En los requerimientos entendemos cómo son las actividades que vamos a apoyar con software, y cómo se deberían de hacer en un sistema de información. Además, encontraremos información acerca de restricciones tecnológicas que debemos considerar, como si los clientes tienen hardware que será usado obligatoriamente, o si existen limitaciones en presupuestos, que no permitan usar algunos dispositivos o tecnología. Por último, decisiones de tecnología que será usada en la construcción del software.
Actividades de requerimientos
Elicitar: Tareas orientadas a recolectar información de los usuariosAnalizar: Tareas orientadas al entendimiento de las necesidades de los usuarios y sus posibles solucionesEspecificar: Tareas orientadas a establecer de forma clara, concisa, no ambigua y completa cuáles son las necesidades a resolver y las funciones que deben estar presentes en la soluciónValidar: Tareas cuyo propósito en aprobar o descartar las propuestas de solución.
Importancia de los requerimientos
Como ingenieros de software, nuestra labor es crear soluciones tecnológicas que entregan valor a los usuarios, y el valor siempre va ser conseguido cuando tenemos el Producto Correcto. La importancia de los requerimientos reside en que son la base para el éxito o fracaso del producto de software que se construye.
De acuerdo al Standish Group, una de las principales razones por las que fracasa un proyecto de software se debe a un proceso deficiente en los requerimientos. Principalmente por una especificación deficiente y un manejo inadecuado de los cambios (se evitan en lugar de añadirse, o se incluyen torpemente y generan problemas de calendario o calidad).
Es, pues, la capacidad de entender las necesidades de los diferentes stakeholders, alinear sus prioridades contrarias y encontrar las funciones que entregan el valor percibido y real para todos ellos. Sin esta capacidad, los equipos suelen encontrar dificultades para entregar soluciones adecuadas, y tardan mucho en darse cuenta de que propusieron y construyeron la solución incorrecta.
Foto de bongkarn thanyakij en Pexels
Propósito de las actividades de requerimientos
Nuestro trabajo de requerimientos debe incluir y empezar con La Empatía
Probablemente te resulta conocida la siguiente escena:
Project Manager: Ya han pasado varias semanas y tod...