miércoles, 29 de enero de 2025

7 Técnicas de levantamiento de requerimientos software

¿Quieres dominar el análisis de requerimientos de software? El curso Recolección y análisis de requerimientos de software 📚💻 en Udemy es tu camino hacia el éxito. ¡Inscríbete hoy! 🎓🚀
  

Una etapa fundamental en proyectos de ingeniería de software, es la identificación y documentación de los requerimientos del futuro sistema al comienzo del proyecto, pues en numerosas ocasiones se ha demostrado que es cuando pueden prevenirse errores que puedan significar el fracaso del proyecto.

En la Ingeniería de requisitos, el levantamiento de requerimientos se refiere a la identificación y documentación de los requerimientos de un sistema, a partir de los usuarios, clientes o interesados (Stakeholders). A la práctica también se le conoce como Recopilación de requerimientos.

En este artículo te compartimos 7 técnicas para realizar el levantamiento de requerimientos de software, entre ellas las de Análisis de documentación, observación, entrevistas, cuestionarios, mesas de trabajo, tormentas de ideas e historias de usuario.

PMOInformatica, La oficina de proyectos de informática presenta: 7 Técnicas para obtener requerimientos en proyectos de ingeniería de software.

Pero antes, veamos algunas preguntas acerca de que son los requerimientos de software y como se recopilan:

¿Qué son los requerimientos del software?


Los requerimientos del software son descripciones de las funciones y características que debe cumplir un sistema para satisfacer las necesidades y expectativas de los usuarios y del negocio. Estos pueden incluir requerimientos funcionales, que especifican lo que el software debe hacer, y requerimientos no funcionales, que definen cómo debe comportarse el software en términos de rendimiento, seguridad y usabilidad.

Además, la recopilación y definición adecuada de estos requerimientos son cruciales para el éxito de un proyecto de software, ya que ayudan a evitar malentendidos y garantizan que el producto final cumpla con las expectativas y objetivos establecidos.

¿Cuáles son los tipos de requerimientos?


Los tipos de requerimientos se clasifican principalmente en dos categorías: requerimientos funcionales y requerimientos no funcionales de software

Primero, los requerimientos funcionales describen las acciones específicas que el software debe realizar, como las funciones principales, procesos y comportamientos esperados por el usuario. Por ejemplo, un requerimiento funcional puede especificar que el sistema debe permitir a los usuarios registrarse y acceder a su cuenta.

En segundo lugar, los requerimientos no funcionales se centran en las características de calidad del sistema, como su rendimiento, seguridad, escalabilidad y usabilidad. Por ejemplo, un requerimiento no funcional podría dictar que la aplicación debe estar disponible el 99.9% del tiempo o que debe cargar en menos de dos segundos. 

Por lo tanto, comprender estos tipos de requerimientos es esencial para el desarrollo efectivo de software, ya que asegura que tanto las funciones necesarias como las expectativas de calidad sean atendidas.Los tipos de requerimientos se clasifican principalmente en dos categorías: requerimientos funcionales y requerimientos no funcionales. 

¿Qué es la recolección de requisitos?


La recolección de requisitos es el proceso de identificar, documentar y analizar las necesidades y expectativas de los interesados en un proyecto de software. Este proceso es fundamental, ya que garantiza que todas las partes interesadas, incluidos usuarios finales, gerentes y desarrolladores, tengan una comprensión clara de lo que el sistema debe lograr.

Además, involucrar a los interesados desde el principio permite obtener una variedad de perspectivas, lo que enriquece la calidad de los requerimientos recogidos. Las técnicas empleadas en la recolección de requisitos pueden incluir entrevistas, encuestas, talleres, análisis de documentos y la creación de prototipos. Por lo tanto, la recolección de requisitos es un paso crítico en el desarrollo de software, ya que establece la base para el diseño, desarrollo y validación del sistema.

¿Cómo se recopilan los requisitos?


Los requisitos se recopilan mediante diversas técnicas que permiten obtener información detallada y precisa de los interesados en el proyecto. En primer lugar, se pueden realizar entrevistas individuales o grupales con usuarios y stakeholders para obtener sus perspectivas y expectativas directas.

