¿Qué es Tracer Bullets en el desarrollo de software?

El término «bala trazadora» proviene de las municiones incendiarias que utilizan los artilleros para determinar la trayectoria de sus disparos.

«Su fósforo se enciende y deja una marca pirotécnica desde el arma hasta lo que golpean», escriben los autores David Thomas y Andrew Hunt en su libro. programador pragmático. «Si los rastreadores dan en el blanco, entonces las balas habituales».

Puede parecer extraño leer sobre municiones en un libro de desarrollo de software, pero las balas trazadoras en el software también iluminan el camino a seguir para los equipos de desarrollo.

¿Qué son las bolas trazadoras?

  • Código de investigación simple que puede ser 100 por ciento único, por ejemplo, una llamada a una nueva API.
  • Ayudan a responder las preguntas que surgen en el proceso de planificación sobre cómo pueden funcionar las cosas en la práctica; si no tiene preguntas, no necesita bolas indicadoras.
  • Esta es una forma iterativa rápida de probar si las nuevas tecnologías están funcionando en el contexto de su proyecto.

El libro explica que una vez resuelta la arquitectura del proyecto, las viñetas se pueden utilizar como una forma rápida de probar su viabilidad. Los desarrolladores escriben código que forma el «esqueleto del sistema final», que afecta a todos los componentes principales del proyecto, como la interfaz de usuario, el nivel de autorización, la lógica empresarial y la base de datos.

Por ejemplo, si los desarrolladores utilizan una API de terceros por primera vez o están interesados ​​en almacenar datos en un nuevo tipo de base de datos, pueden escribir un código que realice una llamada a la API o guarde un elemento de la base de datos para tener una idea de cómo hacerlo. funcionará en un contexto de proyecto.

Con este código, los desarrolladores pueden verificar si todos los componentes pueden funcionar juntos y regresar de inmediato si este no es el caso.

MÁS SOBRE TÉCNICADeja de hablar de «deuda técnica»

iteración
Imagen: Shutterstock

Las viñetas de seguimiento le permiten iterar más rápido

Las viñetas de seguimiento son menos comunes que otras herramientas en la metodología ágil. Derivauna empresa de tecnología con sede en Boston que crea chatbots de marketing hace un uso extensivo de la técnica, pero el director de ingeniería Bernard Kianda no la ha encontrado en su trabajo anterior.

«No había escuchado ese término antes, y vengo de un entorno inteligente», dijo Kianda.

Drift Ball Trace es una parte importante del proceso de desarrollo de software, y la empresa no utiliza Agile.

«Tenemos nuestra propia fragancia que se mueve más rápido», dijo Kianda.

Cada uno de los equipos de Drift consta de tres desarrolladores de funciones cruzadas, así como un gerente de producto y un diseñador, que los desarrolladores comparten con otro equipo. Todo está diseñado para permitir que los equipos de desarrollo se muevan rápidamente y evitar cuellos de botella, incluido el uso de balas trazadoras por parte de la empresa.

«La bola trazadora, por supuesto, tiene un enfoque más estilo hackathon».

«Creo que, después de todo, es por eso que los estamos ejecutando: necesitamos iterar más rápido», dijo Kianda. «La bola trazadora, por supuesto, tiene un enfoque más estilo hackathon. Obtiene la respuesta lo antes posible, y [lets you] abordarlo creativamente».

Explicó que cuando se identifica un proyecto por primera vez, el equipo reúne los requisitos y presenta una serie de «historias» que sirven como planos para el desarrollo. Pero todavía puede haber preguntas de larga data que surjan de este «tiempo de la historia».

Estas pueden ser preguntas sobre si una arquitectura puede proporcionar el rendimiento y la velocidad requeridos, o sobre pilas de tecnología, bibliotecas y API desconocidas. Si bien muchas de estas preguntas se pueden responder mediante una planificación e investigación adicionales, algunas respuestas son más fáciles de encontrar si codifica algo y ve cómo funciona.

