14

I am currently working on a software project. While my company has many clients, this project focuses on the needs of a specific client, so we have been working directly with them. The software they need us to write requires other software that we do not have licenses for here, but they do, so any work done for testing and debugging needs to be done by me on their computer via a remote-access client. The problem arises with this. I can write the code for the program here, but because we don't have the needed licenses for the third-party software, I cannot do any actual testing here, so after I am ready to test my entire ability to work on it requires accessing their machine via remote-access. I will email them requesting them to help set this up since it requires both parties' input to do so, usually an hour or so before I need it to give them time. Often times, though, they will either completely ignore my emails, or respond with something along the lines of "I'm ready, we can set it up now", but when I go to do it they take a long time (often > 30 minutes) to actually do it after they send that message.

So, my question is, how can I address this as a problem tactfully? They are a client after all so I don't want to upset them, but their rudeness and seeming lack of respect for my time is not only annoying, but directly interferes with my ability to do my job. Sometimes I'll send follow-up emails checking to make sure they are receiving them or are ready, but I don't want to do this too much for fear of being annoying. What can I do? Thanks for any help!

EDIT: Just for clarification because I think my wording may have been a bit confusing, the client only needs to set this up once/day, not every time I need to test something. This is a machine at their site that is generally unused during the day, so they essentially just click an "OK" button once at the beginning of the day allowing me to access it, then I stay connected to it the entire day.

6
  • 6
    Why not just buy the licenses for testing - rather than expecting your client to jump through hoops on your say so - which is not very professional. Mar 10, 2014 at 19:34
  • 4
    Warning: since licenses are an issue here, please keep in mind that using the software this way might not allowed. i.e. you (both you and the client) might be breaking license's terms doing so.
    – o0'.
    Mar 10, 2014 at 20:39
  • 1
    Out of curiosity: how expensive is this license? Are they paying you a flat rate or per-hour?
    – o0'.
    Mar 10, 2014 at 20:44
  • 6
    @Neuromancer some licenses can be VERY expensive, and/or not generally available. Some clients might say "I'm not paying for an extra license, you use ours for testing". This is an issue that I'd expect to be negotiated in advance. I assume that the OP has agreed with the client that they will work this way.
    – Flyto
    Mar 11, 2014 at 10:56
  • 1
    Why don't they just set up the remote access and leave the computer on. Electric power is incredibly cheap, compared to developer's time.
    – Vorac
    Mar 11, 2014 at 16:44

7 Answers 7

24

I feel your pain, but just to offer an alternative point of view, I have had many situations when people have emailed me asking for me to perform a task like that and it's incredibly frustrating when they email again 20 minutes later with "please do it, it's delaying us".

As a developer, I like to come to the end of a section of code before checking my emails or acting upon them and I'm also in meetings relatively often so emailing me and expecting me to jump on it within 15 minutes is pretty irritating.

Now on to my answer. I would suggest having a schedule with them where they do whatever is required of them every day at a specific time. Would that work for you? You can get a fresh build of the code daily and they can schedule it in so that it is not an irritant for them either. Can any of the tasks be automated (by them or you)?

3
  • 1
    Thank you for your response, I definitely can appreciate that a lot of follow-up emails could be a nuisance to them, I try not to do it much initially, just about the only time I do is when they message me back saying they are ready right then and I respond right away, then they don't do it despite saying they were ready. I think the best course of action probably is to set up a specific time, honestly I'm not sure why I didn't think of that on my own lol. Thank you again! :) Mar 10, 2014 at 16:59
  • 1
    Of course, I wasn't criticising you for following up, just explaining that from their point of view they may not see it as slow at all! Glad to help :) Mar 10, 2014 at 17:10
  • 1
    No worries, I didn't find that critical at all, I appreciate the help :) Mar 10, 2014 at 17:11
12

Discuss this with the project manager on the client side. This is an impediment for your ability to work, and ultimately they are paying for your hours but not getting full value. Explain how much time this takes from you and how troublesome it is for them to set up every time.

Tell the manager the issue you are having and suggest some alternative solutions. Based on your description, a couple of suggestions might be;

  • They buy a license to the program that is required. If its very expensive, it might be possible to set up a deal where their and your company share the cost (assuming its something you could find useful)
  • Setup a permanent connection that requires no human interaction to activate. There are alot of remote connection programs, so it shouldnt be difficult to find something that works.
  • If its for testing purposes, it might be possible to mock or fake the program and by doing that you could test everything locally.
  • Change the responsibility of testing to them. You code and do local testing, they do the manual tests.
  • Change the way you program and test the code to rely less on the manual test which require the program.

Most likely they will say that you should continue to work as before with no changes, but at least now you have alerted the management to the time waste they have.

Also, you might want to ask this question with some more technical detail in Stackoverflow or programmers.stackexchange. There might be more ideas for solutions there.

2
  • Thanks for your response, I think generally the best solution would be to speak to their project manager, but unfortunately in this situation that is the person I'm working directly with already who is doing all this :/ As for the permanent connection, please see the edit I made above: I think I may have accidentally been misleading in the wording, but the connection, while not permanent technically, does stay up the entire day once it's established, they just need to grant access at the beginning. I may talk to my manager about just buying this program though, that would simplify things lol Mar 10, 2014 at 17:09
  • About buying a license: Many software vendors offer cheap or free licenses for development and testing, exactly to solve problems like you have.
    – sleske
    Dec 16, 2014 at 11:23
7

