¿Cuál es una manera discreta de abordar la falta de cooperación del cliente con un proyecto?

Actualmente estoy trabajando en un proyecto de software. Si bien mi empresa tiene muchos clientes, este proyecto se enfoca en las necesidades de un cliente específico, por lo que hemos estado trabajando directamente con ellos. El software que necesitan que escribamos requiere otro software para el que no tenemos licencias aquí, pero ellos las tienen, por lo que cualquier trabajo realizado para probar y depurar debe hacerlo yo en su computadora a través de un cliente de acceso remoto. El problema surge con esto. Puedo escribir el código del programa aquí, pero como no tenemos las licencias necesarias para el software de terceros, no puedo hacer nada.pruebas reales aquí, así que después de que esté listo para probar toda mi capacidad para trabajar en él, es necesario acceder a su máquina a través de acceso remoto. Les enviaré un correo electrónico solicitándoles que me ayuden a configurar esto, ya que requiere el aporte de ambas partes para hacerlo, generalmente una hora antes de que lo necesite para darles tiempo. Muchas veces, sin embargo, ignoran por completo mis correos electrónicos o responden con algo como "Estoy listo, podemos configurarlo ahora", pero cuando voy a hacerlo, toman mucho tiempo (a menudo > 30 minutos) para hacerlo después de enviar ese mensaje.

Entonces, mi pregunta es, ¿cómo puedo abordar esto como un problema con tacto? Después de todo, son un cliente, así que no quiero molestarlos, pero su mala educación y su aparente falta de respeto por mi tiempo no solo son molestos, sino que interfieren directamente con mi capacidad para hacer mi trabajo. A veces envío correos electrónicos de seguimiento para asegurarme de que los estén recibiendo o estén listos, pero no quiero hacer esto demasiado por temor a ser molesto. ¿Que puedo hacer? ¡Gracias por cualquier ayuda!

EDITAR: solo para aclarar porque creo que mi redacción puede haber sido un poco confusa, el cliente solo necesita configurar esto una vez al día, no cada vez que necesito probar algo. Esta es una máquina en su sitio que generalmente no se usa durante el día, por lo que esencialmente solo hacen clic en el botón "Aceptar" una vez al comienzo del día, lo que me permite acceder a ella, luego me mantengo conectado todo el día.

¿Por qué no simplemente comprar las licencias para realizar pruebas, en lugar de esperar que su cliente salte a través de los aros cuando usted lo diga, lo cual no es muy profesional?
Advertencia : dado que las licencias son un problema aquí, tenga en cuenta que es posible que no se permita usar el software de esta manera. es decir , usted (tanto usted como el cliente) podrían estar violando los términos de la licencia al hacerlo.
Por curiosidad: ¿Qué tan cara es esta licencia? ¿Te pagan una tarifa plana o por hora?
@Neuromancer algunas licencias pueden ser MUY caras y/o generalmente no están disponibles. Algunos clientes pueden decir "No estoy pagando por una licencia adicional, use la nuestra para probar". Este es un tema que espero que se negocie con anticipación. Supongo que el OP ha acordado con el cliente que trabajarán de esta manera.
¿Por qué no configuran el acceso remoto y dejan la computadora encendida? La energía eléctrica es increíblemente barata, en comparación con el tiempo del desarrollador.
Me parece que una persona inteligente tiene una tarea "estúpida" que debe hacer por ti: "pulsar un botón de Aceptar". Trate de averiguar si tienen un empleado de "nivel inferior" que pueda hacerlo, tal vez como una secretaria subalterna...

Respuestas (7)

Siento tu dolor, pero solo para ofrecer un punto de vista alternativo, he tenido muchas situaciones en las que las personas me han enviado correos electrónicos pidiéndome que realice una tarea como esa y es increíblemente frustrante cuando vuelven a enviar correos electrónicos 20 minutos después con "por favor hazlo". , nos está retrasando".

Como desarrollador, me gusta llegar al final de una sección de código antes de revisar mis correos electrónicos o actuar sobre ellos y también estoy en reuniones con relativa frecuencia, por lo que enviarme un correo electrónico y esperar que lo haga en 15 minutos es bastante irritante.

Ahora vamos a mi respuesta. Sugeriría tener un horario con ellos en el que hagan lo que sea necesario de ellos todos los días a una hora específica. ¿Eso funcionaría para ti? Puede obtener una compilación nueva del código diariamente y pueden programarlo para que tampoco les moleste. ¿Alguna de las tareas puede ser automatizada (por ellos o por usted)?

Gracias por su respuesta, definitivamente puedo apreciar que muchos de los correos electrónicos de seguimiento podrían ser una molestia para ellos, trato de no hacerlo mucho al principio, casi la única vez que lo hago es cuando me envían un mensaje diciendo que son listo en ese momento y respondo de inmediato, luego no lo hacen a pesar de decir que estaban listos. Creo que el mejor curso de acción probablemente sea establecer un tiempo específico, sinceramente, no estoy seguro de por qué no pensé en eso por mi cuenta jajaja. ¡Gracias de nuevo! :)
Por supuesto, no te estaba criticando por dar seguimiento, ¡solo explicando que, desde su punto de vista, es posible que no lo vean tan lento en absoluto! Encantado de ayudar :)
No te preocupes, no encontré eso crítico en absoluto, agradezco la ayuda :)

