112

TL;DR

A colleague offers (unsolicited) help in front of manager, but actually doesn't help. What to do?

The long version:

I have recently started on a new job. There is another very senior person, the de-facto subject matter expert, having multi-year experience on the core technology.

Let's call that person John and the technology in question T1.

When I was being interviewed and asked if I have experience in T1, I told them I have zero experience but would love a chance and will do my best to learn T1.

Now the issue is this, John appears most helpful in front of my manager or the scrum master or other team members.

An example: we are having a meeting with manager and/or scrum master and I am asked how long will it take to resolve issue X. I reply 2 days. The manager and scrum master are just fine. But John will jump in with something like this, "2 days are too long, this is a 2 hour task or 4 hour task". My response would be something like, "You are right, but since I am still learning about T1 I have added a buffer to my estimation".

Now John will be like, don't worry I'll help you and you'll finish the task in 2-4 hours. He will appear to be ready for whatever it takes to help me catch up to speed.

The manager and others erupt in words of praise for John. How he is ever ready to help the team.

After that whenever I'll approach him with a question (intelligent question at that, I do my homework before approaching him) he will answer in monosyllables, most of the times not even turning away from the monitor, just staring at the screen and answering in 'yes', 'no' or other non-answers.

Now, I do not need his help, I don't want his help. I only want my manager/scrum master to understand why it still took 2 days when John said he will help me complete in 4 hours?

He has been with the company for a long time and I am there less than a month. This complicates things a bit.

  • 8
    So John isn't as helpful as he makes himself out to be, but is it actually within his job responsibilities to "shepard" you along? If not, you might consider working on your own and letting your manager know that you're not getting any assistance from John. Your manager can then address the issue. When you're asked why it took you so long to complete a task, let them know that you didn't get the assistance from John that he so eagerly offered. – joeqwerty Nov 17 at 3:34
  • Were you able to accomplish the tasks in 2-4 hours with the "help" of your colleague or not? If not maybe next time when you are going to estimate tasks and John would say that with his help it would take you 2-4 hours you can reply back with corrected amount using max of what John estimated multiplied on how long 2-4 hour task took and divided on 3 (since this is middle between 2 and 4). However you should word that in a way that would not sound too offensive and would not sound that you have an issue with John but you are trying to do the best in estimation based on previous experience – AlexanderM Nov 17 at 3:36
  • 9
    Did you confront John privately? "If you're not going to help, don't ever volunteer to help me in front of others ever again. If you do, I will just tell everyone what happened the first time around." And in the future, the next time an estimate gets passed around. Just say that that the task will get done in 2 days if you do it, 4 hours if John does it, but 4 days if John is supposed to help you do it. – Stephan Branczyk Nov 17 at 22:07
  • 14
    What is SME? Small and medium-sized enterprises in this context? – Pop Nov 18 at 1:22
  • 22
    @Pop SME = subject-matter expert – Ben Hocking Nov 18 at 1:45

13 Answers 13

143

Don't make estimates based on expectations of the future, make them based on observations of the past.

When John says "don't worry I'll help you and you'll finish the task in 2-4 hours" bring up the last few times this has happened.

Thanks John, I really appreciate that offer. The last three sprints you've been too over-comitted with other work to actually provide that help though, so I feel that relying on it wouldn't give us an accurate estimation for the team.


As pointed out in the comments by Chris Stratton, if you're working within the Scrum framework, then you don't even need to wait until the next estimation meeting to bring this up. The daily stand up is a time where you're able to talk about things that are slowing you down, and ask for help that you need.

Hey John, have you got some time today to help me with my task please? You mentioned during sprint planning that you'd be able to help me learn how to resolve it faster.

And if he says "yes" in front of everyone again, but "no" to you in private, then ask the same question the following day, politely and professionally calling him out in front of the team for not doing what he said he was going to do.

Hey John, I could still use some help here. This has dragged on for two days now, and I'd really like to to get it closed off. If you're not able to help then that's OK, but I need to know that so I can change my approach to the task.

