Release early, release often

September 16, 2003 | View Comments (0) | Programming

I was out at lunch with a colleague of mine yesterday and we were discussing the abilites of some companies to get their message across effectively. To me the best way is through something that is concise and quick to the point. If I wanted to explain to someone why they should release their software early and often I would show them this story and the conversation would be done with.

If you need a greater example of why you should release your product early and often then you should look no further than open source software. When managed correctly this methodology of quick release cycles flourishes. The Linux kernel, Apache projects, and other open source projects grow rapidly and fix bugs quickly because they get their product out there in the real world where it can actually be tested.

This makes me worry a little bit about Six Apart's upcoming blogging service TypePad. It seems they are getting ready to begin their second round of beta testing with the final product following soon after. Why not from the beginning build a base system and enroll some bloggers to test and use the software in the early stages of development so that feedback could be provided. They certainly have the community who would be willing to volunteer their services for testing. More than likely there were a lot of technical things that they did not want released. However, if they did go the route of early user testing then maybe someone could show them a feature that would be great to use that Six Apart didn't even think about. Oh well, I am sure they did a bangup job on it and I am looking forward to seeing how useful it is.

You might be thinking how crazy it would be to release buggy software, but you must understand that all software contains bugs. Why not let others find them for you. By releasing your software early, your users benefit greatly and therefore they remain happy. Another problem to overcome is programmer's ego. You have to be willing to take criticism of your work and make the best of it. By releasing your product there are probably more bugs than you would want, but the users are there to help you out. Occasionaly you might get an individual who tells you how crappy your product is and that you should give up. He isn't being mean, he is simply motivating you to keep up the good work.

Standalone applications are not the only ones that can benefit from this philosophy, but also websites. You should encourage feedback on your sites so that you may improve them. Do not look for the total redesign, but incremental improvements that increase the user experience. Most of the time it is the users who have to use your site and not you so why not listen to their feedback. The beauty with websites is that some changes take only seconds to do while others should not take long at all. I am never content with my designs, but I also understand that the product needs to get out sometime. So what I do is finish something that I can live with and then slowly let it grow and change over time.

I guess I should take my own advice and add that suggestion box to this site...

Comments

Post a comment










Remember personal info?

Tip: To post links type the url (e.g. http://www.google.com)