¿Cuáles son las estimaciones típicas de esfuerzo de las tareas de programación?

Esto es lo que yo llamo ‘nuevo error de gerente de proyecto cero’. Que un tiempo real para una característica aislada tiene alguna correlación con esa misma característica en una aplicación del mundo real.

Tu ejemplo grosero es bueno

Ya está subespecificado:

  • ¿Se puede usar la herramienta de base de datos de acciones?
  • ¿O es una aplicación de consola con comandos de texto?
  • ¿O una GUI de plataforma única?
  • GUI multiplataforma?
  • ¿Aplicación Web?
  • ¿Aplicación movil?
  • Aplicación receptiva?

Esta información Lo es

  • ¿Pequeña?
  • ¿Grande como en petabytes de salida de IoT?
  • ¿Cambiando frecuentemente?
  • Duro tiempo real?
  • ¿Requiere un seguimiento de auditoría de cambio sin repudio si los autores cumplen?
  • ¿Efímero como un Snapchat?
  • ¿Crítico como los datos bancarios?

Las personas que lo usan

  • Expertos que usan una IU técnica
  • ¿Los novatos que necesitan magos, ayuda con vivideos y validación adicional?
  • ¿Solo uno?
  • Millones? Miles de millones?
  • ¿Trillones para IoT?
  • ¿Necesita un inicio de sesión de administrador seguro? ¿Más de uno?
  • ¿Leer más?
  • ¿Escribir sobre todo?

Nos detendremos aquí.

Ahora, supongamos que apuntamos eso.

Eso ya son unas 50 combinaciones allá arriba. Si he hecho uno de ellos antes, tal vez recuerde lo suficiente como para que el tamaño de la camiseta sea solo la característica.

Lo que nos condenará a ambos es la integración al código existente. Ninguno de nosotros sabrá lo que acecha allí en esta etapa.

Es posible que ya tenga un gancho para agregar esta función. Si podemos averiguar sobre eso, genial.

Podría ser una bola enredada de soluciones alternativas y lógica de casos especiales. Esto afectará lo que tenemos que hacer de maneras desconocidas.

Nuestro caso podría invalidar la arquitectura. Supongamos que tenemos una hoja de cálculo de Excel de un solo usuario que se utiliza para ingresar las horas de trabajo. Ahora queremos incluir horas de trabajo en tiempo real de etiquetas RFID para un millón de usuarios en todo el mundo. Ese no es uno para sobresalir.

Tenga en cuenta que antes hablé sobre cómo un tiempo real de la experiencia anterior no se correlaciona, debido al impacto del código existente

Tiempo real medido

Por lo general, estamos presionados por ‘estimaciones’, sin mejor información que en su pregunta. Estas estimaciones se aplican solo a la característica aisladamente.

Puedo ver por qué se necesitan proyecciones de tiempo y costo. Pero la estimación realizada de esta manera generalmente hace más daño que bien. Invariablemente produce una expectativa de menor tiempo y costo, lo que no es útil.

En muchos casos es una adivinación basada en la especificación del proyecto dado. Según la experiencia de los desarrolladores y el tiempo dedicado a funcionalidades similares en proyectos anteriores, es posible que pueda estimar mejor, pero en muchos casos hay subestimaciones.
Algunas compañías multiplican dos veces el tiempo proporcionado por el desarrollador para evitar la subestimación.