Writing Software Is Like Writing In General

Posted on December 30, 2004 by Scott Leberknight

I came across this article on IT World in one of the emails I get from them. It reminded me of something I think about a lot, which is that writing software is not much different than writing in general - that is, writing books, articles, presentations, etc. When you write a book, an article, a presentation, a blog entry, or compose even a short email, you are constantly rewording, reworking, restructuring your words...in software parlance you are refactoring your prose. I am doing it right now as I write this entry.

Why then, do so many people in the software industry assume that software is exempt from this reworking and restructuring, and that by "proper design" you can somehow avoid rework and restructuring? This problem is mostly found in managers and other like-minded people, who want to make sure you "get it right" the first time so there is no going back to any code you've already written. They want to check off the task in their project management tool that says your domain objects are done, and then make sure you don't touch them ever again because to do so would throw off the schedule and their ability to manage. Interestingly, most of these people would never release project documentation without it going through multiple reviews and revisions. Sadly, they fail to see how this is the same as reviewing and revising code as you write it and add more and more functionality throughout the development of a system.



Post a Comment:
Comments are closed for this entry.