I'm stuck again. For the past few weeks, I've been building a website that I think will be useful and interesting to the tech crowd, but I'm stuck on a technical problem has derailed things.
I think I'm doing some things right: old projects died of scope creep; in this one I'm restricting the features in my initial release. But other things I'm not so sure. In my old projects, if I ran into a problem I couldn't solve, I'd work on another part of the system. Then I'd come back and have two disparate systems to debug and integrate ;)
These issues, plus Parkinson's law of "work expands so as to fill the time available", I feel the risk of it becoming another "forever project". I want to get this one out! Any advice?
Soon you will wake up a solution, or perhaps another approach, or better understanding of what you need to learn.
The thing is don't switch to another complex problem. When tired, switch to easy tasks, documenting, or refactorings.
However, I think the following steps are a good algorithm for solving problems of many sizes.
1. Make the requirements less dumb
2. Delete everything from the system that is not absolutely needed
3. Re-add what is still needed. If you don't have anything to re-add, you did not delete enough.
4. Speed it up, make it more efficient
5. Automate it
This engineering advice comes from Elon in his interview with Lex Fridman.