Discuta esto con el gerente del proyecto en el lado del cliente. Esto es un impedimento para su capacidad de trabajar y, en última instancia, pagan por sus horas pero no obtienen el valor total. Explique cuánto tiempo le toma esto y cuán problemático es para ellos configurarlo todo el tiempo.

Dígale al gerente el problema que está teniendo y sugiera algunas soluciones alternativas. Según su descripción, un par de sugerencias podrían ser;

  • Compran una licencia para el programa que se requiere. Si es muy costoso, podría ser posible establecer un acuerdo en el que ellos y su empresa compartan el costo (suponiendo que sea algo que pueda encontrar útil)
  • Configure una conexión permanente que no requiera interacción humana para activarse. Hay un montón de programas de conexión remota, por lo que no debería ser difícil encontrar algo que funcione.
  • Si es con fines de prueba, podría ser posible simular o falsificar el programa y, al hacerlo, podría probar todo localmente.
  • Cambiar la responsabilidad de las pruebas a ellos. Tú codificas y haces pruebas locales, ellos hacen las pruebas manuales.
  • Cambie la forma en que programa y prueba el código para depender menos de la prueba manual que requiere el programa.

Lo más probable es que digan que debe continuar trabajando como antes sin cambios, pero al menos ahora ha alertado a la gerencia sobre la pérdida de tiempo que tienen.

Además, es posible que desee hacer esta pregunta con más detalles técnicos en Stackoverflow o programmers.stackexchange . Puede haber más ideas para soluciones allí.

Gracias por su respuesta, creo que, en general, la mejor solución sería hablar con su gerente de proyecto, pero desafortunadamente en esta situación, esa es la persona con la que estoy trabajando directamente que está haciendo todo esto :/ En cuanto a la conexión permanente, por favor vea la edición que hice arriba: creo que puede haber sido engañoso accidentalmente en la redacción, pero la conexión, aunque técnicamente no es permanente, permanece activa todo el día una vez que se establece, solo necesitan otorgar acceso al principio. Sin embargo, puedo hablar con mi gerente sobre la compra de este programa, eso simplificaría las cosas jajaja
Acerca de la compra de una licencia: muchos proveedores de software ofrecen licencias baratas o gratuitas para el desarrollo y las pruebas, exactamente para resolver problemas como el que tiene.

No envíe correos electrónicos. Los correos electrónicos son fáciles de ignorar durante largos períodos de tiempo, e incluso si hay algo de urgencia, muchas personas no tienen su bandeja de entrada abierta en todo momento.

Si hay uno disponible, un sistema de mensajería instantánea es un paso adelante de los correos electrónicos, ya que generalmente será una notificación mucho más notoria y directa del mensaje entrante, y su cliente/colega sabrá que está allí , ahora mismo, esperando una respuesta ahora . Eres más difícil de ignorar, y la única excusa real es si no están en su escritorio.

Aún mejor es una llamada telefónica a la antigua. Una vez que toman el teléfono, no se alejan de usted hasta que finaliza la llamada, y finalizar la llamada sin resolver el problema por el que está llamando (haciendo clic en "Aceptar") es difícil de hacer sin parecer grosero, y la mayoría la gente no quiere ser grosera, especialmente en una relación de trabajo. Una vez más, es posible que no esté cerca del teléfono (aunque es menos probable si tiene un número de celular en lugar de un número de teléfono fijo), pero la persona en el cubo vecino puede levantar el teléfono e ir a buscar a su colega ( o decirle cuándo volverán, dándole un mejor momento para llamar). En el peor de los casos, le dejas un mensaje al tercero que te contesta el teléfono o en un buzón de voz... y en ese punto, no estás muy por detrás de lo que estás haciendo ahora con el correo electrónico.

El correo electrónico es muy impersonal. Una voz en el cable es lo más personal que se puede obtener a larga distancia. Las personas responden a la interacción personal. Creo que la única forma en que podría hacerlo mejor que una llamada telefónica sería una videoconferencia (probablemente no esté disponible, dada su descripción de la situación) o acercarse y tocarlo en el hombro... lo cual es no es posible dada la distancia.

