Es bien sabido que en Scrum es muy importante tener software que funcione al final de cada sprint. Pero... ¿por qué? Joe Little comparte 4 buenas razones por las cuales tenemos que enfocarnos en tener software que funciona, siempre.
- Las malas noticias no mejoran con el tiempo. Dicho de otra manera, es más barato arreglar un bug ahora que arreglarlo más tarde. O la arquitectura, o el diseño. Tiene que estar terminado.
- Lo reconozco cuando lo veo. Los usuarios no pueden dar feedback sin algo concreto que mirar. Por lo que "terminado" también significa eso. Tiene que ser los suficientemente concreto para permitir el feedback (y si, a menudo eso son más malas noticias, antes).
- No está terminado hasta que está terminado. Y vaya si habremos vivido esta pesadilla. Sólo si está terminado vamos a tener una idea de nuestro progreso real. Y de ahí podremos saber cuándo haremos la entrega.
- No construir sobre una mala base. No queremos construir software nuevo por encima de software con errores. Si cambiamos algo abajo, la casa entera se nos podría caer. Nuevamente, ningún bug debe escapar al sprint.
Seguramente a ustedes se les ocurren más motivos por los cuales debemos tener software funcionando, siempre.
Estos son algunos de los motivos por los cuales la Definición de Terminado es un artefacto esencial dentro de Scrum.