Resultado de Aprendizaje (3° Parcial - Técnicas de Definición de Requerimientos)

Resultado de Aprendizaje 

Técnicas de Definición de Requerimientos

TÉCNICAS DE DEFINICIÓN DE REQUERIMIENTOS
Un requerimiento (o requisito) es una característica del sistema o una descripción de algo que el sistema es capaz de hacer con el objeto de satisfacer el propósito del sistema.

Al iniciar un proyecto, ¿Cuál es la primera actividad? Tenemos que comunicarnos.

  •  Saber lo que el usuario quiere, cómo lo quiere, cuándo y porqué.

Para obtener los requisitos del cliente se pueden emplear varias técnicas. Históricamente, esto ha incluido técnicas tales como las entrevistas, o talleres con grupos para crear listas de requisitos. Técnicas más modernas incluyen los prototipos, y utilizan casos de uso. Cuando sea necesario, el analista empleará una combinación de estos métodos para establecer los requisitos exactos de las personas implicadas, para producir un sistema que resuelva las necesidades del negocio.

¿Qué son las Técnicas de Definición de Requerimientos?

Las técnicas son aquellas herramientas o métodos que se utilizan enfocados a conocer los gustos o preferencias del cliente (dependiendo su contexto) para la definición de requerimientos; esto es muy importantes en el área de conocimiento para el desarrollo de un software, ya que, tiene que ver con la ingeniería de requerimientos.

Dentro la definición de requerimientos tenemos que se encuentran todas aquellas actividades de obtención (captura, descubrimiento y adquisición), análisis (y negociación), especificación, y validación de requisitos. Éstas, establecen las actividades de gestión de requerimientos para manejar los cambios, el mantenimiento y la rastreabilidad de los requerimientos.

A continuación, un vídeo explicando los elementos esenciales del proceso de levantamiento de requerimientos en el desarrollo de software:



¿Por qué nos son útiles las Técnicas de Definición de Requerimientos?

Estas técnicas nos son útiles puesto nos permiten:

  • Conocer mucho mejor los gustos y preferencias de los clientes.
  • Nos permite tener un mejor desarrollo del software.
  • Permite a la empresa diseñar un producto más orientado a las preferencias del cliente
  • Permite que un producto sea exitoso.
  • Puntos de enfoque amplios, nos da más opciones para comenzar un producto exitoso
  • Análisis estratégico, al tener tanta variedad de opciones, podemos escoger las mejores que cumplan los principales requerimientos.
  • Oportunidades de mejora.

Características de las Técnicas de Definición de Requerimientos

  • Necesario. Si se tiene alguna duda acerca de la necesidad del requerimiento, se pueden preguntar “¿Qué sería lo peor de no incluirlo?” Si no se encuentra una respuesta o cualquier consecuencia, entonces es probable que no sea un requerimiento necesario.
  • Completo. Un requerimiento está completo si no necesita ampliar detalles en su redacción, es decir, si se proporciona la información suficiente para su comprensión.
  • Consistente. Un requerimiento es consistente si no es contradictorio con otro requerimiento
  • Correcto. acuerdo entre dos partes. Contiene una sola idea.
  • Factible. El requerimiento deberá de ser totalmente factible y dentro de presupuesto, calendario y otras restricciones, si se tiene alguna duda de su factibilidad, hay que investigar, generar pruebas de concepto para saber su complejidad y factibilidad, si aun así el requerimiento es no factible hay que revisar la visión del sistema y replantear el requerimiento
  • Modificable.
  • Priorizado. Categorizar el requerimiento nos ayuda a saber el grado de necesidad de este Esencial/Critico, Deseado, Opcional Verificable.
Características

¿Cuáles son las Técnicas de Definición de Requerimientos?

Existe un gran número de técnicas para obtener requerimientos. A continuación describo las más utilizadas. Sin embargo, ninguna de estas técnicas es suficiente por sí sola y que es recomendable combinarlas para obtener requerimientos completos.

Entrevistas

La entrevista es de gran utilidad para obtener información cualitativa como opiniones, o descripciones subjetivas de actividades. Es una técnica muy utilizada, y requiere una mayor preparación y experiencia por parte del analista. La entrevista se puede definir como; un intento sistemático de recoger información de otra persona, a través de una comunicación interpersonal que se lleva a cabo por medio de una conversación estructurada. Debe quedar claro que no basta con hacer preguntas para obtener toda la información necesaria. Es muy importante la forma en que se plantea la conversación y la relación que se establece en la entrevista. 