En mi experiencia, muchas culturas modernas de desarrollo de software son muy anti-teléfono; No recomendaría usar ningún método más intrusivo que la mensajería instantánea sin haber sido invitado.
@RussellBorogove, Ciertamente vale la pena considerar la cultura empresarial local. Sin embargo, en general, cuanto más intrusiva sea la forma de comunicación, más rápidamente se logrará una resolución (o al menos se trabajará en ella). Esto es ciertamente cierto en mi trabajo actual (desarrollador de software), donde las situaciones críticas resultan en llamadas telefónicas o visitas en persona, dependiendo de lo que sea posible (parte de nuestro personal está en otro estado).
@Russell, a mí me parece que es un respaldo rotundo para llamar. Cuanto más les moleste llamar, más incentivos tendrán para crear una solución al problema que no implique que los llamen. Tal vez simplemente hagan clic en 'Aceptar' todas las mañanas por reflejo para que no se sientan acosados.
Recuerde, no es "el cliente" el que causa el problema, sino un empleado específico del cliente. Entonces, si hace su trabajo molestando a ese empleado en particular, solo está molestando a un empleado. No estás molestando a "el cliente".

Comunícate con tu jefe, y si está de acuerdo, con el cliente. Desea explicar el problema y preguntar si tienen sugerencias sobre la mejor manera de resolverlo. Algo como

"Cuando necesito probar el software, me comunico con el cliente con aproximadamente una hora de anticipación. Sin embargo, a menudo no hay respuesta, o cuando dicen que están listos, aún toma media hora configurarlo todo. ¿Usted ¿Tienes ideas sobre cómo puedo cambiar mi proceso para que funcione de manera más eficiente?"

Eso establece claramente el problema, pero no asigna la culpa. Dice que está buscando una solución y está dispuesto a cambiar lo que está haciendo. También les da la oportunidad de decir que este es su proceso preferido, por muy frustrante que sea para usted. Si tu jefe y el cliente están dispuestos a tener este tipo de ineficiencias, entonces debes aguantarlo. Pero necesitan ser conscientes del costo.

El problema es un poco más profundo que el hecho de que su cliente no esté listo para comenzar las pruebas cuando usted lo esté. En serio, ¿solo prueba su código en su sitio? No sé con qué frecuencia les envía iteraciones, pero me imagino que es una sobrecarga para ellos configurar y desmantelar el acceso a esta máquina cada vez, y ciertamente no parece profesional.

Si no puede persuadirlos para que le consigan una licencia de desarrollo (que podría ser más barata que el tiempo que dedican a permitirle el acceso) o una máquina sandbox en la que puede entrar y salir libremente, entonces busque burlarse de todo el código de terceros localmente. , para que pueda probar todo excepto la integración con este componente antes de acercarse a ellos con cada compilación.

Para aclarar, la conexión solo debe configurarse una vez, al comienzo del día; no necesitan hacer nada por su parte después de configurar la conexión inicial, esencialmente solo necesito que hagan clic en "Aceptar" botón para permitir mi acceso para el día.
@thnkwthprtls ¿Por qué no activar la conexión todas las mañanas todos los días a la misma hora, es decir, antes de comenzar a trabajar, como algo natural? De esa manera se convierte en un prerrequisito diario para ustedes y para ellos. ¿De esa manera pueden escribirlo en sus procedimientos de TI y darle un proceso de escalamiento si no se hace?

1). Lo mejor sería abandonar el uso de correos electrónicos para esto. Use Skype u otro software de mensajería instantánea, es mucho más en tiempo real y tiende a mantener a las personas involucradas una vez que llama su atención.

2). Hable con su jefe y/o el gerente de producto. Hágales saber acerca de este problema, pero tenga cuidado de señalar con el dedo. Deben ser conscientes de que este proceso es lo que hace que trabajes más lento. Si no plantea este problema, es posible que piensen que no es un empleado productivo o que no es bueno en su trabajo.

3). Haga lo que dijo @Julia Hayward y simule cada llamada a esta biblioteca de terceros. Cuando termine su código, puede probarlo en su máquina.

4). No proporciona muchos detalles sobre todo esto, pero ¿necesita ver e interactuar con una GUI en la máquina remota para realizar las pruebas? De lo contrario, sugeriría pedirles acceso SSH en esa máquina para fines de prueba. También puedes hacerlo a través de una conexión VPN entre tu empresa y el cliente. De esta manera, no tiene que depender de ellos, simplemente puede conectarse y desconectarse de la máquina durante todo el día. Incluso le permitiría transferir archivos entre las 2 computadoras.

5). ¿Es realmente tan caro comprar una licencia para ese programa/biblioteca? Creo que, sea cual sea el costo, su mayor productividad se verá recompensada; esto obviamente depende del costo y el tamaño del proyecto.

6). Si su empresa y el cliente están geográficamente cerca (digamos 30 millas), ¿no sería posible trabajar en el sitio del cliente 1 día por semana? De lunes a jueves, escriba todo su código y simule las llamadas a la biblioteca de terceros y el viernes vaya a la sede del cliente y pruébelo. Obviamente, esto es algo que nunca haría a menos que sea absolutamente necesario, existen otras soluciones técnicas más baratas y convenientes para esto. Pero si nada más funciona, puede que no sea tan malo.

Hemos resuelto esto en el pasado cuando el cliente nos dio una máquina con todas las licencias instaladas, solo para que las probemos. Honestamente, las máquinas no son tan caras, puede ser el modelo del año pasado, en comparación con el tiempo que se pierde aquí.