En segundo lugar, las encuestas y cuestionarios permiten reunir datos de un grupo más amplio de interesados, facilitando la identificación de requisitos comunes. Además, los talleres colaborativos pueden ser útiles para fomentar la discusión y el intercambio de ideas entre diferentes partes interesadas, lo que ayuda a clarificar los requisitos.

Por otro lado, el análisis de documentos existentes, como sistemas anteriores o especificaciones técnicas, puede proporcionar información valiosa sobre requerimientos históricos y necesidades no satisfechas. Finalmente, las técnicas de creación de prototipos y la modelización visual permiten a los usuarios visualizar el sistema y proporcionar retroalimentación sobre sus expectativas.

Así, la combinación de estas técnicas en el proceso de recopilación de requisitos asegura una comprensión integral de lo que se espera del sistema, lo que es crucial para su éxito.

¿Cuáles son las técnicas de recopilación de requisitos?


Las técnicas de recopilación de requisitos son el análisis de documentación, la observación, entrevistas, encuestas o cuestionarios, mesas de trabajo, tormenta de ideas y las historias de usuario. Estas técnicas ayudan a los equipos a obtener información detallada que guiará el desarrollo del sistema y asegurará que se cumplan las expectativas del usuario final.

A continuación, se presentarán siete técnicas clave de levantamiento de información que pueden aplicarse en este proceso, cada una con sus propias características y beneficios, facilitando una comprensión más profunda de los requisitos del sistema.

7 Técnicas para obtener requerimientos de software


1. - Análisis de documentación


  • Es útil cuando los expertos en la materia no están disponibles para ser entrevistados o ya no forman parte de la organización.
  • Utiliza la documentación que sea relevante al requerimiento que se está levantando.
  • Ejemplos de documentación: Planes de negocio, actas de constitución de proyecto, reglas de negocio, contratos, definiciones de alcance, memorándums, correos electrónicos, documentos de entrenamiento, entre otros.

2.- Observación


  • Es una técnica útil cuando se está documentando la situación actual de procesos de negocio.
  • Puede ser de dos tipos, pasiva o activa.
  • En observación pasiva, el observador no hace preguntas, limitándose solo a tomar notas y a no interferir en el desempeño normal de las operaciones.
  • En observación activa, el observador puede conversar con el usuario.

Domina las técnicas de análisis de requerimientos


Curso Recolección y análisis de requerimientos de software

Aprende a recolectar, comprender y analizar requerimientos del software para crear soluciones increíbles



3.- Entrevistas


  • Se realizan con los usuarios o interesados clave.
  • Direccionan al usuario hacia aspectos específicos del requerimiento a levantar.
  • Pueden ser entrevistas formales o informales.
  • Una clave es mantenerse enfocado en los objetivos de la entrevista.
  • Las preguntas abiertas son útiles para identificar información faltante.
  • Las preguntas cerradas son útiles para confirmar y validar información.
  • El éxito de las entrevistas depende del grado de conocimiento del entrevistador y entrevistado, disposición del entrevistado de suministrar información, buena documentación de la discusión y en definitiva de una buena relación entre las partes.

4.- Encuestas o cuestionarios


Diseñado por Freepik
  • Es una técnica útil para recopilar eficientemente los requerimientos de muchas personas.
  • La clave para el éxito es que tengan un propósito y audiencia claramente definida, establecer fechas topes para llenar la encuesta, con preguntas claras y concisas.
  • Deben enfocarse en los objetivos de negocio que se necesitan identificar.
  • Pueden apoyarse con entrevistas de seguimiento con usuarios individuales.
  • Pueden contener tanto preguntas cerradas como preguntas abiertas.

5.- Mesas de trabajo (Workshops)


  • Es una técnica efectiva para obtener información rápidamente de varias personas.
  • Se puede utilizar un facilitador neutral y un transcriptor (que no sea el mismo facilitador).
  • Se puede utilizar un material común sobre el cual enfocar la atención y conversar, por ejemplo una presentación con un desglose del proceso que se está estudiando o un flujograma.
  • Se pueden combinar con otras técnicas como pueden ser las entrevistas y cuestionarios.

