¿Cuál es el ciclo completo de desarrollo basado en pruebas para una empresa de software B2B?

Desarrollo guiado por pruebas en Google

Google utiliza procesos de desarrollo basados ​​en pruebas / indicadores marcados por funciones. Varía entre aplicaciones y entre equipos, pero el objetivo es obtener comentarios reales de los usuarios antes de lanzarlos a las masas. Google lo usa para compartimentar el riesgo, probar la escalabilidad y asegurarse de que no tengan una nueva versión que fracase por completo.

Aquí hay un artículo sobre el secreto de la cultura de ingeniería de Google.

“Google es conocido por su sólida estabilidad e iteración rápida en los comentarios de los usuarios. Uno de los secretos de Google son las versiones canarias para garantizar productos estables y de alta calidad. Una versión canaria está lanzando características para algunos usuarios (pero no para todos). Si las características no son t exitoso, se revierte para ser reparado o eliminado. Google tiene un proceso de liberación canario extremadamente sofisticado. Google tiene pruebas unitarias extensas que les permiten integrarse continuamente. Después de la integración continua, para productos importantes como Google Mail, Google tiene un ciclo de lanzamiento semanal .

El primer canario de Google es google.com, ya que tiene más de 50,000 empleados. A partir del lunes y durante la semana, Google lanza gradualmente la nueva versión internamente a sus propios usuarios, monitoreando cientos de métricas diferentes sobre escalabilidad y estabilidad. Los empleados de Google actúan como canarios, quejándose de cualquier problema que surja. Si las métricas principales se ven afectadas significativamente, la versión se revierte por completo. Sin embargo, por lo general, se colocan soluciones para problemas críticos y la versión se envía a toda la base de empleados de Google.

El próximo lunes, Google tomará la versión que se había implementado para los empleados de Google y la versión canaria externamente. Google comenzará a mostrar a más usuarios la nueva versión. Google continúa monitoreando la escalabilidad y la estabilidad, utilizando a los usuarios externos como el verdadero entorno de “puesta en escena”. Los productos de Google tienen una base lo suficientemente grande que incluso pueden hacer análisis de opinión para palabras clave como “Gmail apesta” en Twitter. Si hay picos, Google detendrá o revertirá la nueva versión. Pero generalmente al final de la semana, el lanzamiento completo se ha implementado, y es hora del nuevo lanzamiento.

Las ventajas del enfoque de lanzamiento canario de Google son

  • estabilidad: siempre hay un lanzamiento para volver a
  • comentarios: los usuarios del mundo real dan reacciones en el mundo real

Google es lo suficientemente grande como para que nunca puedan simular o probar todas las situaciones internamente en un servidor de preparación artificial. Al enviar lanzamientos a usuarios reales como canarios, Google se asegura de que estén diseñando para el mundo real, no para un laboratorio. Lo que permite a Google lanzar lanzamientos a usuarios reales es un sistema de implementación que les permite controlar fácilmente quién ve qué características y retroceder fácilmente. ”

Recursos de desarrollo basados ​​en pruebas

Introducción al desarrollo guiado por pruebas

Pautas para el desarrollo dirigido por pruebas

Alianza ágil: desarrollo impulsado por pruebas

Desarrollo impulsado por banderas de características

Alternar funciones