For the last couple of weeks my wife has been trying out an electric pedal bike, as part of an environmental scheme to promote awareness and—it is hoped—adoption. Electric bikes aren’t as eco-friendly as traditional pedal bikes, of course, but they are much more so than cars (even electric cars) which might be used instead for many journeys.
Ostensibly the reason for the trial was to see if the intrinsic aspects of the bike worked well: could she use the controls effectively, did it have the mileage one might hope for, did the ride (steering, pedalling, etc) feel comfortable, and so on. What surprised me was the depth of discussion about the unexpected extrinsic aspects of owning such a thing.
As soon as we had (quickly) established the good experience of riding it, we got into much wider, more practical questions: An e-bike is very expensive, so how could we keep it secure? Where would we store it? It’s very heavy, so how would we transport it? How could we ensure good maintenance and longevity? The answers to these questions were much more complicated and various than the answer to the initial question (“Yes, I like it.”). They also added to the overall cost.
All of this was a good reminder of the unexpected complexities of choosing and adopting a new technology or technical approach. If we want to consider a new database, hosting service, testing framework, architecture, etc, then it’s very easy to look at the checklist of features from the vendor, and it’s fairly easy to test that those features really do work as advertised. But, as I’ve said before, technical decisions have business consequences and social consequences. Most of the time many of those peripheral variables are unknown. We need to make ourselves as aware of them as we can before making any decisions that will be expensive to roll back.
How do we do that? Well, it’s a matter of managing uncertainty. There are plenty of techniques and approaches that we might use. Three that come to mind are:
- trying out the approach in a realistic a way as possible;
- researching other people’s experiences;
- implementing it incrementally, which uncovers real experiences without costing too much.
In any event, an important first step is to be aware that those peripheral variables will be present… and often unknown.