Desarrollo Conjunto de Aplicaciones ( JAD)

Es una técnica que se utiliza para promover la cooperación y el trabajo en equipo entre usuarios y analistas. Consiste en realizar sesiones en las que participan usuarios expertos del dominio junto a analistas de software. La idea es aprovechar la dinámica de grupos aplicando un proceso de trabajo sistemático y organizado, apoyado por elementos visuales de comunicación y comprensión de soluciones.

A continuación, comparto a lo que se refiere este método explicado en un vídeo:



Desarrollo de Prototipos

Los prototipos suelen consistir en versiones reducidas, demos o conjuntos de pantallas (que no son totalmente operativos) de la aplicación pedida. Esta técnica es particularmente útil cuando:

  • El área de la aplicación no está bien definida (posiblemente por ser algo muy novedoso).
  • El costo del rechazo de la aplicación por los usuarios es muy alto.
  • Es necesario evaluar previamente el impacto del sistema en los usuarios y en la organización.

Los prototipos de sistema permiten a los usuarios experimentar para ver cómo éste ayuda a su trabajo. Fomentan el desarrollo de ideas que desembocan en requerimientos. Además de permitir a los usuarios mejorar las especificaciones de requerimientos, el desarrollo de un prototipo tiene otras ventajas:

  1. Al demostrar las funciones del sistema se identifican las discrepancias entre los desarrolladores y los usuarios.
  2. Durante el desarrollo del prototipo, el personal del desarrollo de software puede darse cuenta de que los requerimientos son inconsistentes y/o están incompletos.
  3. Aunque limitado, se dispone rápidamente de un sistema que funciona y demuestra la factibilidad y usabilidad de la aplicación a administrar.
  4. El prototipo se utiliza como base para escribir la especificación para la producción

Observación

Por medio de esta técnica el analista obtiene información de primera mano sobre la forma en que se efectúan las actividades. Este método permite observar la forma en que se llevan a cabo los procesos y, por otro, verificar que realmente se sigan todos los pasos especificados. Como sabemos, en muchos casos los procesos son una cosa en papel y otra muy diferente en la práctica. Los observadores experimentados saben qué buscar y cómo evaluar la relevancia de lo que observan. 




Estudio de documentación

Varios tipos de documentación, como manuales y reportes, pueden proporcionar al analista información valiosa con respecto a las organizaciones y a sus operaciones. La documentación difícilmente refleja la forma en que realmente se desarrollan las actividades, o donde se encuentra el poder de la toma de decisiones. Sin embargo, puede ser de gran importancia para introducir al analista al dominio de operación y el vocabulario que utiliza.

Cuestionarios

El uso de cuestionarios permite a los analistas reunir información proveniente de un grupo grande de personas. El empleo de formatos estandarizados para las preguntas puede proporcionar datos más confiables que otras técnicas; por otra parte, su amplia distribución asegura el anonimato de los encuestados, situación que puede conducir a respuestas más honestas.
El inconveniente es que la respuesta puede ser limitada, ya que es posible que no tenga mucha importancia para los encuestados llenar el cuestionario. Es recomendable conseguir apoyo de la alta dirección para solicitar a las personas de la organización que contesten el cuestionario.
Al igual que con las entrevistas, se debe seleccionar a los encuestados. El analista debe asegurar que el conocimiento y experiencia de éstos califiquen para dar respuestas a las preguntas.

Tormenta de ideas (Brainstorming)

Consiste en reuniones con cuatro a diez personas donde como primer paso sugieren toda clase de ideas sin juzgar su validez –por muy disparatadas que parezcan–, y después de recopilar todas las ideas se realiza un análisis detallado de cada propuesta. Esta técnica se puede utilizar para identificar un primer conjunto de requisitos en aquellos casos donde no están muy claras las necesidades que hay que cubrir, o cuando se está creando un sistema que habilitará un servicio nuevo para la organización.

Puntos de Vista

