La compañía para la que estoy trabajando actualmente me tiene desarrollando un montón de software interno de misión crítica. Tengo otra persona que trabaja para mí, pero él es más un tipo de prueba y no realmente un desarrollador. La compañía está preocupada por algunos de estos proyectos y qué sucede si un autobús me atropella. ¿Cómo se recupera la empresa después de algo así cuando solo hay una persona que conoce el código base? Una persona que conoce el estado actual del proyecto.
Le expliqué que con mi documentación y con la documentación en el código que realmente solo necesitarían contratar a otro programador que entienda los lenguajes que se usaron y que podrían acelerar rápidamente.
Sugirieron una empresa externa que podría "mantenerse actualizada" mensualmente y que podría "hacerse cargo" en caso de que algo sucediera. Simplemente no veo cómo esto podría ser útil más allá de pagarle a alguien por pagarle. Peor aún, imagino que se desperdicia un día al mes discutiendo el proyecto con esta consultora. Veo cómo esto podría ser útil. Simplemente no lo veo como más útil que contratar a un programador después de mi fallecimiento prematuro.
Pensamientos? ¿Situación similar y cómo se maneja actualmente donde trabaja?
Respuestas:
Desafortunadamente, lo que están haciendo es "poner todos sus huevos en una canasta".
Es muy probable que trabajar con una empresa externa les proporcione ingresos, pero dudo mucho que valga la pena. La documentación siempre se ve bien y clara cuando la escribe. El problema es que solo sabes cuánto vale cuando alguien más intenta leerlo, alguien que apenas sabe algo (técnico) sobre el proyecto (dentro del proyecto).
De todos modos, es posible leer una base de código completa de la que no sabes nada, solo puede llevar mucho tiempo (mucho más de lo que la mayoría de las empresas pueden pagar).
Su mejor apuesta honesta es contratar a alguien para que trabaje con usted (estrictamente no bajo ninguna de sus indicaciones) durante un cierto período de tiempo, y probar cuánto tiempo le lleva llegar a un punto en el que pueda comprender y cambiar partes importantes de el proyecto.
Si lleva más tiempo del que podrían permitirse si se fuera, deberían considerar seriamente contratar a uno o más programadores permanentes (a tiempo completo o parcial), y nunca dejarlos tomar el mismo autobús. :)
De cualquier manera, los buenos programadores que se van de repente siempre empeoran las cosas.
fuente
¡Espero que no te atropelle un autobús! Tienes razón, no veo el valor de hacer esto. Primero, la otra compañía cobrará una cantidad más cercana a un desarrollador de tiempo completo y criticará las cosas y lo retrasará. Es posible que le pidan demasiada entrega y explicación. Además, no existe una garantía real de que puedan recogerlos, ya que no habrá posibilidad de que los pruebe antes de que se les solicite que se hagan cargo.
Sugiero que la empresa invierta en otro desarrollador en su lugar. Este desarrollador no tiene que estar en su nivel de experiencia, pero el tiempo que pase con él / ella sería una inversión para el proyecto. Obtendrá varias oportunidades para poner a prueba su comprensión, ya que trabajará con usted.
Asegúrate de no viajar en el mismo auto cuando vayas a almorzar :)
fuente
Una solución que realmente tendría valor es contratarle un mentor. Este es un servicio que proporciono para empresas de software que son locales para mí. Visito medio día a la semana o un día a la semana. Cada visita proporciona un valor inmediato, como asegurarse de que los desarrolladores estén utilizando las mejores prácticas, enseñándoles cosas nuevas que necesitan aprender, dándoles la oportunidad de exponerse a cosas nuevas, ya que generalmente están ocupados codificando y no van a lanzamientos y como resolver sus errores y obstáculos inmediatos, explicar cosas que no saben cómo hacer, etc. A veces, manejo tareas de codificación, especialmente para casos excepcionales en los que el personal necesitaría aprender mucho para realizar la tarea y nunca más tendría que volver a hacerlo. También puedo proyectar administrar cosas como redactar un Plan de recuperación ante desastres: necesita respuestas de los desarrolladores y la administración,
Es probable que dicho acuerdo sea más barato de lo que sugiere su jefe y tenga valor para usted. Tiene un efecto secundario de que el mentor aprenderá su sistema y probablemente podría entrenar a su reemplazo si fuera golpeado por una lotería .
fuente
ISO 9001 en este negocio se trata de ser golpeado por un escenario de autobús . ¿Recibir servicios de esa compañía le permitirá a su compañía calificar para esa certificación? Esta puede ser una pregunta interesante para hacerles.
O para hacerlos dar vueltas en círculos en busca de respuesta. (eso probablemente sonará muy similar a "no")
fuente
Estoy de acuerdo con el OP. Contratar a otro desarrollador es mejor. Si la base de conocimiento está en otra compañía sobre la cual no tienen control, entonces la situación es igual de riesgosa.
Para mí, parece que quieren reemplazarlo con mano de obra off-shore donde las personas pueden sobrevivir con $ 10 por mes.
fuente
Necesitan un desarrollador adicional. Es realmente así de simple. Ambos deberían trabajar en toda la base de código. O al menos estar lo suficientemente familiarizados con el trabajo del otro para intervenir para solucionar problemas en una emergencia. Si los presupuestos son ajustados, en teoría podrías incluso contratar un temporizador parcial, eso probablemente sería suficiente. Alguien que podría dedicar algunas horas cada semana a aprender el código realizando tareas de mantenimiento y arreglos. Eso los familiarizaría lo suficiente.
¿Contratando una empresa externa? Estoy con ustedes allí; también podrían tirar ese dinero por el inodoro. El hecho de que estén pensando en contratar a una empresa externa para conocer su sistema me dice que no están realmente preocupados por el escenario del autobús (porque, como se señaló, la solución es obvia) y solo necesitan una razón para lanzar la frase de moda 'golpeado por un bus alrededor mientras juegan golf con sus compañeros gerentes, o ... que están buscando externalizar su trabajo. Después de todo, si una compañía externa puede aprender todo su código base por un precio más bajo que un empleado, en algún momento los de pelo puntiagudo preguntarán ¿por qué lo necesitan?
fuente
Es más común de lo que piensas que las empresas tengan un plan para si un autobús golpea a algún empleado crítico.
Por lo general, aunque combina el talento clave con alguien interno (a quien no se le permite viajar en los mismos vuelos ... o autobuses) para evitar que las ventajas competitivas y las ideas se filtren fuera de la competencia.
fuente
Primero, la persona que prueba su código no debe trabajar 'debajo' de usted; Es un conflicto de intereses.
En su ausencia, deben evaluar el riesgo de quedarse atrás en las áreas de: depuración y adición de nuevas funciones. Pueden poner a alguien a la velocidad para ser un depurador rápidamente, a menos que haya escrito un código incorrecto. Por lo general, agregar nuevas funciones puede esperar hasta que tenga un nuevo programador listo. No siempre es el caso cuando hay promesas a los clientes existentes o en un mercado en el que está tratando de mantenerse al día con la competencia.
Trabajé en una empresa donde era el único desarrollador. No me reemplazaron con otro programador, sino que cambiaron drásticamente las instrucciones y se conformaron con una aplicación de terceros. Se han tomado decisiones comerciales más extrañas. Esto les impide separarse drásticamente de la competencia y tener una tremenda influencia para hacer crecer su negocio. Tal vez ese ya no era su objetivo?
fuente
De hecho, hay un término llamado número de bus de proyectos. Si el número de autobús es uno, tiene un gran problema. FEMA en los Estados Unidos está pidiendo a las compañías que estén mejor preparadas para los desastres.
No es solo la pérdida de un desarrollador clave. Es el impacto de un desastre natural o la falta de copias de seguridad fuera del sitio. Hay muchas preguntas en este sitio que preguntan si necesitan usar el control de fuente como desarrollador en solitario. La capacidad de un nuevo desarrollador de obtener la versión más reciente del software y ver qué partes son nuevas les ayudará.
Hay más información sobre PS-Prep en http://www.fema.gov/privatesector/preparedness y http://readyrating.org/ .
fuente
Conozco tu dolor La compañía para la que trabajo tiene más de 20 desarrolladores, y todos tienen su conocimiento.
Los bits superpuestos son realmente ... bits, así que si alguien desaparece (vacaciones, enfermedad, etc.) y algo le sucede a las herramientas que están administrando, estás jodido.
El problema es que conocen la situación y no les importa mucho, tal vez todavía no se han golpeado la cara.
fuente
Me gusta la cita que dice algo así como "Los cementerios están llenos de personas que antes se consideraban indispensables". Dicho esto, su empresa tiene el deber de minimizar los riesgos, actualmente se lo percibe como uno. He estado allí en ocasiones, es mejor no solo no resistir, sino hacer un esfuerzo adicional. No entrene a una compañía externa, recomiende la mejor compañía de la ciudad, es decir, en la que tenga más confianza. También considere que si está haciendo un trabajo mejor que cualquier otra persona, por definición, es insustituible.
fuente