3 Parcial - Técnicas de definición de requerimientos.


¿Qué son las técnicas y definición de requerimientos?

En la Ingeniería de requisitos, los requerimientos del software es la etapa sido levantados y documentados en un registro o matriz de trazabilidad.

La especificación de requerimientos, es una actividad que cada vez toma mayor preponderancia en la gerencia de proyectos, dado que se ha demostrado que una causa recurrente en su fracaso se origina de una inadecuada especificación de requisitos.

El análisis de requerimientos consiste en aplicar una serie de técnicas para desglosar y analizar los requisitos y sus partes, algunas de estas técnicas son: Modelado de procesos, Modelado de dominio, casos de uso, inspecciones, listas de chequeo y prototipos.
Las técnicas que se aplican para la definición de requerimientos deben tomar en cuenta los siguientes puntos del modelo de negocio que analizan la segmentación del cliente:
  1. · Comportamiento: rutinas, aficiones, hobbies, hábitos, etc.
  2. · Psicográficos: personalidad, carácter, actitudes, entre otros
  3. · Demográficos: ingresos, edad, estado civil, etc.
  4. · Geográfico: relacionado a una geografía específica, sea un país, una ciudad o una región
A continuación un video explicando los elementos esenciales del proceso de levantamiento de requerimientos en el desarrollo de software:


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   

Los criterios específicos se refieren a lo siguiente:
  • Cómo se usa el producto
  • Su situación de consumo
  • El lugar de la compra
  • Aspectos más atractivos de la competencia
  • Las ventajas del producto o servicio
  • La percepción que tengan del mismo
Los líderes de la compañía se deben reunir para debatir estos puntos, y así definir la segmentación de clientes a la que se quiere apuntar. El diseño del producto o servicio debe estar orientado al resultado del análisis de los requerimientos generales y específicos.

Técnicas Para la Obtenció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 impotancia 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 esta 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.


Por último, comparto algunos links de artículos que me fueron útiles para entender todas aquellas técnicas para la definición de requerimientos:






Comentarios

Entradas más populares de este blog

2.3, 2.4, 2.5, Matriz de roles y Riesgos

Unidad 1