Don't send emails. Emails are easy to ignore for longer periods of time, and even if there's some urgency, many people don't have their inbox open at all times.

If there's one available, an instant-messaging system is a step up from emails, as it will generally be a much more noticeable and in-your-face notification of the incoming message, and your customer/colleague will know you're right there, right now, waiting for a response now. You're harder to ignore, and the only real excuse is if they're not at their desk.

Even better still is an old-fashioned phone call. Once they pick up the phone, they're not getting away from you until the call ends, and ending the call without resolving the issue you're calling about (clicking "OK") is difficult to do without appearing rude -- and most people don't want to be rude, especially in a working relationship. Again, they may be away from the phone (less likely if you have a cell number vs. a land line number, though), but the person in the neighboring cube may be able to pick up the phone and go searching for your colleague (or tell you when they'll be back, giving you a better time to call). Worst-case, you leave a message with the third party who answers the phone or in a voice mail box... and at that point, you're not far behind what you're doing now with email.

Email is very impersonal. A voice on the wire is about as personal as you're going to get over a long distance. People respond to personal interaction. I think the only way you'd be able to do better than a phone call would be a video conference (not likely available, given your description of the situation) or walking up and tapping him or her on the shoulder... which is not possible given distance.

4
  • In my experience, many modern software dev cultures are very anti-telephone; I wouldn't recommend using any method more intrusive than IM without being invited to. Mar 11, 2014 at 17:57
  • @RussellBorogove, The local business culture is absolutely worth considering, certainly. In general, though, the more intrusive the form of communication, the more quickly a resolution will be achieved (or at least worked on). This is certainly true in my current job (software developer), where critical situations result in phone calls or in-person visits, depending on what's possible (some of our personnel are in another state).
    – Brian S
    Mar 11, 2014 at 18:17
  • 1
    @Russell, to me it sounds like that's a ringing endorsement for calling. The more they resent calling, the more incentive they will have to create a solution to the problem that doesn't involve being called. Perhaps they will just click 'OK' every morning by reflex so that they don't get harrassed.
    – jmac
    Mar 14, 2014 at 1:43
  • Remember, it's not "the client" that causes the problem, but one specific employee of the client. So if you get your job done by annoying that particular employee, you are only annoying one employee. You are not annoying "the client".
    – gnasher729
    Sep 19, 2017 at 20:50
6

Communicate with your boss, and if he agrees, with the client. You want to explain the issue, and ask if they have suggestions on how best to resolve it. Something like

"When I need to test the software, I contact the client about an hour ahead of time. However, often there is no response, or when they say they are ready, it still takes a half hour to get everything set up. Do you have ideas on how I can change my process so that this works more efficiently?"

That clearly states the problem, but doesn't assign blame. It says you're looking for a solution, and are willing to change what you're doing. It also gives them a chance to say this is their preferred process, frustrating as it is to you. If your boss and the client are willing to have this kind of inefficiencies, then you need to put up with it. But they do need to be aware the cost.

3

The problem is a bit deeper than your client not being ready to start tests when you are. Seriously, you only test your code on their site? I don't know how often you push iterations over to them but I can imagine it's quite an overhead for them setting up and tearing down access to this machine each time, and it certainly doesn't look professional.

If you can't persuade them to get you a development licence (which might be cheaper than the time they spend allowing you access) or a sandbox machine where you can come and go freely, then look at mocking out all the third party code locally, so that you can test everything apart from the integration with this component before you approach them with each build.

2
  • To clarify, the connection only has to be set up once, at the beginning of the day - they don't need to do anything on their end after the initial connection is set up, I essentially just need them to click an "OK" button to allow my access for the day. Mar 10, 2014 at 17:03
  • 1
    @thnkwthprtls Why not get the connection up each morning every day at the same same time - ie before you start work - as a matter of course? That way it becomes a daily prereq for you guys and for them. That way they can write it into their IT procedures and give you an escalation process if it's not done? Mar 10, 2014 at 22:16
1

1). It would be best to abandon the use of emails for this. Use Skype or other IM software, it's much more real-time and tends to keep people engaged once it got their attention.

2). Talk to your boss and/or the product manager. Let them know about this issue, but be careful about pointing fingers. They should be aware that this process is what's causing you to work slower. If you don't raise this issue, they might just think that you're not a productive employee or good at your job.

3). Do what @Julia Hayward said and mock every call to this 3rd-party library. When you finish your code, you can then test on their machine.

4). You don't provide many details about all this, but do you require seeing and interacting with a GUI on the remote machine in order to do the tests ? If not, then I would suggest asking them for SSH access on that machine for the testing purposes. You can also do it via a VPN connection between your company and the client. This way, you don't have to rely on them, you can just connect and disconnect to the machine all day long. It would even allow you to transfer files between the 2 computers.

5). Is it really that expensive to buy a license for that program/library ? I think that, whatever the cost, your increased productivity will pay it off; this obviously depends on the cost and the size of the project.

6). If your company and the client are geographically close (let's say 30 miles), wouldn't it be possible to work at the client's site 1 day per week ? From Monday to Thursady write all your code and mock the calls to the 3rd-party library and on Friday go to the client's headquarters and test it. This is obviously something that I would never do unless absolutely necessary, there are other cheaper and more convenient technical solutions to this. But if nothing else works, it might not be so bad.

0

We have solved this one in the past by the customer giving us a machine with all the licences installed, just for us to test with. Honestly, machines aren't that expensive - it can be last year's model - compared to the time being wasted here.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .