La ingeniería de requerimientos cumple una función muy importante en el desarrollo del software, según Arias Chaves, Michael (2005) es fundamental porque se define lo que se desea producir. El papel primordial consiste en la generación de especificaciones concisas que describan detalladamente las necesidades del cliente o del usuario final, procura disminuir defectos en el desarrollo del sistema.
En una buena implementación, tanto los analistas como el usuario tienen el compromiso en la toma de requerimientos para que el desarrollo del sistema cumpla con las expectativas del cliente. La característica principal de este tipo de toma de requerimientos, es que los analistas podrán saber qué es lo que el cliente imagina en su mente sobre el software. Para analizar esta afirmación, es necesario mencionar que hoy en día algunas empresas no se toman el tiempo necesario para la toma de requisitos, la mayoría de las microempresas y PYMES empiezan investigando los requisitos del software dejando a un lado los requisitos del negocio.
Esto hace que los requisitos del software queden incompletos, a veces estos son tan ambiguos que los desarrolladores hacen suposiciones de lo que el cliente desea, resultando en un cliente no satisfecho.
CIO Magazine (2020) sostiene que “Los analistas reportan que cerca del 71% de los proyectos de software que fracasan, lo hacen por un pobre manejo de los requisitos”, llegando así a que los requerimientos sean pocos claros para los desarrolladores y tengan que descubrir o adivinar lo que se desea.
Para la buena obtención de requerimientos es importante el uso de metodologías, la mayoría de empresas usan metodologías tradicionales y agile, ambas metodologías tienen diferentes maneras para su desarrollo; la metodología tradicional se caracteriza por su rigidez en la toma de requerimientos en el inicio del proceso, es lineal, esto quiere decir que una vez se finalice una etapa del ciclo de vida del software se empieza la otra, anulando la posibilidad de retroceder al proceso anterior. Por otro lado, la metodología agile es incremental, desarrolla varios ciclos de vida del software por grupos que el mismo equipo determine, y se fundamenta en aprovechar el valor agregado que se otorga a los clientes con las funcionalidades del software.
De esta manera con la metodología agile se puede ofrecer funcionalidades parciales, otorgándole al cliente entregas funcionales y con reportes básicos, siendo una entrega de valor y esto genera que se realice una retroalimentación temprana para que el cliente se sienta motivado, observando que es funcional desde el principio hasta el final.
Las empresas que utilizan la metodología tradicional no se toman el tiempo adecuado para la adquisición de los requerimientos, son concisos en las reuniones preguntando qué necesitan y dejando que el cliente les comente todos sus requisitos, sin enfocarse en el ¿Por qué lo necesita?, y ¿para qué lo necesita?, generando así errores en el desarrollo.
En cambio, las empresas que utilizan la metodología agile se esfuerzan por llegar a una visión conjunta del desarrollo a un entendimiento compartido entre el cliente, los usuarios del sistema y los desarrolladores del proyecto, se toman el tiempo en conocer lo que el cliente se imagina en su mente, porque los requerimientos están en la mente de las personas, por eso es que se dificulta obtener dicha información.
Para tener una responsabilidad compartida es necesario incluir más personal en el equipo de la obtención de los requerimientos, generando así mayores puntos de vista sobre los requisitos del negocio, abordando desde un principio los riesgos y las restricciones para que no haya tantos reprocesos en el desarrollo del software, esto origina que el equipo llegue a un acuerdo y al final poder llenar las expectativas del cliente.
Bibliografía
Arias Chaves, Michael, (2005). La ingeniería de requerimientos y su importancia en el desarrollo de proyectos de software. Revista de las Sedes Regionales, vol. VI, núm. 10, 2005, pp. 1-13.
Guillermo Pantaleo – Ludmila Rinaudo, (2016). ingeniería de software. Argentina: Alfaomega.
Morayma Jeniser Oramas Marquez, (2019) Análisis de las metodologías ágiles de desarrollo software. Universidad Técnica De Babahoyo, Facultad De Administración, Finanzas E Informática
Sandra Victoria Hurtado Gil, (2022). Presentación IngReq2022-3-Inception