Cualquier sistema de software no trivial debe satisfacer las necesidades de un grupo diverso de interesados (stakeholders). Cada uno de estos puede tener intereses diferentes en el sistema de software, y por lo tanto sus necesidades pueden generar requerimientos que tengan conflicto entre sí, o incluso se contradigan.
Los métodos orientados a puntos de vista (viewpoints) toman en consideración estas perspectivas diferentes y las utilizan para estructurar y organizar tanto el proceso de obtención, como los requerimientos mismos. Uno de estos métodos es el método VORD (Definición de Requerimientos Orientado a Puntos de Vista), el cual provee un marco de trabajo orientado para la obtención y documentación de requerimientos. Las etapas principales de este método son:
  • Identificación de puntos de vista, que implica descubrir los que reciben los servicios del sistema e identificar los servicios específicos que se suministran a cada punto de vista.
  • Estructuración de puntos de vista, que comprende agrupar los relacionados en una jerarquía. Los servicios comunes se ubican en los niveles altos de la jerarquía y se heredan los puntos de vista de bajo nivel.
  • Documentación de puntos de vista, que comprende refinar la descripción de éstos y los servicios identificados.
  • Trazado del punto de vista del sistema, que comprende identificar los objetos en un diseño orientado a objetos utilizando la información del servicio encapsulado en los puntos de vista.

Escenarios

Estos se utilizan para documentar el comportamiento del sistema cuando se le presentan eventos específicos. Cada evento de interacción distinto, o la selección de un servicio del sistema, se documentan como un escenario de eventos distinto. Los escenarios de eventos incluyen una descripción del flujo de datos y las acciones del sistema, y documenta las excepciones que puedan surgir.

Las convenciones para los diagramas utilizados en los escenarios de eventos son:

  • Los datos proporcionados desde un punto de vista o proporcionados a éste se representan como elipses.
  • Las entradas y salidas de la información de control se ubican en la parte superior de cada recuadro.
  • Las salidas de datos se ubican a la derecha de cada recuadro. Si no están encerradas, significa que pertenecen al sistema.
  • Las excepciones se muestran en la parte inferior del recuadro. Si existen varias excepciones posibles, éstas se encierran en un recuadro.
  • El nombre del siguiente evento esperado después de completar el escenario se muestra en un recuadro sombreado.

Los Casos de Uso son una técnica que se basa en escenarios para la obtención de requerimientos. Actualmente se han convertido en una técnica fundamental que se utiliza para analizar y describir modelos de sistemas orientados a objetos. En su forma más simple, un caso de uso identifica a los actores involucrados en una interacción y nombra al tipo de ésta.

Etnografía

Los sistemas de software no existen de forma aislada; se utilizan en un contexto social y organizacional, y los requerimientos de sistemas de software se derivan y se restringen acorde a ese contexto. Satisfacer esos requerimientos sociales y organizacionales es crítico para el éxito del sistema. Una razón de por qué muchos sistemas de software se entregan, pero nunca se utilizan es porque no se toma en cuenta la importancia de este tipo de requerimientos.


El Modelo Canvas y las Técnicas de Definición de Requerimientos

El Segmento de Clientes del Modelo Canvas en cuanto a la definición de requerimientos consiste en definir quiénes son los clientes de tu negocio para establecer la estrategia de la empresa. Necesitas conocer íntimamente al consumidor de tu producto o servicio, y analizar su personalidad como cliente, sus gustos y preferencias.

Por esa razón, la segmentación del cliente es uno de los primeros bloques a rellenar en el lienzo Canvas. Existen muchos tipos de segmentos de clientes, así que debes realizar una descripción detallada y minuciosa del cliente que quieres abordar.

Ventajas de incorporar las técnicas de requerimientos

  • Elegir los mejores canales de comunicación para cada segmento: redes sociales, correos electrónicos, anuncios en la tv o radio, etc.
  • Crear mensajes de marketing enfocados a grupos de clientes específico. Permite a los usuarios recibir mensajes especialmente dirigidos a su problema o necesidad.
  • Ayuda a lograr una mejor relación con los clientes.
  • Encuentra nuevos métodos para mejorar los servicios o productos.
  • Prueba diferentes opciones de precio.
  • Mejora el servicio con el consumidor.
  • Puedes enfocarte en los clientes más rentables.
  • Consigue la mayor venta total.
  • Logra la mayor venta cruzada de productos y servicios.

Para determinar los requerimientos que serán en base al cliente, aplicando el Modelo Canvas debes emplear una serie de criterios generales y específicos. Los generales son aquellos que no están relacionado al producto o servicio que ofreces. Los específicos, por tanto, se relacionan directamente con tu propuesta de valor.

Entre los criterios generales se incluye que la empresa para lanzar un producto debe conocer los siguientes datos sobre sus clientes:

  • Edad
  • Sexo
  • Ubicación geográfica
  • Estado civil
  • Nivel de ingresos
  • Personalidad del cliente
  • Gustos y estilo de vida
  • Hobbies   




Comentarios