Después de que una aplicación subcontratada / deslocalizada se “complete”, ¿quién realizará el mantenimiento?

7

¿Cuál es la disposición típica para el mantenimiento de aplicaciones que no se desarrollan internamente?

Nota: por mantenimiento, me refiero a correcciones de errores, optimizaciones, pequeñas modificaciones y futuras extensiones.

    
pregunta Dimitri C. 06.01.2011 - 09:58

4 respuestas

6

Este es uno de los problemas no hablados (bueno, no hablado a nivel de gestión).

El escenario 1 es que el mantenimiento, el soporte y las mejoras son realizados por la empresa externa. Esto supone que todavía existen dentro de 5 años (existe un riesgo para el negocio allí). Los costos involucrados en esta atención continua deben tenerse en cuenta al inicio.

El escenario 2 es que el trabajo se "descarga" en el departamento de TI en el sitio. Por experiencia, a menudo no es bien recibido, especialmente si se han hecho despidos basados en las decisiones de ir a la costa. Incluso si es bien recibido, tiene la curva de aprendizaje de tratar de entender el código de otra persona. Si tienes tiempo de mirar el código antes de ir a vivir, ¡has tenido mucha suerte! Por lo general, todo es material de lucha contra incendios. También es frustrante cuando su gerente no puede entender por qué le toma X veces más tiempo hacer algo, solo porque el 90% de su tiempo fue en comprensión.

Pido disculpas si esto resulta excesivamente a favor o en contra de la deslocalización. Creo que para ser estrictamente fuera de tema, y traté de moderar mi respuesta en consecuencia! ;)

    
respondido por el Tom Morgan 06.01.2011 - 10:11
6

Esto debe considerarse cuando el proyecto comienza, pero no hay una respuesta fija, variará de una compañía a otra y de un proyecto a otro.

Si hay un equipo interno, se les puede entregar para que lo apoyen y realicen de manera continua. Obviamente, los problemas con esto son los problemas con cualquier entrega a personas que no estuvieron involucradas desde el principio.

Si va por este camino, le recomiendo que participen miembros del equipo interno desde el principio del proyecto, que realicen revisiones de las especificaciones y el código, etc., para que cuando llegue la entrega comprendan lo que están buscando. a. UAT es un buen momento para llevarlos a bordo de forma práctica, ya que podrían involucrarse en algunas de las correcciones de errores como una forma fácil de acceder mientras el soporte aún está disponible.

Debe asegurarse de que el traspaso esté incluido en el contrato y de que cuente con los recursos correctos de ambas partes, y de que los pagos finales a la empresa subcontratada dependan de que se completen a su entera satisfacción.

Alternativamente, la compañía que completó el proyecto probablemente estará encantada de apoyarlo de forma continua (a cambio de una tarifa). El problema aquí, aparte del costo, es que generalmente no obtendrá continuidad del personal, ciertamente no a largo plazo, y el traspaso está fuera de su control, por lo que ni siquiera puede asegurarse de que esté bien administrado.

He visto que esto sucede (desde ambos lados de la valla) y con lo que a menudo terminas es un traspaso deficiente de los desarrolladores originales a los de soporte, que luego se refleja no solo en un código y calidad de producto más bajos, sino en también en el costo de las mejoras de vuelta a usted (ya que las estimaciones del nuevo desarrollador son más altas porque él realmente no entiende el sistema y, en efecto, usted está pagando para que aprenda, a pesar del hecho de que pagó para que esa compañía escriba it).

Personalmente, siempre tomaría la ruta de soporte interno (he visto a terceros perder el código fuente y creo que estas cosas son demasiado importantes para confiar en ellos), aunque entiendo que es una decisión estratégica y si no existe un equipo Es potencialmente una venta difícil.

    
respondido por el Jon Hopkins 06.01.2011 - 10:17
1

Por lo general, el contrato incluye cierta cantidad de mantenimiento (con un precio específico o como parte del proyecto), y las actualizaciones consiguientes tienen un costo.

    
respondido por el Eugene Mayevski 'Allied Bits 06.01.2011 - 10:07
1

En general, se puede hacer un nuevo acuerdo en estos dos formularios para el mantenimiento:

  • Un plan de mantenimiento para cierta cantidad al mes (si el trabajo es algo esporádico).
  • Una tarifa por hora para trabajos de mantenimiento.

Para nuevas funciones / optimizaciones / extensiones:

  • Negociar varios juntos como un nuevo proyecto (iteración).
  • Negociar una tarifa por hora (y dar una estimación si es posible, dejando en claro que es una estimación).

Personalmente y como desarrollador, me gusta manejar todo como un proyecto, y los errores, los soluciono de forma gratuita. Pequeñas optimizaciones / modificaciones, si me demoran menos de media hora, también las doy de forma gratuita (para que mi cliente esté contento), si no, cobro por hora.

La situación ideal sería si su cliente tiene un departamento de TI, entonces puede proporcionarles la documentación técnica necesaria para que puedan hacerse cargo del mantenimiento mientras continúa agregando nuevas funciones.

    
respondido por el dukeofgaming 06.01.2011 - 10:19

Lea otras preguntas en las etiquetas