Lectura recomendada




Ingeniería de requisitos: Software orientado al negocio

Autor: Guilherme Siqueira Simões, Carlos Eduardo Vazquez

Con el libro Ingeniería de requisitos: Software orientado al negocio aprenderás el conjunto de técnicas, actividades y prácticas que componen el análisis funcional y análisis de negocio, que al aplicarlo a tus proyectos te ayudará a asegurar su éxito.



6.- Tormenta de ideas


Diseñado por Freepik
  • Es una sesión de trabajo estructurada orientada para obtener la mayor cantidad de ideas posibles.
  • Es recomendable limitarlas en el tiempo, utilizar ayudas visuales y designar un facilitador.
  • Las reglas son importantes, por ejemplo los criterios para evaluar ideas y asignarles un puntaje, no permitir las críticas a las ideas y limitar el tiempo de discusión.
  • En una primera fase, se deben identificar la mayor cantidad de ideas, para luego evaluarlas. Todas las ideas deben ser consideradas y deben limitarse que una idea se le ahogue o critique antes de tener tiempo de desarrollarla.

7.- Historia del usuario


  • Las historias de usuario, son una aproximación simple al levantamiento de requerimientos de software, en la cual la conversación pasa a ser más importante que la formalización de requerimientos escritos.
  • Es recomendable que sean escritas por el mismo cliente o interesado (con apoyo del facilitador si es necesario), con énfasis en las funcionalidades que el sistema deberá realizar.
  • Al redactar una historia de usuario deben tenerse en cuenta describir el Rol, la funcionalidad y el resultado esperado de la aplicación en una frase corta.
  • Las historias de usuario son una de las técnicas más difundidas para levantar requerimientos de software en metodologías ágiles.

¿Qué técnica se utiliza para recopilar requisitos?


La técnica utilizada para recopilar requisitos varía según las necesidades del proyecto y el contexto, pero la más utilizada es la entrevista. Esta técnica permite obtener información directa y detallada de usuarios y stakeholders a través de conversaciones estructuradas o informales.

Su enfoque puede ser estructurado, semiestructurado o no estructurado, dependiendo de los objetivos de la conversación y el nivel de flexibilidad deseado. Durante las entrevistas, los facilitadores pueden formular preguntas específicas que guían la discusión, pero también tienen la libertad de profundizar en temas relevantes según surjan, lo que ayuda a revelar requisitos no evidentes.

Además, las entrevistas permiten crear un ambiente personal donde los entrevistados se sienten cómodos compartiendo sus pensamientos y experiencias. Esto es crucial para comprender mejor sus necesidades y expectativas, lo que contribuye a una definición más precisa de los requisitos del sistema. En resumen, las entrevistas son una técnica valiosa que ayuda a construir una relación entre los desarrolladores y los interesados, asegurando así que el software final satisfaga las necesidades reales del usuario.

Que le sigue al levantamiento de requerimientos


Toda la información obtenida durante el levantamiento de requerimientos puede ser incluída en una matriz de trazabilidad de requerimientos y en una especificación de requerimientos de software.

Al levantamiento de requerimientos le sigue el análisis de los mismos, por medio de técnicas como la descomposición funcional, modelado de procesos, casos de uso, inspecciones y prototipos. Estas técnicas serán sujeto de un próximo artículo.

¿Buscas formación en Ingeniería de requisitos y análisis de negocio? visita la página del Curso Online de Ingeniería de requisitos. Identifica y analiza requisitos de software de manera integrada, para elaborar especificaciones de calidad.

¿Y qué opinas tú?

¿Cuáles técnicas para el levantamiento de requerimientos de software has utilizado? ¿Cuáles buenas prácticas recomendarías? ¿Qué errores cometiste y que aprendiste de ellos?




También puedes seguirnos vía Twitter, Facebook o Linkedin:


1 comentario :

Pmoinformatica.com," La Oficina de Proyectos de Informática ", es un participante en el Programa de Servicios de Amazon Associates LLC, un programa de publicidad de afiliación diseñado para proporcionar un medio para que sitios web puedan ganar honorarios por la publicidad y enlaces a amazon.com y amazon.es.