He tenido algunos éxitos al explicar estas ventajas:
- Menos errores en el futuro (incluso el personal de ventas sabe que los errores son malos).
- Más fácil, más rápido y más barato para solucionar errores en el futuro.
- Es más fácil, rápido y económico realizar mejoras en el producto.
- Es más fácil, rápido y económico agregar funciones completamente nuevas al producto.
- Integración más fácil, rápida y económica con sistemas de terceros.
- Cuanto antes pueda comenzar a refactorizar, menor será la deuda técnica que llevará y mejor será el producto (1-5 será más fácil).
He tenido un éxito limitado con términos como deuda técnica, algunas personas comerciales lo consiguen, algunos piensan que solo son personas tecnológicas que tratan de justificar sus propias cosas, todo depende de la persona a la que intenta explicárselo. .
Una estrategia que funciona bien (siempre y cuando no permita que la deuda técnica se acumule demasiado) está pagando poco a poco haciendo refactorizaciones pequeñas y medianas al comienzo de la próxima mejora / característica / cambio que los vendedores quieren.
Haz que sea parte de su solicitud, "seguro, podemos hacerlo, sin embargo, deberemos mejorar esta parte del sistema para que sea compatible con esta nueva función".
Si puede obtener métricas reales de cuánto tiempo se ahorrará haciendo refactorizaciones, entonces, personalmente, he encontrado que una doble estimación funciona mejor, ya que todas las personas comerciales saben que las estadísticas pueden ser manipuladas y las estadísticas de desarrollo (dependiendo de la persona) puede ser vista como egoísta.
Por doble estimación me refiero a que "seguro, la característica X tardará 3 días si arreglamos el subsistema Y, de lo contrario, está buscando X + Z días para solucionarlo. Además, reducirá nuestras llamadas de soporte y realizará las característica W más rápido para agregar. "
Si a las personas les gustan las métricas, entonces combine el tiempo dedicado a las llamadas de soporte técnico sobre la característica / producto X con mi doble estimación, de esta manera podría generar un gráfico / hoja de cálculo / costos para mostrar el costo de la característica X en función del soporte continuo Llamadas con una reducción estimada de refactorizaciones.
Con el tiempo, podría generar cifras reales para la característica X antes y después de la refactorización.
La obtención de cifras reales para los costos de desarrollo es más complicada, ya que cada función solo se implementa una vez (¡con suerte!) una idea es hacer un seguimiento de cuánto demoran las refactorizaciones y producir un gráfico de doble estimación agregando los costos de refactorización como " Lo que habría costado sin una refactorización ", que es de esperar que sea más alto que su estimación real, esto debería hacer que el ahorro de tiempo / costo sea muy obvio.
Básicamente, con un código base limpiador casi todo se puede hacer más rápido y, por lo tanto, más barato de lo que podría ser, lo que brinda un valor extra y un mejor retorno de la inversión para los comerciales.