«Esta es la parte que es una bola de rastreo: la enmarcamos en torno a una pregunta específica que queremos responder. A veces hay que empezar a codificar para entender la respuesta”, dijo Kianda. «Si, según el tiempo de la historia, no hay preguntas sobre cómo tomamos esta decisión y desarrollamos esta solución, entonces no necesitamos una viñeta para rastrear».

ilustración de prototipos de trabajadores
Las bolas indicadoras se crean en un corto período de tiempo y pueden ser un código de una sola vez. | Imagen: Shutterstock

Tracer Bullets son diferentes de los prototipos y MVP

Al principio, las viñetas pueden parecer prototipos o MVP, pero no lo son del todo, dijo Kianda.

«Es probable que los prototipos duren a veces más de una semana, a veces más de unas pocas semanas», dijo. «Si hiciéramos eso en Drift, diríamos: ‘¿Cómo vamos a dividir este prototipo en varias etapas de balas trazadoras?’

El propósito de la bola indicadora es averiguar si la preocupación potencial es real o no. A diferencia de los prototipos, que a menudo se demuestran cuando están terminados para demostrar las capacidades, las bolas de seguimiento se pueden descartar o incluir en el resto del código base una vez que se ha resuelto el problema inicial.

En Drift, a los desarrolladores se les otorga la propiedad de los tokens que escriben y trabajan dentro de un marco de tiempo estrictamente definido para garantizar que los tokens se centren en resolver los problemas que necesitan.

«Los desglosamos a tiempo», dijo Kianda. «Pueden tardar un día o hasta cinco días».

Las bolas trazadoras también difieren de la idea de MVP, o el producto mínimo viable, aunque las dos ideas tienen algunas similitudes. MVP es un producto de trabajo que los clientes pueden comenzar a usar, mientras que las bolas indicadoras están diseñadas solo para probar el concepto y no se refinan por completo.

«Es posible hacer coincidir el MVP, pero en la mayoría de los casos, debido a que no necesitamos estar listos para el acceso público, también puede ser un código fuente al 100 por ciento», dijo Kianda. «Básicamente, queremos comprender lo antes posible qué valor podemos obtener para nuestros clientes».

«Debido a que no requerimos que esté disponible públicamente, también puede ser un código 100 por ciento único».

En otras palabras, las bolas indicadoras se escriben como una prueba seca para ver si son posibles nuevos diseños arquitectónicos y tecnologías para un proyecto determinado. Si eso funciona, la bola de rastreo se puede incluir en la base del código, que eventualmente se convierte en el MVP. En Drift, todos los tokens pasan por todo el ciclo de vida de desarrollo, aparte del resto del código base, y entran al entorno de producción para que los desarrolladores y clientes puedan verlo.

«Es una decisión transversal», dijo Kianda. «Tiene que estar realmente en producción para que podamos probarlo con nuestros clientes».

Esto es especialmente útil para los marcadores de seguimiento, que están diseñados para abordar el comportamiento de los componentes externos. Gracias a la bola de rastreo en producción, los clientes pueden interactuar con un producto en vivo y decidir si un diseño en particular funciona en el contexto de un programa más grande.

Debido a su flexibilidad, las bolas de seguimiento se utilizan en una amplia gama de soluciones en la empresa, desde la definición de API de terceros hasta comandos de IA que entrenan clasificadores de chatbots. Drift también los usa para decidir cómo les gustaría a los clientes personalizar el uso de los productos de Drift, como el widget.

«Drift tiene un widget que proporcionamos donde los clientes pueden ejecutar un chatbot con una configuración específica», dijo Kianda. «Estos widgets se cargan en los navegadores de los usuarios finales. Buscamos muchos compromisos allí: contenido y productividad».

El uso de marcadores indicadores le permite a la empresa probar rápidamente varias configuraciones y no recibir comentarios del cliente, y no dedicar mucho tiempo a la configuración.

«Esta es la menor cantidad de codificación que se necesita hacer», dijo Kianda. «Usa todo lo que puedas e intenta unir las piezas existentes para encontrar la respuesta a la pregunta que estás tratando de resolver».

MÁS SOBRE TÉCNICA¿Realmente necesitas Agile?

Dejar un comentario

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