If it's a nice problem to have, don't solve it now
davidnicholaswilliams.com
If it's a nice problem to have, don't solve it now
1–10 of 71 posts
Re: If it's a nice problem to have, don't solve it now
#2Re: If it's a nice problem to have, don't solve it now
#3Re: If it's a nice problem to have, don't solve it now
#4For many "nice problems to have" I really disagree.
A nice problem to have can be a real problem. It's nice you are in that situation but it's still a problem.
Your site offline because of demand is a nice problem to have. It's absolutely one to solve right now.
Re: If it's a nice problem to have, don't solve it now
#5I deleted my older comment. For many "nice problems to have" I really disagree. A nice problem to have can be a real problem. It's nice you are in that situation but it's still a problem. Your site offline because of demand is a nice problem to have. It's absolutely one to solve right now.
OTOH, I think that it's still a bit wrong to say don't solve them now: if you have a problem that is potentially a business-ending disaster that you won't have time to fix before it destroys your business if it manifests, it doesn't matter if the conditions which would cause it to manifest are otherwise an improvement over your status quo conditions. It still needs fixed before that happens.
Otherwise, yeah, YAGNI applies.
Re: If it's a nice problem to have, don't solve it now
#6"My customer data isn't backed up", is a nice problem to have when you're just launching a new service and don't have any customers. But it's still a problem you'd probably like to solve relatively early. There won't be a moment where missing backups are an immediate problem but also still easily solvable; they're either a future problem or you're unavoidably about to lose a large number of your customers.
As a less on-the-nose example, sometimes when I'm building software, I can anticipate that something will be a problem two or three months from now. In those cases, I have a decision to make. If the code is disposable, I can ignore the problem and solve it later. But if I'm working on core architecture, spending an extra 2-3 days to solve the problem now can save me 3 weeks of refactoring in the future.
Many businesses start agile and become slow and cumbersome over time precisely because of this reason. They can't keep up the pace they started at because the technical debt, compliance issues, and future problems end up weighing them down over time.
I think there's just a balance to be had here.
Re: If it's a nice problem to have, don't solve it now
#7Re: If it's a nice problem to have, don't solve it now
#8This is a great problem to have - lots of pent up demand. Nevertheless, it is a problem, and we must actively strive to solve it. It's nice to have lots of demand, yet if the problem is not solved, we will be giving up future revenue. A larger team will be able to support more revenue than a smaller team.
There is no part of this situation where it is a good idea to slow down on hiring, or to compromise on hiring standards.
Ninja edit: this is in contrast to things that aren't a problem yet. E.g., in the article, the author discusses not having password reset functionality. That is not yet a problem in the absence of users. It's not a nice problem to have. It is not a problem.
Re: If it's a nice problem to have, don't solve it now
#9I deleted my older comment. For many "nice problems to have" I really disagree. A nice problem to have can be a real problem. It's nice you are in that situation but it's still a problem. Your site offline because of demand is a nice problem to have. It's absolutely one to solve right now.
They are discussing nice problems to have relative to the status quo , so problems that are really only potential problems right now, but could become actual problems if good things happened. So I think even with the rewrite, your comment misses the mark. OTOH, I think that it's still a bit wrong to say don't solve them now: if you have a problem that is potentially a business-ending disaster that you won't have time…
On your second paragraph, 100% agreed. This is really just a useful prioritization heuristic, not a rule, and in some cases other considerations should and will override it.
It's mainly useful just to deliberately and routinely check that instinct to go deep on whatever you're working on when there's a lot of breadth to cover that's more important to get done first.