Feature Injection, un framework para explorar el valor de las técnicas de análisis de negocio

– Post escrito por María Morales (@MaMoralesMC) y Noemí Navarro (@nnsanchez92).

Este post es una introducción de alto nivel al framework Feature Injection y técnicas relacionadas. Explicaremos los elementos clave del marco y mostraremos algún ejemplo. Para mantener el post relativamente corto, también proporcionamos referencias para una mayor investigación en lugar de entrar en detalles de las herramientas y técnicas individuales.

Feature Injection es un framework que ayuda a captar las necesidades de negocio (hablando en terminología ágil similar y complementaria a herramientas como por ejemplo Product Canvas, Design Thinking, Agile Inception, etc.) permitiendo así a los equipos explotar el valor de las técnicas de análisis de negocio tradicionales en proyectos que implican entregas frecuentes e iterativas.
Se centra en un desarrollo guiado por pruebas y comportamiento impulsado por el desarrollo de entrega de valor a negocio y asegurar que un equipo solo construye necesidades que aportan valor, evitando la pérdida de tiempo trabajando en algo que negocio no pide.
En el 2008, Chris Matts, quien estuvo involucrado en las primeras discusiones alrededor del DGC (desarrollo guiado por comportamiento), ideó el framework Feature Injection (inserción de característica, aunque nosotras utilizaremos el término en inglés), logrando así que el DGC pudiera cubrir el espacio de análisis y proveer un tratamiento completo al ciclo de vida del software, desde la visión hasta el código y el lanzamiento.
A modo de recordatorio, durante el congreso «Especificaciones ágiles, DGC y Pruebas» («Agile specifications, BDD and Testing eXchange») en noviembre de 2009 en Londres, Dan North dio la siguiente descripción del DGC:
El DGC es una metodología ágil de segunda generación, tipo afuera hacia adentro, basada en jalar, siendo vehículo de múltiples partes interesadas, de escala múltiple, y de alta automatización. Describe un ciclo de interacciones con producciones bien definidas, resultando en el envío de software funcional, probado y trascendente.
El desarrollo guiado por el comportamiento fue desarrollado por Dan North como respuesta a los problemas que surgían al enseñar el desarrollo guiado por pruebas:

  •       Dónde comenzar en el proceso
  •       Qué probar y qué no probar
  •       Qué tanto probar en una sola oportunidad
  •       Cómo llamar a las pruebas
  •       Cómo entender por qué una prueba falla

 

Las tres etapas de Feature Injection

Feature Injection es un framework basado en tres pasos:
     1. Buscar el valor / Hunt the value
     2. Inyectar las características / Inject the feature
     3. Detectar ejemplos/ Spot the examples
Según Chris Matts & Gojko Adzic, este marco funciona bien, se puede usar tanto en proyectos pequeños, como grandes. Veamos cada uno de ellos con más detalle:

Buscar valor

Muchos proyectos comienzan con necesidades de funcionalidad y los equipos persiguen un valor de negocio desconocido. Entonces el primer paso es identificar el valor y definirlo en un modelo que puede ser un pequeño párrafo explicativo basado en los resultados que se esperan. De esta forma vamos a conseguir la comprensión del valor que se va a entregar a negocio, vamos a ver claro el objetivo consiguiendo una respuesta a la pregunta ¿por qué lo vamos a hacer?

Inyectar las características

Una vez que se define un modelo basado en resultados, hacemos algo más que evaluar la posibilidad de aceptar o rechazar una característica sugerida. Podemos crear de forma proactiva, una lista de características que impulsa hacia la entrega de valor de negocio basado en nuestros modelos. Este es el núcleo de inyección de características.
Una vez que tengamos definida lo que esperamos en la salida, las features se convierten en una pasarela que nos van a permitir llegar a los resultados esperados definidos en el modelo para lograr el valor.  Dicho con otras palabras, tiramos del valor a través de las salidas, y tenemos un vacío en las entradas es por ello que se inyectan las features que van a crear el valor.

Detectar ejemplos

De esta forma aseguramos que se entiende el modelo y que el resultado es el que esperábamos. Así como describir la Feature en términos de ejemplo. Los ejemplos dan al equipo la facilidad de probar los modelos y diferentes situaciones (os dejamos buenas prácticas a la hora de escribir Features).

Terminando…

Hasta aquí la introducción de esta práctica (que para nosotros es algo nueva). Seguiremos investigando más sobre ella y poder contaros más, esperamos que sea de vuestro interés.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Share This
Ir arriba