Mike Taylor – Whatever happened to programming?:
"And then — anyone who’s ever actually released software will recognise this — then in a sense the actual work begins. For the program to stop being a private project and become a public product, it needs documentation — APIs, command-line manuals, tutorials. It needs unit tests. It needs a home on the web. It needs checking for portability. It needs changelogs and a release history. It needs tweaking, and quite possibly internal reorganisation to make it play nicer with other programs out there. All this is phase 2, and it’s closely related to the issues of programming culture that I talked about last time.
The thing is, no professional programmer begrudges Phase 2. We all recognise the necessity of these things, and we take pride in doing them right. It’s part of professionalism; part of being not just a computer scientist, but also a software engineer. It’s all good.
But Phase 2 is not the core of the work. It’s really all about Phase 1; and even if Phase 2 takes more effort and time, it’s still only the ‘i’s that we dot and the ‘t’s that we cross to give our beautiful code a life outside of our own computers."