Vertical Slicing (V) — Ejemplo práctico (Bot en Slack para traducir mensajes)

Bot Slack

1. Preparar un primer problema grande

2. Encontrar las actividades necesarias (funcionalidades, capacidades o comportamientos)

  • Detectar el mensaje que se escribe en el chat
  • Traducir el mensaje
  • Escribir la respuesta traducida en el canal

3. Encontrar los conceptos de cada actividad que añadan complejidad

  • Que tipo de contenido tiene el mensaje: si tiene solo texto, imágenes, links, gifs…
  • Detectar el idioma del mensaje original
  • A que idiomas tengo que traducir
  • Tipo de mensaje a responder: si será un nuevo mensaje, o añadirlo como hilo…
  • El contenido del mensaje al responder

4. Identificar todas las posibles variaciones

5. Reducir todas las posibles variaciones a una — Vertical slicing

El objetivo es tener una versión básica del sistema, con funcionalidades básicas — no las funcionalidades finales — que nos pueden dar feedback de la complejidad a la que nos vamos a enfrentar y que podamos ir haciendo crecer incremento a incremento.

6. Desarrollar en baby steps iterativos e incrementales

La intención de los baby steps es desarrollar de forma iterativa e incremental haciendo crecer la solución poco a poco. No intentamos desarrollar la solución final desde el inicio, ni tampoco desarrollar todos los incrementos de una vez.

--

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Abraham Vallez

Abraham Vallez

More from Medium

Domain Driven Design, an elevator pitch

Monoliths and Microservices Architecture

How to Achieve Continuous Deployment with Feature Flags