El liderazgo no ve valor en el proceso estándar para la configuración de la máquina y la nueva orientación del desarrollador


9

Hace aproximadamente 3 meses, nuestro desarrollador y diseñador web líder (la misma persona) dejó la empresa, los pastos más verdes fueron la razón de la partida. Bien por ellos, digo. Mi problema es que su departamento estaba completamente indocumentado. Las cosas han sido difíciles desde que el líder se fue, hay mucho conocimiento, tanto el conocimiento teórico que usamos para citar nuevos proyectos como el conocimiento técnico / de implementación de nuestros productos existentes que hemos perdido como resultado de su partida. Mi rol normal es como gerente de producto (para nuestros propios productos) y como analista de negocios para algunos de nuestros trabajos de consultoría basados ​​en proyectos. Me he enseñado a mí mismo a codificar durante el año pasado y en un esfuerzo por seguir avanzando, yo ' He asumido la tarea de configurar mi computadora portátil como una máquina de desarrollo con la esperanza de implementar algunas de las solicitudes de funciones más fáciles y corregir algunos de los errores obvios que se envían a nuestro sistema de tickets. Pero nadie sabe cómo tomar una nueva máquina Windows y configurarla para que funcione sin problemas con nuestras aplicaciones de producción.

He solicitado a mi jefe, que todavía está en contacto con el desarrollador que se fue, pedirles que documenten y creen un proceso para incorporar un nuevo desarrollador, instalación de software, paquetes necesarios, proceso para implementar en los servidores de aplicaciones de producción, etc. esto existe, y estoy girando las ruedas tratando de hacer que mi computadora funcione como una máquina de desarrollo funcional. Pero ella no parece entender la necesidad de que tal proceso exista. Aparentemente, el nuevo desarrollador que reemplazó al que se fue ha estado usando una máquina preconfigurada para nuestro entorno, por lo que incluso el nuevo desarrollador no podría configurar una nueva máquina si agregamos otro desarrollador.

Mi pregunta es de dos partes:

  1. ¿Me equivoco al suponer que debería existir un proceso para incorporar y configurar una nueva computadora para que sea parte de nuestro ecosistema de desarrollo?

  2. ¿Estoy siendo un bebé relincho y debo resolver el proceso y crear un documento por mi cuenta?


1
Gran parte de esto depende de la tecnología utilizada y otros detalles. En algunas pilas de tecnología, puede encontrar las dependencias más importantes que deben instalarse en algunos archivos de configuración, en otros casos esto debe documentarse. Creo que el desarrollador que ahora trabaja con el sistema debería saber mejor qué información es absolutamente crucial.
thorsten müller

2
Y esto debería ser una lección en la vida. Configurar las cosas es la mitad del trabajo, asegurándose de que todo no se derrumbe cuando te vayas es la otra mitad.
MrFox

Está empezando a frustrarme, estoy tratando de ser proactivo, pero hay algunos problemas de configuración que me faltan (publicaré cosas de error específicas en caso de desbordamiento) La pila es la siguiente: servidor MS SQL, Visual Studio 2008, Visual Source Safe, IIS 7, código de la aplicación ASP.NET.
OpenCoderX

1
Visual Source Safe ¿eh? Si ese es el caso, sospecho que lo que sea que hizo el tipo anterior no fue terriblemente brillante. Por otra parte, al menos hay control de fuente.
Wyatt Barnett

1
Soy un GIT morir duro. Una vez que obtenga una versión del sitio que se ejecute localmente, usaré GIT para rastrear mis cambios y luego solo ingresaré mi rama maestra GIT a VSS. Control de fuente dentro del control de fuente.
OpenCoderX

Respuestas:


5

En primer lugar, es extraño que un desarrollador tenga que configurar el entorno de trabajo. Esta tarea generalmente es para los administradores del sistema. Por lo tanto, teniendo en cuenta que esto no es algo que deba hacer, tiene derecho a esperar que alguien más lo haga por usted.

En la mayoría de las empresas (si no todas) hay un período de aviso. Por lo general, varía de una semana a un mes. Pero de todos modos, ese tiempo es suficiente para que la persona que se va a ayudar a la empresa _ haga documentación, agregue comentarios al código, documente la arquitectura, etc. Me temo que es demasiado tarde para hacerlo ahora, pero no lo olvide. la próxima vez que alguien se vaya.

