I rode the 1st stage of the Tour de France from London to Canterbury last weekend, with about 4500 other folks. 200kms, relatively (but cumulatively 1800 v.m) flat. I was vaguely unhappy with my time, but that was because I’ve not really trained consistently this year. It did take longer to drive back than it did to ride it, but that is London traffic rather than my speediness.
My friend Mark, on the other hand put in a few miles consistently, everyday; and did far better than he (and I) expected to. To succeed in any endurance sport, you need to adjust your life to include regular training. A little, often is a whole lot better than a big burst every now and again. (unless you are Jeff Jonas)
What does this have to do with software?
Quite a bit, if only metaphorically.
Building great looking and user centric enterprise applications can’t really be done in bursts. If every few years you sit up and say whoops the GUI looks dated lets fix it, you are doomed to play catch up.
This is similar to going out and buying a new wheelset, frame or seat, it will make you feel better and improve things slightly, but in six months’ time you will open the cycling magazine and see something lighter, cooler and more expensive. Then on the road some guy on a 15 year old bike will drop you anyway. (Trust me I know)
There are no short cuts to success in endurance sport. It takes a long term commitment. Start slow and build up. Once you have a strong base, you identify your weaknesses and work on them. Once you know your body, analyse and listen to it . From that you can apply periodisation and tune the diet. With the right approach you are able to persuade your body to innovate itself, to adapt, to continuously improve. And then you can invest in the equipment to give you the edge.
So, for enterprise applications, focus on the design. Work regularly with the users, not in a vague way, but as part of a detailed plan. Make the user part of your life. From a base of good design, you will be able to leverage whatever new technology and techniques come along. You will be able to assess them from a position of strength, and pick the ones that work best for the job at hand, not because it is the latest fashion.
In cycling, if you have a strong base, you are in a better position to experiment and innovate, be it with equipment, diet or technique.
A concrete example of this would be to compare Lance Armstrong and Jan Ulrich. Ulrich was probably genetically stronger than Armstrong. But Ulrich partied through the winter, and then had to go on a panic caloric deficit plan just before the tour. Armstrong, on the other stayed in shape all year, and could spend the time before the tour fine tuning his technique, mental preparation and specific, stage level preparation. (more here)
I won using hard work, single minded devotion to a goal, dedication, exhaustive preparation and training, physiological and mental advantages, pain and suffering, innovative technology, teamwork and sacrifices that came with a price in my professional and personal life…
If a software company has a strong design led focus, it will be building applications that users want. From this position of strength it will quickly be able to assess, exploit and even invent new techniques of user interaction, in other words, innovate. If not, it will be jumping from fad to fad. Blown off the back of the peleton.
We can all learn a lot from Lance Armstrong.