Ship It

  • I know exactly what the author means. At a couple different points in my life I've had jobs that were great for me at the time in every respect--good money, nice people, lots of flexibility, good technology choices, etc.--except that the product just didn't ship! And didn't ship. And didn't ship... And it completely ruins the experience, no matter how good the other factors are. There is nothing more soul sapping for a builder than the creeping concern that the fruit of his/her passionate efforts may not see the light of day and be used by real people. It's actually much, much worse than the concern that those real people will hate it, or won't care.

    There are always excuses and extenuating circumstances and heartfelt resolutions are made to change, but it seems that once a project has become large and complex and still hasn't shipped (or at least garnered outside interest and stakeholders), there's very little chance that it can turn around. The leading causes of perpetual shipping delay seem to be featureitis, perfectionism, and vanity, which usually come together, as a trio, and manifest into what is essentially the fear to release something small and targeted due to insecurity that it won't be well received and will shatter the grand vision. They are reality-avoidance strategies. And these problems become more and more dangerous as the project grows in size and scope, because there is more and more surface area for the featureitis to latch onto, and each new feature requires unanticipated time to make 'perfect', and exposes new unfulfilled use cases that lead to more features and so on, and no one's ever satisfied with the whole picture. It's horribly Sisyphean and demoralizing to toss one's creative energy into such a maelstrom.

  • I used to focus on be software and not on shipping it. Water a lot of time trying to get things to be perfect. But I wasted too much time that way. Worse yet, a lot of my design decisions were wrong. So I had to go back and redo stuff that could have been taken care of had I shipped earlier. Nowadays, I focus on shipping and iterating. It's better to fix it along the way than to stay paralyzed and never get anything done.

  • "Release early, release often" http://en.wikipedia.org/wiki/Release_early,_release_often

    That's what my old boss always said, he sold his company for a few millions :-)

  • Ship it with a Minimum Viable Product http://en.wikipedia.org/wiki/Minimum_viable_product

  • There are many different degrees of how shipped software is. What I want to build is software that matters.

  • Ship it...

    But please use basic security.

    Bcrypt, etc.