Do you know when and how to ask for help?

Last updated by Brady Stroud [SSW] about 1 month ago.See history

Ideally, you should point out any problems with a work item when you are first assigned it in Sprint Planning. However, sometimes you think a PBI will be fine, but then you run into blocking issues during the Sprint. In that case, you shouldn't wait until the next Sprint Planning because that is burnt time being blocked. So, you are forced to do some googling, and investigation on how to move forward. These moments can be stressful, especially for junior developers and the question arises... "When should I ask for help?"

Asking for help should follow 4 phases:

  1. Determine if it's time to ask
  2. Do your due diligence
  3. Figure out who to ask
  4. Prepare to talk to a senior

1 - Determine if it's time to ask

As everyone's struggles are different and everyone's way of handling pressure differs, it's hard to provide a useful metric for when to ask for help. However, here are some useful guidelines:

  • Don't spend more than 1 hour blocked on a PBI before asking your team
  • Don't spend more than 1/2 the allocated time of a PBI blocked before asking for outside help

If you've spent more time than that blocked and haven't spoken to anyone That is a problem!

For example, if a task is 2 days long and you haven't been able to get anything done on the first day... You should be asking for help. If you aren't then that's a red flag.

2 - Do your due diligence

Before asking for help, ensure you've done your due diligence and exhausted your usual avenues for unblocking yourself. This concept is critical when trying to talk with senior developers because their time is valuable. You need to start your communication with a senior prepared and make it clear that you've tried to help yourself first. Often by doing this, you'll also resolve your own problem.

Here are some things developers should do before asking for help:

  • Try Googling it
  • Check Stack Overflow
  • Read the documentation e.g. Microsoft Docs
  • Explore the code

    • Look at pages that do similar things
    • Put breakpoints and check the values to see if you can figure out little bits
    • Debug systematically by checking a tiny part, confirming your understanding, then moving to the next part
  • Try to resolve it yourself a few times
  • Explain the problem to yourself

3 - Figure out who to ask

Now that you are sure you need help, it is time to figure out who can help you.

Your development team cares the most about your problem, and you want to bother those with the least valuable time first. So, follow the below process:

  1. Run your problem past someone at a similar level to you
  2. If they can't help you, move to the next level of seniority
  3. Repeat step 2 until there is no one with higher seniority in the team
  4. Call in outside help

Tip: If you have no idea who to contact, ask your Scrum Master!

4 - Prepare to talk to a senior

If you still feel you're blocked, it's time to prepare to talk to a senior.

Make sure your struggles are documented in a PBI including context, screenshots and what you have tried. Now, ideally you want to provide a recommended action before you call. Do your best to find one and then there are two paths:

If you have a recommendation
  1. Document the recommendation in the PBI so that you can manage up when you call.
  2. Call and share screens showing the documented information.
If you do not have a recommendation
  1. Document what you did to try and find a recommendation in the PBI.
  2. Call and share screens showing the documented information.

That way, the senior doesn't need to interrogate you to figure out what you have tried already, and they can see you have made an attempt. If you can’t get hold of them, send a message with the prefix “⚠️ Blocked” to ensure the other person knows that you can’t proceed without them.


Other tips

  • A Done Video can help you organize your thoughts and prepare to explain the issue
  • Bring your issue up in your Daily Scrum as a roadblock
We open source. Powered by GitHub