Descubrí que si puede proporcionar números válidos, es más probable que los gerentes actúen. (Si pueden entender la lógica y el costo / beneficio).
En mi humilde opinión, para hacer un caso convincente, necesitaría lo siguiente para mostrar lo malo que es:
- cantidad de incidentes de soporte registrados para los problemas
- tiempo invertido en horas manteniendo / ayudando a un código incorrecto / haciendo arreglos de soporte
- costo de tiempo basado en la tarifa por hora de las personas que realizan el mantenimiento / curitas / soporte
- alguna forma de demostrar cuán críticos son estos artículos para la empresa
Y para justificar la refactorización, necesitará:
- tiempo estimado para refactorizar e implementar cada uno de los 3 principales de estas cosas malas
- costo estimado para la implementación (las mismas tarifas por hora que se usaron anteriormente)
Con estos, puede justificar el ahorro de tiempo si la refactorización requiere mucho menos tiempo de soporte para 3 incidentes para cada uno de esos 3 elementos principales. Puede argumentar que esta menor cantidad de tiempo invertido
- ser menos de n más incidentes de soporte
- no habrá más de estos incidentes para estas cosas (¡INCLUSO MEJOR!)
Sin embargo, la parte más difícil de esta venta será responder la siguiente pregunta, ya que muchas personas no presupuestan el tiempo en los horarios para todo el apoyo que está haciendo:
¿Cuánto tiempo más tendré que esperar a que finalice el proyecto Y actual mientras pasas tiempo trabajando en estos problemas con X ????? (a pesar de los tiempos de asistencia actuales, que no se pueden predecir ni programar en los diagramas de Gantt)
Esto depende mucho de qué tan bien se comunique con los tomadores de decisiones y de cómo entiendan la situación.
DEFINITIVAMENTE creo que vale la pena hacerlo, así que tienen la práctica de construir el caso con las métricas y ahorrarse tiempo, incluso si no lo hacen. Desafortunadamente, no todos son fáciles de convencer, a pesar de los datos. ¡BUENA SUERTE!
Todas estas cifras se basan en última instancia de conjeturas, en su caso, la comparación de la cantidad que supongo que costaría no refactorizar frente a lo que supongo que le costaría a refactorizar. Lo mejor que puede hacer es demostrar que tiene algún tipo de base numérica y objetiva para las conjeturas, y que tiene una muy buena.
Las ventajas son que probablemente sea efectivo para convencerlos de que le permitan refactorizar, y podría funcionar bien y reducir la cantidad de errores.
Las desventajas son que si la cantidad de tiempo dedicado a corregir errores no disminuye al menos tanto como el tiempo dedicado a la refactorización, probablemente ya no se le permitirá refactorizar, y probablemente se le culpe por el tiempo "perdido" .
Los ahorros en el tiempo de depuración obtenidos al reducir la complejidad del proyecto en general, o al facilitar la adición de funciones, pueden ser demasiado difíciles de medir para ayudarlo mucho, pero podría mencionar que existen.
fuente