1. Descubrimiento
En este punto, es donde hacemos la mayor parte de las discusiones, y donde ocasionalmente hablamos con alguien para que deje de participar en un proyecto. Preferimos perder este proyecto y confiar en el siguiente, que construir algo que pudiéramos ver que estaba mal.
- Conversaciones con las personas que usarán la cosa, no solo las personas que la compran
- Leer los sistemas que ya existen, incluyendo las hojas de cálculo que nadie menciona
- Una evaluación honesta de si algo de la estantería le serviría mejor
- Resultado: un alcance escrito, un precio fijo y una fecha
2. Alcance y diseño
Estructura, modelo de datos, interfaces y las decisiones técnicas que son costosas de revertir. Los permisos y la auditoría se diseñan aquí en lugar de agregarse más tarde, porque reajustar un modelo de permisos es la revisión más costosa en el software.Para los sitios web, aquí es donde se trabaja el contenido, porque el contenido es el camino crítico y pretender lo contrario es por lo que los proyectos se deslizan.
- Modelo de datos y permisos diseñados antes de que nada se construya sobre ellos
- Diseño de interfaz contra contenido real, no relleno
- Decisiones técnicas escritas con su razonamiento, para quien herede este
- Cualquier cosa de la que no estamos seguros se prueba a bajo costo antes de que se convierta en estructural
3. Construcción
El trabajo se envía continuamente a un entorno que puedes ver, y lo ves todas las semanas.No hay una fase en la que desaparecemos durante tres meses.Hablas con las personas que escriben el código, no hay un gerente de cuentas que traduzca entre tú y ellos, porque la traducción es donde los requisitos mueren.
- Un entorno operativo que puedes usar desde las primeras semanas, no una demo al final
- Contacto semanal con las personas que lo están construyendo
- Pruebas automatizadas en los caminos donde equivocarse cuesta dinero
- Monitoreo y registro cableado durante la construcción, no atornillado al final
4. Lanzamiento
Para cualquier cosa que reemplace un sistema existente, esto significa un rollback probado, una migración de datos ejecutada contra una copia de producción más de una vez y una secuencia de corte diseñada alrededor de su negocio en lugar de nuestra conveniencia. Para sitios web, esto significa asignación de URL y redirecciones acordadas antes del lanzamiento, porque el clásico fracaso de rediseño es un colapso de tráfico cuatro semanas después.
- Un cutover ensayado con un rollback que ha sido probado, no meramente escrito
- Redirecciones y asignación de URL en su lugar antes del lanzamiento para cualquier cosa que reemplace un sitio
- Monitoreo de errores, rendimiento y los números que importan desde la primera hora
- Alguien disponible durante y después de la ventana de lanzamiento, nombrado por adelantado
5. Operar, o entregar
Lo que no haremos es dejarte con algo que nadie entiende. El manual de desarrollo está escrito para una persona competente que no estaba en el proyecto, porque eventualmente esa es la persona que lo va a leer, y a veces esa persona trabaja para ti.
- Un runbook escrito para quien lo opere a continuación, incluido el caso en el que no seamos nosotros
- Infraestructura como código, para que el entorno pueda reconstruirse en lugar de recordarse
- Expectativas de respuesta acordadas, por escrito, si lo estamos operando
- Una ruta de entrega documentada, disponible siempre que desee llevarla a cabo internamente
Cuéntanos lo que estás tratando de hacer
Una breve conversación suele ser suficiente para saber si somos las personas adecuadas, si no lo somos, lo diremos y le indicaremos un lugar mejor.
