Shipping Isn't Enough

Good old post from Jeff Atwood (@codinghorror),
old (2007) but still very relevant to all software developers

Shipping Isn’t Enough

It’s true. One key measure of success for any programmer is how much code you’ve shipped. But merely shipping is not enough. A more meaningful measure of success is to ask yourself how much code you’ve shipped to living, breathing, real-world users . But then total users doesn’t equal total usage, either.

How many users actually use your application ? Now that’s the ultimate metric of success.


A smart software developer realizes that their job is far more than writing code and shipping it; their job is to build software that people will actually want to use . That encompasses coding, sure, but it also includes a whole host of holistic, non-coding activities that are critical to the overall success of the software. Things like documentation, interaction design, cultivating user community, all the way up to the product vision itself. If you get that stuff wrong, it won’t matter what kind of code you’ve written.

In a very recent post About Tooling for the ActionScript Platform
when talking about Redtamarin I mentioned the following

my only problem is I can not show it now because it is not ready as it should be ready

the “as it should be ready” part are all those other stuff beside programming
and I’m not just talking about documentation

keeping your head down just shipping code, fixing some bugs, maybe write a bit of documentation,
then rinse and repeat … it can work for most open source software but definitively not if your end goal is producing a SDK

I thought innocently that “just shipping” could work with redtamarin, but nope
because in itself the product is bigger than that

at the very narrow end you could see redtamarin as just an open source runtime,
ok C++ source code is there, then a runtime, the Redtamarin shell, is produced and then distributed, etc.

but that’s a very shortsighted way of seeing it
there is also the documentation part, but it is not only documenting the API of that runtime

if there is no vision where all that fit in it is almost just a big waste of time

so yeah shipping is far from enough

so on top of this huge pile of code that I could ship without thinking of the “consequences”
I need to stay on focus and always remember that no, redtamarin is not just a runtime,
no, it is not just documenting the API, it is also all the rest, and among all of those other stuff
the final product has to fit in the right place

anyway food for thought, do not just ship code for the sake of it