I've shipped a lot of things on tight deadlines, and a lot of things slowly. The fast ones aren't worse. Here's what I've learned.
Heuristics
- If you can't decide between two implementations, the simpler one is correct.
- The first version is for learning. The second version is the product.
- Polish the entry points. Nobody sees the empty state of an admin dashboard except you.
- If a feature isn't done by the deadline, cut it — don't ship it half-done.
That last one is the hardest. Almost-there features create a tax on every future release.
The work isn't done when the feature works. It's done when the seams are invisible.