La definición de 'terminado' en el desarrollo de software

Fuentes: The Definition of Done

¿Cuándo está realmente terminado un trabajo de software? El texto parte de una idea central: 'terminado' es una afirmación sobre la realidad, no sobre el esfuerzo. Enumera trampas habituales que llevan a los desarrolladores a declarar algo acabado cuando aún no lo está: que solo funcione en su propio equipo, que falten pruebas y rondas de revisión, que el pull request siga sin fusionarse, que esté en desarrollo o staging en lugar de en producción, que dependa del trabajo pendiente de otro compañero o que aún no llegue a los usuarios finales. A continuación, propone una definición operativa de 'terminado': el software debe funcionar en todos los dispositivos soportados, haber superado varias rondas de retroalimentación e iteración, tener la solicitud de fusión integrada, completarse junto con el resto de tareas relacionadas del equipo y estar desplegado en producción y disponible para quienes va dirigido. Añade una reflexión sobre la inteligencia artificial: la IA tampoco puede determinar por sí sola cuándo algo está acabado; debe ser la persona quien lo establezca, y creer ciegamente en la herramienta revela quién tiene motivos para temer el reemplazo. Cierra con una distinción clave: terminado no significa que el trabajo haya acabado, sino que se ha creado valor real en el mundo. El texto, dirigido a desarrolladores y equipos técnicos, funciona como recordatorio práctico y filosófico sobre criterios de calidad y responsabilidad profesional en proyectos de software.