The Corporate Bikeshed
Posted on June 26, 2015 in life and edited on December 27, 2017
I was recently re-reading Poul-Henning Kamp's original bikeshed email right after asking this major and critical question: which of the two following syntaxes should we use in Umbraco's unit tests:
1. Assert.That(list.Count, Is.Equal(2)); 2. Assert.AreEqual(2, list.Count);
and wondering how many hours we could waste on that topic. Read the article if you are not familiar with the bikeshed story. In a few words: the less important the decision, the more time we spend discussing it.
And then... that email contains the following paragraphs:
Parkinson explains that this is because an atomic plant is so vast, so expensive and so complicated that people cannot grasp it, and rather than try, they fall back on the assumption that somebody else checked all the details before it got this far.
A bike shed on the other hand. Anyone can build one of those over a weekend, and still have time to watch the game on TV. So no matter how well prepared, no matter how reasonable you are with your proposal, somebody will seize the chance to show that he is doing his job, that he is paying attention, that he is here.
That got me thinking1.
For years I have been trying to explain to customers that building a reasonably-sized corporate website is no rocket science anymore. I mean, coding a game and getting all the rendering, multi-threading and AI right, that is difficult. But putting together a random CMS and creating views... simple. They should focus on content and message and design, not on the technical part of it.
And suddenly that CEO guy wants the article's subtitles to look slightly more "fatty" and that should not be difficult really, his son just put together a website for his football team over the past weekend.
We have created a monster
The corporate website is the über-bikeshed project that every member of the Board wants to be involved with.
They just signed off an obscene amount of money to Oracle to upgrade to version U-11-AAA89-PLUS of the database cluster blade server something... and before that, they've spend hours in a strategy meeting deciding whether to merge business units Alpha and Bravo and deciding what ROI to expect...
And deep within, making decisions on things you do not fully understand, based upon assumptions, weighting risks... it has to be frustrating.
And here you come, not even wearing a tie, with your entertaining website project! Now they need to tell you that the title should be 2 pixels to the right, and that the green is slightly too greenish. It's like having control again! How many late-evening meetings seem to last forever because of that senior exec who is reviewing every little details, his eyes shining like those of a young boy opening his electric train set box under the Christmas tree?
What can we do?
Should we turn website projects back into something "so vast, so expensive and so complicated that people cannot grasp it"?
Building a Corporate website is a horribly complex thing, really. Free and open source software is a myth, of course you cannot really use them without subscribing to a support plan, the price of which depends on enough factors that you will never understand how it is calculated. The only way you should get support is by calling a number in India to get a support ticket, and...
Bah... no. In the end, it is all nice images moving on the screen, and just anybody can have opinions about images. We need to be very creative and come up with radical, agile ideas to manage Corporate customers.
True story: with this customer, we never ever used colors until the very last days of the project. Sure, we received colorful PSDs from the design group, but our HTML was all black and white, including the images2. Everything. Meaning: there is still some work to be done—and no small work: every page still needs to be colored. Not a simple thing.
How do you manage your corporate projects?