Anything Worth Doing Is Worth Doing Poorly

Posted by Johan Cyprich on 29 Jul 2007 | Tagged as: Business

Why does most software suck? Is it because the software engineers behind it are incompetent? Or should we blame their managers for wanting to rush out products before they’re ready so they can make money for the shareholders?

A philosophy that many of us were indoctrinated in from an early age is that anything worth doing is worth doing well. This sounds like wise advice but its really self destructive in its consequences. People who believe this lie will work on things until they are 100% perfect before calling it complete and introducing it to the world.

The problem with software development, or even building large scale web sites, is that the system becomes so complex that its impossible to fully debug and remove all errors in the code. Its not just the source code programmers write that can have problems, the libraries their compilers use can be buggy, as well as the third party libraries they purchase. There may also be bugs in the operating system which affects the application. On top of all of this is the wide range of hardware and software that users have in their computer systems which can influence how a program can run.

Another problem when developing software is trying to implement all of the great features that you think your customers would want. Each feature takes time to program and debug. A common thing software companies do is try to match their competitors feature for feature. This is a great way to waste your resources and the results of doing this will only impress those who read magazine review comparisons of the software.

A good software developer would not wait until their application is perfect. It only has to be good enough to be accepted by their customers. This is not to say that software with serious bugs should be released. This is a great way to damage your credibility and could take years to recover from.

A product can be released early and then improved to keep the users happy. If the software is released too late, opportunities may be lost and your competitor may gain the market share that should have been yours.

A good example of this is IBM’s OS/2 operating system. The operating system was completed one year before the Presentation Manager (the GUI) was ready. IBM wanted to release OS/2 with the Presentation Manager so they delayed its release until it was ready. When it was released, Microsoft also released Windows 3.0, which was vastly inferior to the pre-emptive multitasking and rock solid OS/2 operating system. With the mighty Microsoft marketing machine, they eventually dominated the market and operating system war was over.

The funny thing was that at the time, no one was using Windows GUI or OS/2 GUI applications. All they wanted to do was multitask DOS applications. OS/2 would have been more than sufficient for this and they would have had a one year head start by the time Windows 3.0 was released.

Henry Ford had said, “Thank God for my customers. They buy my products before they are perfected.” Ford would have released OS/2 before it was ready and we would likely be running that on our computers instead of Windows XP or Vista.

When developing software, find out what your customers need and give them most of it in the first version. Add the additional features and fix bugs in later versions. Give them enough to keep them happy and make them happier with more features later. Build a relationship with them early and they will remain your customers for a long time.


Related posts:
    The Rising Canadian Dollar
    This Blog Is Worth $8468.10
    Canadian Dollar Soars Above U.S. Dollar
    WordPress 2.1

Share this post:

del.icio.us:Anything Worth Doing Is Worth Doing Poorly digg:Anything Worth Doing Is Worth Doing Poorly spurl:Anything Worth Doing Is Worth Doing Poorly wists:Anything Worth Doing Is Worth Doing Poorly simpy:Anything Worth Doing Is Worth Doing Poorly newsvine:Anything Worth Doing Is Worth Doing Poorly blinklist:Anything Worth Doing Is Worth Doing Poorly furl:Anything Worth Doing Is Worth Doing Poorly reddit:Anything Worth Doing Is Worth Doing Poorly fark:Anything Worth Doing Is Worth Doing Poorly blogmarks:Anything Worth Doing Is Worth Doing Poorly Y!:Anything Worth Doing Is Worth Doing Poorly smarking:Anything Worth Doing Is Worth Doing Poorly magnolia:Anything Worth Doing Is Worth Doing Poorly segnalo:Anything Worth Doing Is Worth Doing Poorly gifttagging:Anything Worth Doing Is Worth Doing Poorly

Follow Me:

Did you find this post interesting and useful? You can keep up to date on this blog by subscribing to my RSS feed, or you can have new posts sent to you by e-mail. You can also follow me on Twitter.


Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply