Greedy algorithms are great if you’re unsure of the end goal but still want to make progress.
A greedy algorithm is where you take the best possible next step. You incrementally improve the system, always focusing on what’s right in front of you.
It’s the opposite of taking one step back to take two steps forward.
So many companies have no idea what they really want or need from software. Trying to come up with the optimal solution from nothing, all at once, will paralyse you. You’ll almost certainly end up with the wrong solution with this approach anyway.
Sometimes greed really is good.