To be clear, I don't recommend calling someone out in a stand up if they're genuinely helpful, but also busy. The stand up is the right time to highlight blockers though, and it sounds like John is one.

  • 22
    I'd prefer to start off with a less public confrontation. – MaxW Nov 17 at 18:01
  • 27
    @MaxW - Sprint planning requires technical honesty to the point that it simply does not work if it is based on assumptions at odds with reality. The wording proposed here is remarkably diplomatic for the reality of the way these persistent false promises have been sabotaging planning. For that matter, the fact that the task is going slowly due to lack of help should have been being brought up in the next morning's standup so that either the help could be provided, or expectations of timeframe re-calibrated for an un-aided effort if the helper's time must go instead to higher priority tasks. – Chris Stratton Nov 17 at 18:22
  • 11
    "For that matter, the fact that the task is going slowly due to lack of help should have been being brought up in the next morning's standup" - this is definitely the right answer, don't let the issue linger! – Alan Dev Nov 17 at 20:15
  • 2
    @ChrisStratton, I think the point that MaxW was trying to make is to start with a private confrontation with John right now. "If you can't help me this week, don't ever volunteer to help me in front of others again. That just messes up the entire estimation process." – Stephan Branczyk Nov 18 at 8:58
  • 7
    If a private conversation can resolve it by triggering help today, great. If not, blocking issues are a purposefully public part of standup status as a matter of optimization not blame - perhaps someone else can help. Or John states he needs to do something higher priority so all understand this task will slip. The wole point is to not let inefficiencies fester unacknowledged behind the scenes. (If the help were expected to take substantial amounts of John's time it should have been an element in his sprint, too) – Chris Stratton Nov 18 at 15:45
210

I only want my manager/scrum master to understand why it still took 2 days when John said he will help me complete in 4 hours?

Pass it to him if asked. He volunteered to take responsibility, so let him.

'Why did it take two days when John said 4 hours?'

'You'll need to ask John that, 4 hours was his estimate, my estimate of 2 days was correct.'

It won't take them long to figure it out, and you're not giving any cause for offense or making an excuse. The onus isn't on you. I'd actually be a bit surprised if they ask you instead of him. He's the one who came up with the 4 hours.

Short answer = don't take professional responsibility for other peoples BS, pass it straight to them to explain.

  • 27
    Exactly that. If you say 2 days, and John says 2-4 hours, then he is obviously the much better developer and volunteered himself for the task. – gnasher729 Nov 17 at 8:52
  • 34
    @gnasher729 or he's talking out of his button to make it sound like he's superdev, either way he volunteered to be responsible :-) – Kilisi Nov 17 at 9:10
  • 9
    The actual conflict is not about the difference in estimates as this answer is assuming, it is that John did not provide the help he had promised. – toolforger Nov 17 at 21:01
  • 2
    @toolforger with Kilisi on this one. If I tell you 2 days and someone else says 4 hours tops, you will (and correctly so) assume that it's done in (about) 4 hours. If it's not, and you ask the first person (actually assigned) why he's still busy and he says "I said 2 days, John said 4 hours", what will you do about it? Furthermore, what if I next ask you: "He always says these short estimates in front of you, but never actually helps, what can I do?" – rkeet Nov 18 at 7:10
  • 4
    @Kilisi a whole lot depends on the kind of management you have. Some are just covering their own asses. Some are easily influenced by the John types. Or they depend on his experience and expertise, and don't want to anger him, so if John wants to get rid of a potential competitor, they will simply not want to see. Though if the OP has a management that seriously invests into conflicts (or misunderstandings) like the OP is describing, then his best chance is indeed talking this over. – toolforger Nov 18 at 12:09
58

John’s time would be called an “impediment” in agile circles.

So to move forward without headaches and stressing...

  1. Put in your estimate
  2. If John says, that’s too high, should be x, respond with “Cool! Let’s huddle up later and we’ll revise the estimate after that once I get your insights on the subject”
  3. Go about your day.

No meeting? No worries, the commitment is still your estimate.

Meeting happened and you got the information you need? Tell your manager that he has to revise the estimate lower - I highly doubt that it’s going to cause him heartburns.

Got a follow up about revising the estimate? Tell them the status of the promised meeting.

  • 13
    I actually quite like this approach! The next time you run into this situation, you can reply with a diplomatic: "Thanks for the offer, John! However, I don't feel comfortable changing the estimate until we've gone over this together and I feel confident I can meet your estimate. For now, I'd like to keep my original estimate." – John T Nov 18 at 14:57
20

John is probably busy, so book him for a 4 hour meeting with this on the agenda where he is not busy with something else. Do it as soon as you can, preferably right after the meetings where this happen.

