La presión del "time-to-market" es la presión por entregar un buen producto rápidamente. Es positiva porque refleja una realidad financiera y es saludable hasta cierto punto. La presión del cronograma es la presión por entregar algo más rápido de lo que se puede hacer, y es derrochadora, perjudicial y demasiado común.
La presión del cronograma existe por varias razones. Las personas que asignan tareas a los programadores no aprecian completamente la ética laboral sólida que tenemos y lo divertido que es ser un programador. Tal vez porque proyectan su propio comportamiento en nosotros, creen que pedirlo antes hará que trabajemos más para entregarlo más rápido. Esto probablemente sea cierto, pero el efecto es muy pequeño y el daño es muy grande. Además, no tienen visibilidad sobre lo que realmente implica producir software. Al no poder verlo y no poder crearlo ellos mismos, lo único que pueden hacer es ver la presión del "time-to-market" y molestar a los programadores al respecto.
La clave para combatir la presión del cronograma es simplemente convertirla en presión del "time-to-market". La forma de hacer esto es brindar visibilidad sobre la relación entre la mano de obra disponible y el producto. Producir una estimación honesta, detallada y, sobre todo, comprensible de todo el trabajo involucrado es la mejor manera de lograrlo. Tiene la ventaja adicional de permitir tomar decisiones de gestión acertadas sobre posibles compensaciones de funcionalidad.
La idea clave que la estimación debe dejar clara es que la mano de obra es un fluido casi incompresible. No se puede empacar más en un período de tiempo, al igual que no se puede empacar más agua en un recipiente más allá del volumen de ese recipiente. En cierto sentido, un programador nunca debería decir "no", sino más bien decir "¿Qué estás dispuesto a renunciar para obtener eso que quieres?". El efecto de producir estimaciones claras será aumentar el respeto por los programadores. Así es como se comportan otros profesionales. El arduo trabajo de los programadores será visible. Establecer un cronograma poco realista también será dolorosamente obvio para todos. Los programadores no pueden ser engañados. Es irrespetuoso y desmoralizante pedirles que hagan algo irrealista. La Programación Extrema amplifica esto y construye un proceso en torno a ello; espero que cada lector tenga la suerte de usarlo.
Siguiente ¿Cómo Entender al Usuario?