Wednesday, May 5, 2010

Dreaming in Code

Spent the day with my feet up, reading Scott Rosenberg's 'Dreaming in Code'.   http://www.dreamingincode.com.

This book covers the first three years of the Chandler project, http://chandlerproject.org, an ambitious project to build what it describes as "An open-source Note-to-Self Organizer." 





But this wasn't just any organizer they were building.  Chandler hoped to capture the spirit of Lotus Agenda.  It was led by Mitch Kapor, the founder of Lotus Development who originally created Agenda as a follow-up to his amazingly successful Lotus 1-2-3.  

There was (and still is) a desperate need for a good organizer.  The one that you use probably was intended as an email manager.

When Chandler was announced in 2002, this was big news - Chandler was going to challenge Microsoft, and follow Apple in changing the world.




The book's sub-title describes those three years a bit more richly - "Two dozen programmers, three years, 4,732 bugs, and one quest for transcendent software".

At the end of three years, there was no usable code.  The project limped on past the book's publication for another three years before finally grinding to a halt.




Rosenberg has written a useful, but fairly dry and academic review of the challenges of software development.  He has gathered the ideas of dozens, perhaps hundreds, of the key thinkers and advocates in the software industry - an eclectic mix of everyone from Donald Knuth to Alan Brooks to Scott Adams.  There is a LOT of name-dropping.

The story he tells is outrageous.  Absurd.  Unbelievable.  Every page has some outrage on it.  Dogs roaming the programmer offices and pissing on the carpets.  Endless long pointless meetings about, well, nothing.

Programmers with a grim determination to write every small component from scratch.  Designers with an equally grim determination to to boil the ocean on features.  A lax and tolerant culture where months could go by with no progress, where no schedule was ever adhered to.

But Rosenberg doesn't work up the energy or drama, he's too nice.  Too nice to Mitch Kapor, too nice to the Chandler programming team, too nice to our whole industry.



It's not just Chandler, the book covers the whole software 'business'.  For example, on a single page Rosenberg brings up the controversy launched by HBR's 2003 article "IT Doesn't Matter" (basically that IT was no longer a source of competitive advantage, it had become an irrelevant commodity).  

At the time, companies were happily forking over their entire retained earnings to SAP and blowing their brains out on implementations - just to get the same tools as the next company which was also implementing SAP.

No one could keep SAP programmers, they were poached as soon as they learned enough to be useful.   At least one Fortune 500 company went bankrupt trying to implement SAP.

I ran into a former colleague at the time, he had a consultancy specialty practice that provided companies over-running their SAP implementation budget with an analysis of how much trouble they were really in. 






I wish Tom Wolfe had written this book.  It could have been 'The Right Stuff', or 'The Painted Word'.  Or Hunter S. Thompson.  It could have been side-splittingly funny.

Chandler had drama, absurdity, and pain.  The Chandler team was articulate and colorful.  This was Gilligan's Island, the Flying Dutchman, and Waiting for Godot all wrapped into one.  But that book didn't get written.

'Dreaming in Code' is still a useful and worthy book for software managers, it gives a good overview of the challenges and a useful survey of programmer management over the last thirty years. 




Rosenberg gives a low-key anecdote in the handful of additional pages that were added to the paperback edition.   He was a fan and user of Ecco Plus, a powerful outliner that had run out of commercial steam,  he had used it to track his notes for this book.   He loved that program, and dreaded the day it would no longer run.

Out of the blue, a pair of hackers extended the functionality of Ecco Plus.  Over a few months, they posted dozens of updates and enhancements, and resurrected it - new, improved and better than ever.  It was a virtuoso display of open-source programming - casual, quick, efficient, and effective, what software development should be.    




Here's MY outrage about the Chandler 'Spirit of Agenda'.

The team used Excel for assembling feature lists, wiki's for organizing documents, Bugzilla for tracking bugs, blogs for recording their thoughts, Outlook for their emails, even sticky-notes on a whiteboard for grouping features by release.

All stuff that could have been, should have been done in Agenda.  Maybe with a few hacks, a little open-source cut-and-paste, a bit of midnight madness programming.  It would have been giddy fun.

That would have captured the spirit of Agenda.

1 comments:

quartz said...

I followed Chandler for a while but found it trying to go in too many directions at once - scheduler / list manager / repository
I love the idea that they should have tried to use Chandler for all the internal 'chandler' stuff.
How is your new agenda project going now? I have just loaded up agenda again on my Vista PC - need it to track some new projects - and intend to follow your lead and use a DOS emulator to enable it to run on a Asus EeePC701 Netbook running Linux (puppy, Ubuntu10.10 and JoliOS1.2)
twitter=ppmw