If he doesn't have time in his schedule, ask him in email with the manager cc'ed to arrange the meeting with you. If he is very busy, ask him to place it so early that you have the time you need to solve it yourself if he has to cancel.

  • 3
    This is a great way to pin John down. As you say, do it in an email so that it is documented. – MaxW Nov 17 at 17:58
  • That seems rather passive-aggressive, considering that a 4 hour meeting is unlikely to be productive even in the best of cases. If you must, maybe start with 1 hour to "go over the basics". (It should also be easier to find a slot when he's available.) – Llewellyn Nov 18 at 18:30
  • 2
    @Llewellyn The four hour meeting can be a timeslot for pair programming, it's not gonna need to happen in a meeting room. On the account of John, that's exactly the time it needs for them to do the task. And if he's not just helping on the side but fully committed, that should speed things up and/or have a better teaching effect. – Frank Hopkins Nov 19 at 2:11
  • @Llewellyn This is a four hour, not a six month job. – Thorbjørn Ravn Andersen Nov 19 at 8:58
9

When you are asked why the four hour task took you two days, you just say "Two days was my estimate. John volunteered to help me, but when I actually asked him for help, I got nothing. "

He is throwing you under the bus. If this is intentional or not, I don't know. In either case, you can't let him get away with it.

The next time a task is estimated that you are supposed to do, and John says it should take much less time, you get up (not literally) and say that this happened before, but when you needed it you didn't get any help from John, so either you stay with your original estimate or John does the job in his own, shorter estimate.

  • 11
    This is a very confrontational approach and you should bear in mind that John clearly has a good reputation with managers and has been there longer, so he'll have a lot more social capital if he chooses to respond to this by pointing out that he answered any question the OP asked him (technically true, however unsatisfyingly) or by flat out lying. I would only recommend this if the OP was able to prove in some way that they had asked for help, such as how Thorbjørn Ravn Andersen suggests. – Meelah Nov 18 at 15:57
  • 2
    This is a great way to be made into the team's scapegoat. Let's blame a team member when you don't deliver. – reinierpost Nov 19 at 10:03
9

Most of these answers are so confrontational...

Approach your boss in private to discuss this disparity. You don't need to throw the SE under the bus, you don't need to publicly take a stand and you don't even need to make John aware that you have an issue with him.

Get some time alone with the manager and discuss the situation:

Hey, I'm having a hard time with these deadlines. I'm meeting them according to my own estimates, but John said he would help me achieve them faster. I've approached him many times, but it seems like he's always too busy with his own tasks... is there anything that can be done?

This way, the manager will at least know to expect longer (closer to your estimate), or the manager will take action in making sure John helps properly.

  • No need to throw John under the bus
  • No need to make this a public issue
  • No need to escalate this to anything other than a "what should I do boss?" type scenario.

Another issue: don't assume malice from John. He may have gotten unexpectedly busy or may just be unaware that his big mouth has these kinds of consequences.


Edit: As many mentioned in the comments, the first person to speak with is likely John, if you can. John may not even realize what effect his words have, or that he is not giving enough support.

  • 4
    I think the first person to approach about this is John, not the manager. – reinierpost Nov 18 at 11:35
  • @reinierpost Probably! But it doesn't sound like OP feels comfortable doing that – Mars Nov 18 at 12:19
  • In a scrum-team, the team as a whole is responsible for the sprint goal, so the team as a whole needs to be aware of impediments. Although talking to the manager may help, the team needs to be aware of this as well, and managers usually are not part of a scrum-team. – Mark Rotteveel Nov 18 at 12:42
  • @Mars That's answer is what I was thinking, I just didn't have it as a SE-style answer. I'd avoid mentioning Hanlon's Razor though: It is presenting a false dichotomy between stupidity and malice, ignoring the most common cause: blindsidedness. – toolforger Nov 18 at 12:43
  • 1
    @MarkRotteveel It was you that claimed that the whole team needs to be aware of all impediments. I strongly disagree, both with that strict scrum line of thinking, and with the idea that there's no room for human relations. At this point, it's nothing more than a private issue of two people not working well together. That can be fixed without escalation. – Mars Nov 19 at 8:57
5

You have two conflicting goals.

  1. Completing the work as fast as estimated by your senior colleague
  2. Don't annoy your senior colleague (when he already gives signals that he doesn't want to give his full attention to you)

It's hardly possible to fulfill both goals, but I also wouldn't say that it can be expected from you.

First you could talk to your senior colleague (give him a chance to solve the issue without escalating it in front of the team).

Hey, John (senior colleague). As you suggested, I could solve the task way faster with your help. But I feel, I disrupt you from your work (and I would like to keep a positive work relationship with you). You are probably very busy. Do you want me to go back to my 2-day estimation, or do you prefer to have a 1(?) hour meeting for my questions?

If there is no reaction from him, I would go to the manager next.

Hey, Manager. I want to solve the task in 4 hours with John´s help. But I feel like I disrupt him in his work and I want to have a good work relationship with him. It seems like I either upset John by disrupting him or upset the team, by taking too long. How do you want me to proceed?

