Software is easy
Software is easy
I just got reading "Dreaming in Code" by Salon co-founder Scott Rosenberg. Silicon Valley spits out a constant stream of self-inspecting books on high-tech. This book is probably one of the lesser valuable books in that stream.
The book tells the tale of Mitch Kapor's "Chandler" project. Along the way, it dredges up every bit of wisdom and superstition in the software engineering, such as open vs. closed, language vs. language, build vs. re-use, UML vs. agility, Hungarian coding, CMM, Brook's Mythical Man Month, etc..
The intent of the book is to prove the assertion that "software is hard", especially innovative software. However, they choose as their subject matter a failed project. The Chandler people found software hard because they were so bad at it. Creating new and innovative software is easy: start with a clear vision of what your 1.0 product looks like, then have a leader who drives it completion. The Chandler project had neither. Indeed, getting to 1.0 is generally the easiest part, convincing people to use your baby product is the hard part. Likewise, getting to 1.0.1 and 1.0.2 are painful, and getting to 2.0 is real tough as you realize that you are spending all your time fixing bugs for current customers while new innovators are designing their own 1.0s that will obsolete yours.
My own BlackICE project is a good example. It was new and innovative, and changed how the industry viewed the problem. Getting to 1.0 and wowing people was the easy part, but continuing to support customers and fend off competitors was the difficult long-term grind.
Anyway, it's the current "it" book in Silicon Valley, so you should probably read it to know what people are talking about,
