pronunciation - maintenance translate
Costo de desarrollo versus costo de mantenimiento (5)
En "Hechos fundamentales frecuentemente olvidados sobre la ingeniería de software" por Robert L. Glass, (un artículo en IEEE Software mayo / junio de 2001), habla sobre la regla "60/60" del software, es decir, que el mantenimiento suele consumir del 40 al 80% ( 60% promedio) de los costos del software, y luego esa mejora es responsable de aproximadamente el 60% de los costos de mantenimiento del software, mientras que la corrección de errores es aproximadamente del 17%.
Estoy tratando de explicar la relación entre los costos de desarrollo y los costos de mantenimiento a nuestro departamento de ventas, y actualmente tengo la sensación de que pasamos aproximadamente el 60% del tiempo con el mantenimiento.
Tenemos algunas personas en el equipo que tienden a vender soluciones personalizadas, que debemos construir, y si el personal de ventas no entiende el costo total del desarrollo, no podrá vender a precios realistas.
Otro "problema" es que estamos ampliando nuestro servicio y tenemos la necesidad de refactorizar parte de la infraestructura subyacente para reducir el tiempo de comercialización y otros puntos de medición.
¿Tiene alguna buena sugerencia sobre a qué debo referirme para construir un argumento sólido? ¿Y qué puntos debo mencionar para darles una buena comprensión del problema?
Tal vez haya algún gran texto por ahí en algún lugar al que pueda señalar.
Estudiar el concepto de deuda técnica. Además, trata de salir con gente de ventas. Lo más probable es que no sean malvados o que no les importe; solo han estado expuestos a diferentes cosas, tienen diferentes habilidades e intereses que usted. Las habilidades blandas importan mucho. Los mayores errores serían hacerles saber que "no entienden las computadoras". El tipo de ventas más fácil con el que he trabajado fue el ex-QA, así que consiguió muchas cosas. Por cierto, el trabajo de la gente de ventas es doblar la verdad y mantener esos dólares por venir. Es un delicado equilibrio entre no incurrir en demasiada deuda técnica y no perder oportunidades de negocios.
Intenta hacer que piensen en el software como un auto. Es posible que solo tarde un par de semanas o un mes en construirlo, pero mientras se usa durante las siguientes semanas, meses y años, se requiere mantenimiento. Tal vez solo sea un mantenimiento de rutina para que las cosas funcionen sin problemas; pero también podría ser un mantenimiento de emergencia cuando hace algo inesperado y necesita reparaciones.
Del mismo modo, puede que todo esté bien cuando lo tengas por primera vez, pero después de un poco de uso, será necesario pulirlo para que sea como esperabas que fuera todo el tiempo.
Lo que he experimentado es que aproximadamente el 35% del costo de desarrollo se gastará durante el primer año de mantenimiento, el 30% en el segundo año y el 25% en el tercer año. Entonces, si gasto $ 1 MM para el desarrollo, gastaría 350K durante el primer año y así sucesivamente. Después de 3 años, el costo nuevamente aumenta de 5 a 10% cada año. Por lo tanto, la reingeniería total de la aplicación puede ser necesaria después de 5 o 6 años.
Después de 29 años en la industria, puedo decir que el mantenimiento es del 60-80% del costo total. El desarrollo es a lo sumo 20%. Pero la mayoría de las compañías de hoy no parecen reconocer que se enfocan más en el desarrollo rápido y establecen fechas de vencimiento sin una estimación adecuada. Esto obliga a los desarrolladores a volcarse e irse, lo que solo dificulta el mantenimiento. Entonces, ¿qué hacen los ejecutivos como resultado? Tiran todo el software interno y compran cosas de terceros. Luego, la pesadilla de la integración del sistema ocurre y tal vez 4 o 5 años más tarde, más o menos lograrán que todo funcione, pero el costo de hacerlo es exponencialmente más alto que pasar el tiempo al frente y hacerlo bien la primera vez. Mientras tanto, todos los veteranos veteranos cuelgan sus sombreros y una nueva generación de jóvenes vuelan con la actitud de "podemos arreglar cualquier cosa". Y eso, mi amigo es lo que estarán haciendo durante mucho tiempo.
Esta es la razón por la que Agile finalmente me ganó porque la cascada simplemente no funciona en el software. Nunca lo he hecho y nunca lo haré. Se trata de iteraciones de trabajo más pequeñas y desarrollo de piezas. Al igual que Henry Ford nos mostró en 1900 ...