It might be the case that John insists he gave you enough help already. Then you would have to insist in the next sprint planning on what the help has to look like (e.g. 1-hour meeting).

Final remark:

Now, I do not need his help, I don't want his help.

Even though it might be annoying to work with John, you might have to show that you are willing to work with him. But if you follow the approach above (and take the right to formulate how the help has to look for you), he either gives you the time you need (and you will learn something) or you go back to your estimation.

4

How to handle a colleague who appears helpful in front of manager but doesn't help in private?

So, don't let the work and efforts reside in private.

It's always better to keep informed about the probable miss of deadline / estimate, rather than actually missing the deadline and then doing the post-mortem.

Assuming that this is a recurring thing (not a one-time case, where John might be actually caught up in something else and unable to provide the help they promised), you need to ensure that the other stakeholders (Manager, scrum master etc) are aware of the contribution from you and John.

Whenever you are asking for help, don't ask for the help in private entirely. Initially, send an email stating

  • What you tried
  • How it did not work
  • What help / suggestion you need from John to proceed.

Write something like

"Dear John, as we discussed in the standup / planning meeting, I am working on XYZ, and the task related to PQR is blocked. I'd really appreciate your input on this. Also as discussed, to have this completed within the estimated time, I need to have a path forward sooner than later, so if you can let me know of your suggestion on this, it'll be helpful.

Please let me know if you want me to setup a meeting to discuss on this. Given the estimated timeline, I presume we need to have is disused in next X hours / minutes. Other than that, I'm afraid, we may need to re-estimate the task."

If you don't get a response within the stipulated time, feel free to mark your manager and scrum manager to keep them aware of the situation that the estimation is about to go wrong, given that you are waiting on input from John. Let the scrum master / manager decide the priorities for John and you, and revise the estimate without waiting for the missed deadline for the task.

Even after that, if you don't get a response from anyone, send up a daily summary of the progress made and on the blocked action item voluntarily marking all of them in loop, so next day, the status should not come as surprise to anyone.

There, you've done your part. Let John do theirs, and same for the scrum master / manager.

2

Schedule a meeting with him

I found all answers above are helpful, however none of them saves you from a confrontation, or pointing finger.

If you felt the need to create a topic over this, most likely you sensed something fishy - he intervenes your schedule, claims it can be done in 4 hours with his help, then avoid helping..

So make this "help" official, ask him to schedule his 30 minutes.

And even if you fail, don't get nervous - this type of tricks happens a lot, and your manager probably knows he is tricking you. Next time insist on 2 days.

  • Do the managers know, if they praise John's helpfulness? – toolforger Nov 18 at 12:46
  • @toolforger To be honest I am surprised as they were praised to John. Worst case scenario, when you approach to manager and say John did not help, I don't think he will assume otherwise. – Hakan Erdogan Nov 19 at 14:42
1

An example: we are having a meeting with manager and/or scrum master and I am asked how long will it take to resolve issue X. I reply 2 days. The manager and scrum master are just fine. But John will jump in with something like this, "2 days are too long, this is a 2 hour task or 4 hour task". My response would be something like, "You are right, but since I am still learning about T1 I have added a buffer to my estimation".

This was not a good response. If John is trying to make himself look good and you look bad, your response accomplished exactly what he wanted. A better response is to call him on his bluff. For example:

"I can't imagine how this task could be accomplished in 2 or 4 hours. I really believe that I would need 2 days to accomplish it. John, since you seem to know a much better way to do this, why don't you take this task?"

Ensure there is no mocking in your tone of voice.

Since you haven't been there for very long, a different approach might be better. Simply let your manager know that John didn't provide you any help. For example, you could do it this way:

"Hey, I know it took me several days to accomplish that task that John said would only take around four hours. I'm still learning my way around and would have appreciated any suggestions John could have given me, but he didn't actually wind up having any time to offer me assistance."

If you feel that you aren't at your full productivity yet because you're still new, add something about that, like:

"I still feel pretty new here and am still feeling my way around a little bit, and certainly do appreciate when help that is promised is actually delivered."

Again, be sure not to sound like you are mocking or sarcastic when delivering these statements. Use a level tone.

  • It's worse enough to do this in front of the whole group. Better do it in a private conversation with John. – reinierpost Nov 19 at 10:01
1

I'm not convinced it's malice yet.

After that whenever I'll approach him with a question (intelligent question at that, I do my homework before approaching him) he will answer in monosyllables, most of the times not even turning away from the monitor, just staring at the screen and answering in 'yes', 'no' or other non-answers.

