About Me

I'm just someone struggling against my own inertia to be creative. My current favorite book is "Oh the places you'll go" by Dr. Seuss

Thursday, April 9, 2009

Something I've learned

When it comes to huge complicated things like software, it is almost always better to build on previous efforts than to try to demolish those previous efforts to start from scratch.

This is best encapsulated in the following quote, via Daring Fireball


“A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system.”

—John Gall

2 comments:

fujifan said...

Okay, what do you do when you have a complex system that *kind of* works that evolved from a simple system that *kind of* worked?

What if you can envision, bright, shiny and beautiful, exactly what you would do with a clean slate + hindsight, but have no idea where to start when your hackles are raised just thinking about facing the semi-functional complex system gunk?

Breton Slivka said...

Resist the urge to start over from scratch, and instead try and evolve it into the system you want, piece by peice.

Or start over from scratch, but name it something completely different so people don't have unrealistic expectations about how much it can do. Note, for instance, that the iphone, and now the ipad has completely changed the tone of human computer interaction, but the only way it could gain broad acceptance was to call it a phone- So it does more than a regular phone does, which is great- Instead of trying to market it as a computer that does fewer things than your desktop or laptop.