Tiene toda la razón al esperar que debería haber un proceso para configurar un nuevo entorno. De hecho, si su empresa crece y usted tiene más desarrolladores, enfrentará el mismo problema _ esto podría ser un argumento pesado para convencer a su jefe. Incluso podría usar el argumento para convencer a la gerencia de que contrate a un administrador del sistema para tales tareas (supongo que no tiene uno ya que enfrenta el problema). Además de configurar el entorno de desarrollo, si tiene una nueva máquina, debe integrarse en la red local, etc.


Tenemos un administrador del sistema y su posición es que configuran la máquina con acceso básico a la red, derechos de usuario (Active Directory) e instalan cualquier software. Por ejemplo, tuve que trabajar con el administrador de la red para instalar Visual Source Safe y Visual Studio, pero después de la instalación, ahí es donde termina su conocimiento. Nunca ha estado a su alcance hacer esas configuraciones.
OpenCoderX

1
Tal vez estoy demasiado mimado _ nuestro administrador del sistema incluso puede ejecutar consultas sql cuando publica el proyecto (sin saber sql))). En este caso, definitivamente necesita tener la documentación))
superM

En muchas empresas, especialmente paranoicas o administradas de manera incompetente, el "período de aviso" es el tiempo que se tarda en salir de la oficina de recursos humanos o del gerente para presentar una renuncia a ser escoltado sumariamente por la puerta.
jfrankcarr

Creo que la ventaja que dejó nos avisó con varias semanas de anticipación, pero no sé qué hizo para prepararnos para su partida. Creo que principalmente entrenaron al reemplazo, que ha estado bien, pero que la persona que se fue instaló la máquina que usan. Debería haber metido la nariz un poco más en la situación, pero hasta su programación de partida para mí fue solo un pasatiempo. Me llevaron de regreso cuando descubrí que nuestro nuevo desarrollador sabe tanto como yo sobre la configuración de un nuevo sistema.
OpenCoderX

Esto será diferente para diferentes compañías, pero en todos los lugares donde he trabajado, el proceso de configuración de la máquina ha tenido que documentarse como un requisito de custodia.
JohnL

5

¿Me equivoco al suponer que debería existir un proceso para incorporar y configurar una nueva computadora para que sea parte de nuestro ecosistema de desarrollo?

No. Tener estos procesos evitará los problemas que ya ha enfrentado. En algunas organizaciones más grandes, hay una imagen de disco estándar de cómo debería ser la máquina de un desarrollador. Cuando se contrata a un nuevo desarrollador, una computadora disponible con las especificaciones de hardware adecuadas se borra y se vuelve a crear una imagen usando esta imagen de disco de "desarrollador". Las personas tecnológicas que hacen esto siguen una lista de verificación estándar (a veces incluye la instalación de software de postimagen para ciertas herramientas no incluidas en la imagen) para asegurarse de que todas las máquinas de desarrollador comiencen de la misma manera (los usuarios pueden ajustarlas y modificarlas después de obtenerlas). ellos, ¡bajo su propio riesgo!).

Del mismo modo, algunas aplicaciones con una configuración notoriamente compleja tienen documentos que explican a los nuevos desarrolladores cómo verificar el código, configurar el servidor y construir e implementar localmente la aplicación. Una aplicación incluso tiene un script de configuración solo para estaciones de trabajo para facilitar este proceso.

¿Estoy siendo un bebé relincho y debo resolver el proceso y crear un documento por mi cuenta?

Lo eres, pero solo un poco. Una cosa es decir que todo esto debería haberse documentado hace mucho tiempo, y el desarrollador que se fue debería haber realizado una transferencia completa de conocimiento a sus días de reemplazo (o semanas, si es posible) antes de partir. Parece que nada de eso sucedió, y todo está en el pasado ahora de todos modos.

¿Y ahora qué? Dudo que el desarrollador que se fue sea de mucha ayuda. Ya tienen un nuevo trabajo diario y quién sabe con qué están ocupados en su propia vida. Dudo que haya algún fundamento legal que su gerente pueda usar para obligarlo a ayudar. Sería bueno si se tomaran unas horas de su tiempo para responder algunas preguntas, pero no cuenten con eso. Parece que estás atrapado descubriendo la mayor parte por ti mismo. Esto le brinda la oportunidad de documentar a fondo el proceso adecuado y hacerlo bien. ¡Los que te siguen te lo agradecerán! ¡Buena suerte!


1

Lo primero es lo primero, debe salir de Visual SourceSafe. Creo que hay que decirlo. Por lo menos pasar a TFS. Y también hay otras opciones.

Ahora que eso está fuera del camino. Creo que este es un caso de "si quieres que las cosas se hagan bien ..." Tu objetivo final debe ser que un desarrollador pueda encender su máquina recién instalada, conectarse a la fuente, obtener la última, presionar f5 (o lo que sea que uses para tu ejecutar acceso directo a la aplicación) y tener una aplicación que funcione.

Una opción es construir un entorno de trabajo desde cero y usarlo como una imagen de desarrollador de referencia. Cuando se incorpora un desarrollador, todo lo que tiene que hacer es implementar esa imagen en su máquina y debería funcionar.

Hay algunos libros sobre cómo mover su entorno hacia un estado más libre. Me gusta la entrega continua y la integración continua de la serie Fowler, pero hay otras opciones disponibles.


1

Cuando comencé mi trabajo actual, teníamos un procedimiento documentado para configurar una PC de desarrollador.

Seguí el procedimiento por mi cuenta, evitando decididamente la "ayuda" del equipo existente.

(El conocimiento debe estar incorporado en el documento, no el desarrollador que ha estado más tiempo).

Marqué el procedimiento con cambios en la línea roja donde estaba mal o incompleto, y una semana después tuve dos cosas, un procedimiento que funcionó y una PC de desarrollo que funcionaba.

Después de un fallo del disco duro un año después, la reconstrucción tardó 2 días.

Dígale a su jefe: si el disco duro falla en esa PC, ¡no habrá desarrollo!

Decidí que 2 días era una pérdida de dos días ...

Ahora usamos máquinas virtuales con imágenes de disco para cada proyecto de desarrollo.

El programa de instalación consiste en copiar la imagen de VM en la PC de destino e iniciarla. Hay un ícono llamado "runme" en el que haces clic, pregunta tu nombre de usuario y luego cambia el nombre de usuario utilizado para acceder al código fuente por el tuyo. También cambia el campo de autor del documento en blanco del IDE a su nombre.

(Escribí runme en aproximadamente 2 horas, somos desarrolladores, programamos nuestros problemas)

Nuestras PC de desarrollo son máquinas estándar, excepto un servidor VM.

Estamos usando virtualbox, que no es costoso.

El uso de máquinas virtuales hace que reemplazar una máquina sea una tarea fácil de 20 minutos . Esta tarea sería más rápida si tuviéramos un gigabit ethernet para copiar la VM.

Discoteca completa: soy el líder del equipo donde trabajo y mi gerencia me da rienda suelta.


A menudo me he preguntado acerca de hacer máquinas virtuales en lugar de configurar todo en la PC. Tenga una máquina virtual agradable y prístina para el desarrollo y no se preocupe de que los técnicos de TI hayan forzado una actualización para arruinar su sistema de desarrollo.
Joel Rondeau

Una vez que estaba depurando un programa C ++ que interactuaba con muchas DLL del sistema cuando se ejecutó una actualización de antivirus. Cambió algunas de las DLL. Supongo que no iba a reproducir esa prueba nunca más.
Tim Williscroft

0

Debería haber alguna documentación que diga qué software se requiere para compilar y ejecutar la aplicación.

También debe haber documentación que describa lo que requiere un cuadro de cliente para ejecutar la aplicación.

No son la misma lista.

Si su empresa contratara un nuevo desarrollador, ¿cuánto tiempo se esperaría que comenzaran a codificar? ¿Un día? ¿Una semana? Sin saber qué software se requiere para compilar el código, este puede ser un proceso de prueba y error que podría llevar un tiempo. Pero, solo debería ser algo que deba hacerse una vez.

Mi pregunta es, ¿qué está haciendo el nuevo desarrollador? Este debería ser su trabajo, no el tuyo. Él es el reemplazo del otro tipo. Sí, apesta que haya entrado en un entorno sin documentación, pero debería ser su tarea documentar las cosas. Haga que se siente y descubra cuál es el entorno de desarrollo y que lo documente. Haga que descubra y documente lo que se requiere para ejecutar la aplicación en un cuadro de cliente.

En cuanto a contactar al desarrollador anterior, no lo haría. En mi humilde opinión, si un desarrollador deja una empresa sin documentación o transferencia de conocimiento, esperan ser llamados para hacer algún trabajo a un ritmo de consultoría. No es profesional y no debe ser recompensado. Sí, puede tomar un tiempo extra para resolverlo, pero usted / el equipo aprenderán algo en el proceso y la documentación producida estará actualizada y actualizada.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.