Developers like to crawl into their cave and concentrate. If you ask them questions while they're deep into a different problem, they might do exactly as you describe. It's rude, and not really the clearest way of John to communicate, but basically, you're coming at a bad time. There was no good time to come.

So instead, ask him in the morning standup meeting "John, when do you have half an hour to get me started on T1?" Get a time slot from him. This is a reasonable request. It's also respectful: it shows that you know his time is valuable. It's also bounded: you're not going to drag him away for four hours, just half an hour to get you started. It's also precise: he names a time and commits to it.

Obviously, once you get your time slot, use it and don't overrun it. If after half an hour you still don't entirely get T1 but have made some progress, point out that time's up and you'll let him get back to his own work. Again, this is showing you respect his time. But it also gives him the opportunity to volunteer to continue the lesson. Chances are he'll be happy to; the one thing programmers really hate is being dragged away from a task.

Once the lesson is over, work on your T1 problem. You should be able to do better than 2 days now, but perhaps not 2-4 hours. That's when you've mastered T1 and you're still learning. But if you do it in 1 day, that's progress.

That then is something you can put forward at the next sprint planning: "Well, last sprint I was able to do it in 1 day. John's assistance helped a lot but I'm not as good at T1 as him yet. John, can I schedule another half hour with you to talk about how to do it more efficiently?"

This leverages key ideas in Scrum: that the time it takes to do something is not dictated by a manager but discovered by trying it and improving estimates on what happened. As a task is repeated, developers get better at the task (do it faster) and get better at estimation (more accurate prediction of how fast they are).

1

You seem to be open in principle to working with John, so I think it's an option you shouldn't shoot down before trying it in earnest.

I'd ask John to meet to discuss this. In the meeting, point out that his present level of help puts you in a spot where you're unable to make clear promises. You have two options and say you're fine with either:

  • Do it on your own, which will be slow because you need to learn the technology. His estimates will be irrelevant.
  • Do it with his help, which crucially depends on his commitment to helping you and it will take real attention from him, more than he has been spending on it thus far. It will be a team effort from the two of you because your estimates will rely on his help. It doesn't hurt to throw in a honest compliment, e.g. say that you're happy to learn from him if that's the case.

Ask whether he's open to option two and if he is, discuss how this is going to work out in practice. If you agree on this, you can now report in the next meeting that John and you have decided to collaborate on this and that your estimates are based on that. If not, ask him to agree that you will be going it alone; now, in the next meeting, you can report that you and John agreed you will be doing it on your own and your estimates are based on that.

Throughout, present of this as purely a matter of deciding on the more practical option for the team - be sensitive to politics or personal feelings, but leave them out of the discussion.

By getting his explicit agreement, you can expect to have more support from him next time this comes up in team meetings - and if not, you can remind him of it or ask your manager for advice without John feeling left out.

0

I agree with most answers in this thread: whether John is acting of malice or just being your usual passive-aggressive introvert software "brogrammer", he is hurting your reputation while increasing his own.
I would, therefore, advise following the routes of action suggested by other answers, i.e. escalating the issue with managers (either upfront, in the daily standups, or quietly, via an email to the manager only).

The thing most other answers forget to mention is, you would need proof.
John is a senior, an SME, with the company for a long time.
He is the de-facto king of his kingdom, the department you both work at.
It won't be taken nicely, either by him nor the managers, to bad mouth him without having something, good, to show for it.

Luckily for you, most smartphones today have a built-in recorder, or you can download a recorder app.
Also common today is people walking with their phone in their hand all the time, even when they're not talking/texting/Facebook-ing.

Turn on the recorder prior to walking up to John, phone in hand.
Unless John is a latent master spy, that should raise no worries with him what so ever.

Ask your questions to which you'll probably get the usual dismissive answers.
This time, however, they're on the proverbial "tape".

When you decide to escalate, you now have your proof.

I'd personally do it a couple of times, so I can show it's an established pattern, not just a one-time incident when John, inevitably, pulls the: "well, you know, I was busy and this n00b comes asking this question he can just Google. Come on, you know me for years, whose word are you going to take?!"

The world, especially the tech world, is full of assholes whose idea of being dominant is to little the person in front of them so they won't threaten their fragile ego.

P.S. If, after collecting several such proofs and escalating the subject to your manager you see they still have John's back and not yours... well, a month or two isn't even something you put on your resume.

The resume you should start sending out.

If your managers accept and condone shitty behavior just so long as it's handed by their precious, darling, SME... let them keep him and enjoy his behavior.
You go out and find yourself a place where people are nice and helpful and jerks are not tolerated!

Not the answer you're looking for? Browse other questions tagged or ask your own question.