Sunday, August 30, 2009

Worse is better

I was reading yesterday about Richard P. Gabriel's classic worse-is-better theory, which wraps a lot of related concepts, such as less is more, good enough is good enough, KISS, and YAGNI. The key intuition is that the more you try to perfect something by adding to it, the less perfect it gets -- so don't try to perfect it. Leave it imperfect, it'll be better that way. Worse is better.

Alas, worse-is-better goes against more entrenched philosophies like "correctness before efficiency" and "completeness over simplicity."

On a business level, it goes against the philosophy of give-the-customer-every-damn-feature-he-wants. It says let's leave a large number of ultimately unimportant features out, and concentrate on making the rest do what it's supposed to do.

A prototype or proof-of-concept that slam-dunks the desired functionality, but sucks at the code level because classes aren't cleanly factored, is an example of worse-is-better. Chances are, when the POC is later discarded, then reimplemented "correctly" by a team of GoF acolytes, it will morph into an overfactored, underperforming pig with unexplainable memory leaks and a hard-to-describe odor. (But hey, it'll scale.)

Is worse always better? Of course not. Better is, by and large, better. Just not in the software world, where "better" tends to take on unexpected meanings.


  1. Anonymous7:41 AM

    A man to my own mind. I adapted the slogan "Progress Before Perfection" about six months ago.

  2. You shouldn't forget though that this only applies to "better" as defined by "more functionality." Not to "better" as defined as "the same thing, but actually working."

    That's the problem with many PoCs -- they don't really work (...if only because they don't scale.) Actually building that functionality, but getting it to work is usually a painful experience (especially if you start by using the "working" code from the PoC.) I think the problem with a lot of PoCs is "but we already had it working, didn't we, so why are we spending time on this?"

    Likewise, I think "Progress Before Perfection" is a very dangerous slogan (sorry Brady.) Perfecting existing functionality to actually work is usually not seen as progress. Adding functionality, however, ís seen as tangible progress, even if nobody takes the time to make it work...

    So if you boil it all down, "worse is better" means "less functionality (but working) is better than more functionality (which doesn't work or isn't needed)." If you translate that, you end up with "less is more," but we already had that paradigm, so why not stick with it? :P

  3. Availing the services of the best movers packers Hyderabad prove to be beneficial in terms of expenses as well as ease of moving. They bring the packing material and equipment necessary to move your items safely.
    Movers and Packers in Gachibowli
    Movers and Packers in Kukatpally
    Movers and Packers in Chanda Nagar
    Movers and Packers in Manikonda

  4. You can forget your stress and anxiety with the help of best movers and packers in Hyderabad who take on the responsibility of shifting your household goods.
    Packers and Movers in Miyapur
    Packers and Movers in Sainikpuri
    Movers and Packers in Hyderabad
    Movers and Packers in Jubilee Hills
    Movers and Packers in Banjara Hills

  5. Indian Packers and Movers in Mumbai give packing and moving services like loading & unloading, packing & unpacking, car carriers, transportation, domestic &local shifting, international shifting, Industrial shifting, corporate shifting, Warehousing, etc. Packers and Movers in Mumbai achieve conceit in offering great packing and moving services at reasonable costs. We deal all types of packing and moving services in Mumbai and other main cities of India.
    Please Visit Our Website :
    Movers and Packers in Chembur
    Movers and Packers in Jogeshwari
    Movers and Packers in Kharghar
    Movers and Packers in Dombivli

  6. Indian Packers and Movers in Mumbai is the best packing and moving company in Mumbai. Of course, the credit goes to our hardworking team in Mumbai and world class infrastructure. Customer satisfaction is a great asset for the company. We appreciate the feedback of our clients that ultimately help us to improve. Indian Packers and Movers in Mumbai have a long list of reputed clients who assign their projects to relocate. We offer our customers all-in-one packing and moving experience with suitable & affordable moving and relocation or packers movers services. We offer our customers the best of the deals, highly competitive quotes, and availability of our professional Packers and Movers in Mumbai.
    Movers and Packers in Chembur
    Movers and Packers in Jogeshwari
    Movers and Packers in Kharghar
    Movers and Packers in Dombivli

  7. Indian Packers and Movers in Mumbai Provide Services Of Industrial Packing. We Can Transport Any Industrial Product. We Transport Machinery, Goods And Various Products.
    Packers and Movers in Vidyavihar

    Movers and Packers in Mumbai
    Packers and Movers in Ghatkopar
    Packers and Movers in Vikhroli
    Packers and Movers in Kanjurmarg
    Packers and Movers in Bhandup

  8. We are known manufacturers of modern classic chair. The designs are so attractive that you will be confused among which one to buy. Our products are well appreciated by top interior designers, esteemed customers and architects.
    Visitor Chair Supplier in Mumbai
    Chair Dealers in Mumbai
    Top Chair Manufacturers in Mumbai
    Best Chair Manufacturers in Mumbai

  9. Thanks for sharing your useful post to us . We are very happy to read it .Amazing post. I am so impressed.
    Web Development Company

  10. Event management assignment writing services are essential and they have become very popular for those seeking event management essay writing help services since most of them seek Event Management Writing Services.

  11. Get Shifting/Relocation Quotation from ###Packers and Movers Delhi. Packers and Movers Delhi 100% Affordable and Reliable ***Household Shifting Services. Compare Transportation Charges and Save Time, Verified and Trusted Packers and Movers in Delhi, Cheap and Safe Local, Domestic House Shifting @ Packers And Movers Delhi

  12. Packers and Movers Hyderabad Give Certified and Verified Service Providers, Cheap and Best ###Office Relocation Charges, ***Home Shifting, ✔✔✔Goods Insurance worth Rs. 10,000, Assurance for Local and Domestic House Shifting. Safe and Reliable Household Shifting Services in Hyderabad with Reasonable Packers and Movers Price Quotation @ Packers And Movers Hyderabad

  13. Fantasy Power 11 if you have a good knowledge of Cricket you Can play daily online ,live cricket games,
    cricket online games, best cricket games, play cricket online, cricket game online at best cricket games app for android phones to win real
    cash and amount to instant approve in your bank or Paytm wallet.
    cricket online games


Add a comment. Registration required because trolls.