En demasiadas ocasiones las pruebas en los desarrollos se posponen hasta el último minuto, y es por eso que en algunos casos acaban interrumpiéndose por falta de tiempo; también por haber excedido el presupuesto...deadlines...etc.

¿Te suena alguna de estas realidades que acabamos de mencionar?

En estos escenarios hay que tratar de manejar muy bien la expectativa del usuario final y tu estrategia digital, realizando un MVP con una base consistente con la que escalar.

A lo largo de la historia de las experiencias vitales aprendimos que las prisas nunca fueron buenas consejeras, y si a eso le sumamos un peligrosa falta de enfoque, todo junto hará que te veas obligado contínuamente a iterar en tu propio desarrollo. La creatividad y la innovación son muy importantes en tu proceso de transformación o estrategia digital, pero has de saber gestionarla.

Artículos recomendados antes de seguir la lectura:

¿Es relevante establecer un enfoque de desarrollo en tu organización?

Sí, por supuesto, y es por ello que esa gestión de expectativa y la estrategia digital es clave.

Hay una reflexión que siempre me gusta exponer cuando hay falta de tiempo o recursos:

¿No hay recursos para hacerlo bien una vez, pero SÍ PARA HACERLO DOS VECES?

Es una reflexión acerca del manejo de la expectativa. En muchas ocasiones, la falta de foco, de documentación y de recursos hace que el desarrollo realizado nunca acabe de madurar. Por ese motivo te ves obligado a iterar por el camino todo aquello que no está adecuadamente alineado al proyecto.

Estas situaciones, en algunos casos, pueden llegar a doblar el presupuesto, el tiempo y los recursos iniciales del desarrollo que marcaste. Si eso sucediera será un serio problema para tu equipo y la organización.

¿Cuáles son mis expectativas en la calidad de un nuevo proyecto?

Es inevitable que los primeros pasos de cada proyecto abracen la incertidumbre. Hay que saber manejar la duda y la discusión sobre los comportamientos del software o la característica que se van a desarrollar, dando paso a la creatividad y la innovación digital, pero enfocando un alcance alineado a tu estrategia digital.

Un nuevo proyecto puede presentarse desde de un cliente, por parte de un usuario o, el equipo de marketing digital, incluso, un directivo de tu misma organización, que se acerca a otro miembro de tu equipo y expone sus necesidades para solucionarlas. A veces, estas interacciones vienen en forma de historias de usuario, con metodología ágil. A veces vienen en forma de diseño ya definido, y otras veces podrían venir como diagramas de flujo o maquetas en Keynote, PowerPoint, Word o incluso llamadas telefónicas urgentes.

Estas situaciones son confusas para tu equipo y la organización. El resultado de alguna de ellas hace imposible (o muy difícil), manejar la calidad del desarrollo con test de calidad para asegurar y cumplir con las expectativas de transformación digital con usuario final.

Es primordial que apliques un enfoque de desarrollo en tu equipo, con soluciones como TDD o BDD para manejar tus desarrollos.

¿Qué enfoque de desarrollo dedo aplicar? ¿TDD o BDD?

Aunque TDD o BDD parecen muy similares, la principal diferencia entre ambas está en el alcance. TDD es una práctica de desarrollo, enfocada en cómo escribir el código y cómo debería funcionar. Mientras que BDD es un enfoque de equipo que hace hincapié en por qué debes escribir ese código y cómo se debería comportar.

En TDD el desarrollador escribe los tests mientras que en BDD el usuario final, junto al resto del equipo multidisciplinar, escriben los tests.

Si comparamos los 2, podemos decir que TDD se ocupa solo a nivel unitario o una porción pequeña de la aplicación en desarrollo, y que BDD se va a ocupar de que las pruebas sobre la integración de esas unidades (a un nivel de negocio), no solo sean simples pruebas sino también documentación viva de la aplicación al alcance de cualquier usuario y en su mismo idioma (términos que usa comúnmente).

Mi recomendación se apoya en ambas soluciones: TDD y BDD. Si tienes capacidad de implicar a toda la organización (clientes, usuarios y dirección con enfoque BDD), generarán historias de usuario muy enriquecidas con las que podrás definir y acotar un producto mínimo viable (MVP), además de alinear el objetivo del desarrollo y la estrategia digital entre todos los implicados.

Una vez esté todo el mundo esté alineado, será el mejor momento para que el director técnico o el equipo de desarrollo establezca un enfoque TDD, con lo que podrás prever y definir con mucho más detalle las principales características técnicas de tu desarrollo, adelantándote a errores de programación que el usuario final podría experimentar.

Conclusión

El secreto para asegurar que tu desarrollo no se convierta en un software defectuoso para el usuario final está en asegurar que las pruebas y la definición sean establecidas por todo el equipo implicado, desde usuario final, directivos y, por supuesto, el equipo de desarrollo. La innovación digital no es solo del equipo técnico. Solo así garantizarás las pruebas desde todas las perspectivas de negocio.

La suma o la elección entre TDD y/o BDD dependerá de las necesidades de tu proyecto, presupuesto, deadline, etc. Pero recuerda que hacer las cosas dos veces es mucho más caro que plantear un buen proyecto de inicio, aunque se trate de solo un MVP.

Describir ¡y comprender! las necesidades de un sistema tiene muchos beneficios más allá de la corrección del código: establece un diálogo interdepartamental y asegúrate que se vean satisfechas cada una de las inquietudes que puedan exponer por parte de las personas interesadas.

¿Evalúas la expectativa de tus usuarios? ¿Qué enfoque utilizas en tus proyectos, TDD y/o BDD? ¿Cómo es, o ha sido, tu experiencia y la de tus programadores? ?Tu organización alinea los desarrollos a la estrategia digital?

Photo by Dylan Gillis on Unsplash

Referencias: