¿Cómo puedo obtener la información que necesito de un colega que no quiere compartirla? [duplicar]

Recientemente comencé a trabajar en el departamento de TI de una empresa "lenta". Casi no tenemos documentación para nuestro código y sistemas, ni como wiki ni como código/comentarios autodescriptivos. Tengo que hacer el control de calidad de una aplicación de software en la que solo trabaja un desarrollador ("James").

A través de los chismes, me enteré de que a James le preocupa la seguridad laboral. En mis interacciones con él, parece que trata de ayudar lo menos posible, casi como para detener el progreso de otras personas. Para empeorar las cosas, no trabajamos en la misma oficina. Entonces, ni siquiera puedo ver si está realmente ocupado o simplemente tratando de evitarme tanto como sea posible. Además, pedí ayuda a otros desarrolladores que habían trabajado brevemente en pequeñas partes o errores de "su" aplicación en el pasado, y la transferencia de conocimientos fue excelente e informativa. Desafortunadamente, esos desarrolladores no conocen toda la aplicación y tienen que dirigirme a James para que me ayude con los problemas "más grandes".

¿Cómo obtengo información de esta persona para poder hacer mi trabajo? Estoy pensando en presentárselo a mi gerente después de observar a James un poco más, pero no estoy seguro de cómo hacerlo.

ACTUALIZAR -

¿Cómo es exactamente que te está paralizando? Dando la menor información posible y evitándome tanto como sea posible. No me dice que está ocupado.

¿Necesita información continua de él o está tratando de adivinar qué está haciendo su aplicación para configurar las pruebas? Necesito información continua de él sobre la aplicación y las pruebas.

¿A qué te refieres exactamente con "observar"? Quiero darle unos días más para ver si cambia su enfoque de la transferencia de conocimientos. Pero, si no aprendo lo suficientemente rápido, me arriesgo a poner en peligro mi trabajo.

Bienvenido al sitio. Un par de aclaraciones: ¿cómo es exactamente que te está entreteniendo? ¿No respondes preguntas? ¿Evitandote? ¿Necesita información continua de él o está tratando de adivinar qué está haciendo su aplicación para configurar las pruebas? ¿A qué te refieres exactamente con "observar"? Puede editar información relevante en su pregunta.
Edité el título, pero no estoy tan contento con el nuevo. Edite de nuevo si puede reformularlo mejor.
Está haciendo control de calidad, eso es probar, no codificar. ¿Tiene alguna documentación sobre cómo se pretende que funcione la aplicación? Supongo que una vez que sepa cómo debe funcionar la aplicación, puede diseñar pruebas por su cuenta para verificar si la aplicación funciona según lo previsto.
¿Hay alguien a cargo en su empresa? ¿Cómo no son conscientes de los problemas causados ​​por la falta de cooperación?
@Lilienthal - Gracias por sus preguntas. Agregué los detalles.
@JeffO: son conscientes de la falta de documentación. No estoy seguro si son plenamente conscientes de la falta de cooperación. Quiero hacerlos conscientes, pero de una manera suave.
@VietnhiPhuvan: apenas hay documentación. En su mayoría tipos de un trazador de líneas. Nada sobre procesos de negocio y tal.

Respuestas (3)

Si esta persona se está comportando de la manera que está describiendo, entonces este es un problema que debe ser abordado por la gerencia. Sin embargo, es clave que usted, como no gerente, aborde esto estrictamente desde el ángulo de un impedimento para hacer su trabajo.

No vaya a la gerencia con ninguna declaración sobre que 'James' pone los intereses de seguridad laboral por encima de los intereses de la empresa. En su lugar, el lugar para comenzar es hablar con cualquier "gerente de proyecto" que esté a cargo del proyecto en el que está trabajando. Diles que estás bloqueado<INSERT QA TASK>porque no tienes la información que necesitas. Pregunte si hay una base de conocimientos sobre este sistema. Asegúrese de que sepan que usted no tiene la información que necesita, pero no trate de culpar a 'James' como la causa. Es muy probable que en algún momento te digan que "trates de comunicarte con James, él trabaja en ese sistema". En ese momento, continuará comunicándose con él como lo ha estado haciendo, pero le enviará una CC a este gerente en todas sus solicitudes de ayuda de James. Para muchas personas, el simple hecho de tener ese CC en el correo electrónico cambiará repentinamente tanto el tiempo de respuesta como el tono de sus correspondencias contigo. Pero si no es así, siga asegurándose de que el gerente tenga visibilidad de lo que está sucediendo.

Si su proyecto hace standups diarios, su informe standup debe incluir algo como "Todavía tengo problemas para encontrar la información que necesito sobre <BLANK>. No pude encontrar nada en la base de conocimiento. Intenté comunicarme con <OTHER PEOPLE YOU'VE TALKED TO>James. Todavía estoy esperando un seguimiento". . De lo contrario, intente hacer informes de estado frecuentes al gerente que digan "No puedo obtener respuestas a estas preguntas. Toma mucho tiempo cuando tengo que molestar a los desarrolladores con frecuencia. Creo que una base de conocimientos para este sistema sería muy útil". valioso. ¿Alguna sugerencia?" . Trate de asegurarse siempre de no parecer que 'culpa a James'.

Eventualmente, si 'James' es realmente el problema, será obvio para ellos y tomarán las medidas necesarias. O, si la administración no actúa después de una mayor visibilidad de este problema, tal vez 'James' sea solo un síntoma de un problema de administración mucho más profundo, y esta empresa puede no ser el entorno adecuado para usted.

+1, particularmente por la idea de la base de conocimientos, pero si tiene una relación razonablemente buena con su jefe, el grado de precaución aquí es un poco excesivo. No desea especular sobre por qué James no está ayudando, pero señalar que "James es muy lento para responder y proporciona respuestas incompletas" no estaría fuera de lugar.
Gracias por la respuesta detallada. Mi única preocupación es que la otra persona no se vuelva más hostil y trate de descarrilar mis esfuerzos por mejorar las cosas. Es un entendimiento común que el "factor autobús" del equipo debe mejorarse.

Cosas para probar:

1) Haz que se reúna contigo en tu oficina, o donde sea que esté tu jefe. Programe una reunión formal y, solo por diversión, pídale a otra persona de su oficina que lo acompañe para ayudarlo a tomar notas.

2) Grabe su interacción. Utilice Skype o alguna instalación por teléfono. Asegúrese de que sepa que su interacción se está registrando como un memorándum. Si está arrastrando los pies, tienes pruebas.

Creo que ambas son buenas ideas. El n.° 2 es un poco extremo, pero escuché que lo sugirieron en mi oficina. # 2 nunca sucedió en mi oficina. Estoy de acuerdo en que los gerentes de OP deben involucrarse, de lo contrario, son poco más que "gerentes ausentes" ... dormidos al timón.
El n.° 2 puede llevarte a un problema legal si no le informas a James que lo están grabando, y resultaría bastante hostil si lo haces. Los correos electrónicos tuyos solicitando cosas y James no respondiendo deberían ser muchas "pruebas".
@jpatokal La cadena de correos electrónicos es un verdadero fastidio, especialmente porque James puede evitarla por completo al no responder nunca y simplemente llamar.

Me pregunto cómo planea hacer un control de calidad si no tiene especificaciones escritas sobre cómo se supone que debe funcionar la aplicación; me parece que le han dado "Misión: Imposible".

  1. Dígale a su gerencia que no ha encontrado ninguna documentación escrita sobre cómo se supone que funciona esta aplicación. Pregunta a tu dirección dónde te encuentras para encontrar esta documentación.

  2. James está preocupado por su trabajo y, en mi opinión, con razón. Porque lo habría despedido hace mucho tiempo por no documentar su trabajo y, por lo tanto, hacer que su código no se pueda mantener. Junto con el punk que encargó esta aplicación y supervisó la construcción de esta aplicación. No sé qué procesos de gestión ven en esta aplicación, pero veo abandono del deber y abdicación de responsabilidad. Pero dejemos la diatriba por un momento.

  3. Explique a la gerencia que la ausencia de documentación hace que sea imperativo que James coopere con usted de manera plena y entusiasta; no me importa si tiene que fingir su entusiasmo. Explícale a la gerencia que no podrás hacer nada sin que James cumpla tus órdenes. Haga que la gerencia ordene explícitamente a James que coopere con usted en todos los aspectos y dígale explícitamente a James que será responsable de cooperar con usted.

  4. Elabore un protocolo de prueba diseñado para averiguar cómo funciona actualmente esta aplicación. Debe averiguar qué está haciendo esta aplicación en respuesta a las entradas y, en este punto, esta es información que no tiene.

  5. Revise cómo funciona esta aplicación e informe a la gerencia sobre cualquier comportamiento de la aplicación que no le guste. La administración debe decirle "sí, ese es el resultado que esperamos de la aplicación" o "Este resultado no tiene sentido. Marque su prueba. Probablemente necesitemos corregir esto". En este punto, tiene una base de referencia sobre cómo funciona actualmente esta aplicación en comparación con cómo se supone que debe funcionar.

  6. Haga que James resuelva e implemente las correcciones de código. QA la aplicación de nuevo.

  7. Dígale a su gerencia que ha realizado el control de calidad de la aplicación en la medida de lo posible y pídales que aprueben su trabajo.

Si James no coopera de alguna manera, repórtelo a la gerencia y haga que la gerencia tome medidas enérgicas contra él. Cuando no obtengo la cooperación que necesito, la extorsiono.