To schedule an appointment or find out more about the services we offer, please call +1 425-281-6548 or send us an email.
Or use our contact form.
Read all news and events.
Follow us on Facebook:
October 25, 2013
Back in 1998, the head of all infrastructure at Chemdex/Ventro, Mike, asked me in his usual straight talk “Why the hell do we need so many computers to run our market places, and why is this thing so complicated for doing something so simple?”. I remember making some answer on the cost of computing being cheap compared to the cost of development, blabla, but what this question pointed out is that we had failed to keep it simple. The story of what we were trying to achieve was simple, match buyers and sellers needs, but the solution we built had become complex to the point of being unwieldy, we were adding more crutches to keep it going, the team felt like they had lost control. Not good.
Two days ago, a study was released on brain function, reporting that we need to sleep simply because our brain needs to clean up all the toxins accumulated during our waking ours. The paper explains that the clean up process takes a lot of energy, and the brain cannot both eliminate toxins, and process information at the same time. This is why we need to sleep. Centuries of mystery around sleep evaporated in one paper. Super simple.
Of course the mechanics by which the brain will go about cleaning up, and the biochemistry, that goes along with this is ultimately very complex, yet it can be summarized in a simple story that we can all intuitively relate to and embrace. Keeping things simple doesn’t mean building simple things as those may not have a lot of value, but keeping the principles by which those things are built and used sufficiently simple that at all times they can be understood by all our team members.
Examples of simplification abound and unsurprisingly they are at the heart of fantastic successes. If you ever visited a Tesla Motors show room to see the chassis of their new cars, the design of this car makes any of the combustion engine cars formidably complex. Again there is tremendous complexity and innovation in Tesla cars from batteries to engine and control mechanism. The software driving those cars is itself extraordinary in its ability to optimize all those systems turning complex into simple. The list goes on: Apple devices, SpaceX launchers, Google Search, Twitter 124 characters, all embody simple design principles and interface encapsulating vast amounts of complexity.
Simplicity acts at all scales, and any of the examples we have used illustrates this point. You start with the top story: iphones are so simple to use that they do not require a manual. The brain requires sleep to eliminate toxins. This immediately begs the next question so how does this work exactly? Yes it is simple on the surface, but how complicated does it get once you get beyond the surface? So, you go to the next level and there, again, are simple explanations for how things work which gets you to the next level and so on. The fact that we are able to build incredibly complex things yet keep them very simple, speaks to the fact that all the way along, as we build things up from components to widgets, each of the component needs to remain simple, encapsulate its behavior in a simple interface, which in turn will work with the next things to contribute to a simple aggregate and so on. This means that to keep your project simple, the key is to decompose it into simple components each delivering its value with a simple easy to relate story, and driving this simplicity deep into each of the components you are assembling.
So why are our IT projects so complicated? I would propose that this is because we do not spend enough time simplifying them. Simple is very hard. Simple takes patience, discipline often courage to emerge from chaos. "True simplicity is, well, you just keep on going and going until you get to the point where you go, 'Yeah, well, of course.' Where there's no rational alternative." Jonathan Ive, September 19th 2013. I would argue that our IT projects are complicated because we do not take the time, energy and discipline to make them simple. Without going to the extreme Jon Ive suggests, how many time have we seen projects get overburdened with requirements, losing track of the original design objectives, or simply becoming so complex that it felt like a runaway train. Mike felt that, we all felt that.
Is this simple enough? Does everybody get it? Is there anyway we can make this simpler? I would argue that asking ourselves and our teams this question at all levels of our projects from the executive objective, all the way down to the software and hardware components is probably the easiest way to make sure we are all connected to our projects, focusing on the best possible outcome and making our projects successful. Keep it simple…..