Establecimos 2 o 3 sesiones de estimación con el cliente potencial y nuestros desarrolladores donde discutimos el trabajo en cuestión y establecemos los criterios de aceptación. Los desarrolladores estiman el trabajo en los puntos de la historia durante la reunión.
Luego le vendemos al cliente una cantidad de puntos de historia. Esto es posible porque tiene una buena idea del valor de los puntos de la historia. Le decimos que tiene la posibilidad de afinar su acumulación / alcance durante el proyecto y que será fácil debido al uso de los puntos de la historia. También le decimos que habrá una entrega frecuente de software en funcionamiento para que pueda supervisar el progreso y obtener nuevos conocimientos.
Al acordar una serie de puntos de la historia, se garantiza que el cliente obtendrá valor por su dinero. Si no cambia su retraso, tiene su proyecto de precio fijo / alcance fijo, pero mi experiencia es que hará cambios. Al realizar las estimaciones en presencia del cliente potencial, intentamos establecer una relación basada en la apertura y la confianza.
Nos las arreglamos para convencer a los clientes como usted describe, que "quieren un presupuesto y una fecha límite", y estaban felices de que quisiéramos entender realmente lo que necesitaban, en lugar de trabajar en un documento. Demostramos que queríamos invertir en estos proyectos.
Durante las sesiones de estimación, estimamos su retraso total. Esto le dio x puntos de historia. Sugerimos agregar un 25% para aquellas características que aún no estaban claras o no se conocían en ese momento. Con el atraso estimado adjunto al contrato, se les aseguró que obtendrían todo para el presupuesto fijo.
Originalmente la oferta era tiempo y material. Como querían tener una oferta de precio fijo, sugerimos trabajar por el precio que les dimos y usar el 25% de puntos de historia adicionales para la contingencia. Si las cosas salieron bien, la parte del 25% que no se utilizó para cubrir los retrasos que encontramos se usaría para ofrecer más funcionalidad al cliente.
Esto los estimuló de varias maneras: primero, hicieron todo lo que pudieron para permitir que nuestros desarrolladores trabajen lo más rápido posible, ya que esto era claramente en su propio interés. Nunca tuvimos que esperar respuestas a las preguntas. En segundo lugar, entendieron realmente el concepto de los puntos de la historia. Antes de que comenzara el proyecto, ya habían eliminado algunas de las historias y nos habían pedido que estimáramos otras historias. No se necesitaron negociaciones contractuales complicadas para esto.
Les mantuvimos informados del progreso y mantuvimos una comunicación muy abierta. Recibieron un informe de progreso cada 2 semanas: el x% de los puntos de historia realizados en y% del tiempo estimado deja el z% de los puntos de historia adicionales disponibles. Tuvimos un comienzo un poco difícil, pero logramos ponernos al día con las estimaciones al final del proyecto, lo que dejó el 100% de los puntos de historia adicionales disponibles para un desarrollo adicional. El cliente estaba contento porque obtuvo todo lo que realmente necesitaba (y eso era un poco diferente de sus características inicialmente solicitadas, eliminó algunas y agregó otras).
El cliente también estaba contento porque todo se entregó en el plazo previsto (donde también hizo todo lo posible para ayudarnos a buscar tickets, responder preguntas de inmediato, involucrar a los usuarios en reuniones de análisis semanales y también involucrarlos en pruebas funcionales).
Mi empresa estaba feliz porque lo entregamos a tiempo y dentro del presupuesto. Mi compañía también estaba feliz porque el éxito de este proyecto abrió la puerta a más proyectos. Incluso nos mencionaron en la revista mensual del cliente que se envió a personas de todo el mundo.
Hacer las buenas estimaciones fue la parte más difícil del proyecto, pero tener las sesiones de estimación por adelantado nos ayudó a comprender la dificultad y los riesgos. Nos permitió dar una estimación basada en hechos y eliminó muchas de las incógnitas.