One of the differences I felt working in a large enterprise vs. a startup is the race against time. Often times, when developing complex features you might be stuck with something and can't easily find a way to unblock yourself with an elegant and right solution.
There are three possible solutions in such situations:
- Spend more time until you find the right solution.
- Find a subpar solution to get going.
- Defer the feature
In a large enterprise when you are on someone's dime, you'd most likely strive for solution #1. Depending on the urgency and other factors, probably spending even days doing research to find the right solution may be acceptable.
But for a startup, it's a race against time. If you are stuck and can't unblock yourself quickly, the pressure starts to mount. Even spending a couple of hours without any output can be frustrating.
I found the following tips to be helpful:
- Am I really not making progress? - keep a Trello board with current sprint tasks to see how many tasks are closed this week. Though you may feel you are not making progress, it could just be one task that's a blocker vs all others that are already completed.
- Rotate the tasks - if you can't seem to find a solution immediately, switch to other tasks from your sprint board so you can deal with the blocker with a fresh mind.
- Take a break - Start with the blocker on a fresh new day. I have many times spent continuous hours trying to fix an issue, but only to find a solution in just few minutes after a good sleep. Power naps, long showers do help!
- Think again - think about the runway you have vs. time spent on a blocker. Probably spending a couple of hours without any output is not really bad after all.