Soy ingeniero de software en un equipo de desarrollo de software. Los últimos 3 años trabajamos para un cliente interno en un nuevo producto. Ahora que este producto está terminado, vamos a trabajar en nuevas características importantes para los productos existentes. Para una característica particular, la administración del producto ha adivinado que lleva 150 horas desarrollarla. Junto con nuestro gerente de proyecto, hemos creado un plan muy detallado y llegamos a un esfuerzo de 300 horas. Ayer discutimos esto y piensan que hemos sobreestimado las cosas.
En nuestra planificación estimamos las horas para escribir pruebas unitarias, su idea es volcarlas para ahorrar tiempo. La decisión aún no se ha tomado y defenderé esta planificación y las pruebas unitarias si es necesario. Pero lo que realmente no me gusta aquí es que la administración interfiere con nuestro proceso de desarrollo. ¿Cómo los mantengo fuera de nuestro proceso de desarrollo? ¿Y qué argumentos podría usar para mantener la unidad de prueba en su lugar (además de la calidad y el ahorro de tiempo a largo plazo)?
Como nota al margen, nuestra empresa tiene 3 equipos de ingeniería y el equipo en el que estoy entrega su software a tiempo (más o menos un 10% de margen). Mientras que los otros equipos siempre entregan tarde, principalmente debido a la subestimación en la planificación. Solo planean la codificación y no la gestión, las pruebas y el manejo a su alrededor.