Why Software Projects Fail, part 5

Reason 5: Needless Complexity Crowds Out Simple Functionality

I consider this the flip side of the “fad of the moment” disease. Google Wave: Gotta Get It! AJAX: Gotta Have It! Oh cool, Google released Google Gears. Let’s build our site around their Javascript libraries!

Except that Google has dropped support for Gears, in favor of the functionalities provided by the incoming HTML5. Wave pretty much passed us by. And hardly anyone pays attention to the X in AJAX: XML.

One new site design was the result of “design by committee.” An administrator was determined that the site should have a scrolling banner on the home page. Another really, really wanted rounded corners. A third insisted that the design include hot-air balloons. Don’t even get me started on the roadrunners. (Remember, I’m in New Mexico.)

The fly-out menus (courtesy of Dojo) worked pretty well, though browser differences made text alignment an issue. “Spreadsheet” tables (by Livegrid) were more of a problem, and bothered about as many users as they made happy. But the true time-sucker was the so-called “site editor.”

Once upon a time, each site could enter a brief text description of their services. And it was good.

Until it wasn’t good enough. “Can’t we have,” someone asked, “a picture?” Which seemed pretty harmless, until someone else wanted *two* pictures, which prompted someone else to want THREE pictures. “And can’t we have a longer description? And can’t we format text, and paragraphs, and all that stuff?”

Pretty soon we’d implemented an FCK Editor interface for the site editor, and pre-built several templates to accommodate various numbers of pictures, and picture storage and resizing.

We implemented webDAV for uploading photos, implemented SSL for the logged-in areas of the website, held trainings for users at our main site and visited lots of remote sites.

We hired a photographer to get some quality images. We set up user accounts and administrator accounts, and a whole authentication/authorization operation.

We spent months on this stuff. Program sites now had a very pretty place to set up their site descriptions.

But then a high-level stakeholder remembered to ask: “What about the basic purpose of the website? Do we have a credential-tracking system in place?”

Oops. Uh. Well. No, but we have this really great site editor ….