“As time goes on, the technology we use gets better.”
It’s something we all take for granted,
but it’s worth taking a moment to understand what this actually means,
because it’s not quite as self-evident as it first appears.
The simple interpretation is that "more time = better technology",
and generally, that statement is true,
but it also implies a constant, steady, and automatic increase in capability.
Looks pretty straightforward, right?
But as with most things, it isn’t really that simple.
Progress is far from inevitable, and while a result like that is possible,
it takes a lot of work to achieve.
In reality, rather than all things steadily getting better,
all technologies have an arc common to their lifespan:
they improve as they mature, they plateau, they stop being supported,
and then they go end-of-life and die off.
So just picking one theoretical ‘best’ platform
and riding that smooth upwards gradient off into the sunset isn’t really possible.
But you can get pretty close by switching from old versions to new.
As new versions and approaches emerge,
their arcs will be stacked on top of one another like this:
All you have to do is choose the best moment to jump from one arc to the next.
If only it were that simple!
Because just as if you were really jumping from one moving point to another,
choosing your moment well is going to be everything.
Now it might seem like the best point to make the jump
is going to be about here, where the arcs intersect.
But all software transitions take time.
So jumping right as the arcs overlap is going to be a bit too late
to gather the momentum necessary to tackle that slope.
But if you can start making the jump when your current platform has plateaued
and a new one is in it’s maturing phase - a gentle little hop down around here,
while you might end up with a slight initial drop in capability,
as the new technology gathers momentum,
you’ll very quickly accelerate past where you were.
And by keeping up those transitions over time,
you’ll end up with a rate of improvement that averages out to something
pretty close to that smooth, perfect gradient
we were looking to recreate in the first place.
Now, the essential phrase to remember here is 'situational awareness':
Being precisely aware of where you are on that curve
and what the curve you’re jumping to is doing.
Because no two curves are exactly alike, and as helpful as these graphs might be,
they don’t mean a thing if you can’t equate them
to what’s actually going on around you.
If, for example, you think you’re jumping from here
then the energy, angle, and overall nature of your jump is going to be
very different to if you’re jumping from here:
And if you prepare for the first jump then suddenly discover
you’re making the second...
Your jump isn’t going to go quite the way you expected.
Not only is that second jump going to be far more difficult,
but the resulting overall effect on your capability
is going to be pretty different too.
It also means that most of the time you’re going to end up using technology
which has already reached its peak and is beginning its decline.
It would be like buying a new iPhone on a one year contract in late August,
when the new versions are announced in early September.
This is an example of jumping at the wrong time
and unless you change something to sync your jumps back up with the market,
you’ll always be lagging behind.
And this is bad for a couple of reasons.
Firstly, your capability is going to suffer,
which has all kinds of knock-on effects
for your business’s ability to move forward and keep up with the competition.
Secondly, no one wants to be out-of-date.
Say your boss is going to give you a phone for work -
would you want a phone that came out 3 years ago or 3 months ago?
It’s always going to be the newer one, right? But why?
On paper, the older one has almost all the necessary features -
it sends and receives e-mails and texts, you can make calls,
you can browse the web.
but the latest apps and innovations aren’t going to work on the old versions,
because developers aren’t going to focus their energy
on making these work on old platforms.
If you’re comparing feature to feature, as we so often do in enterprise software,
the investment for the new version can be difficult to justify.
That’s because this kind of reasoning has very little to do with
the experience of the end user - the person using the phone.
And as it turns out, user experience is everything.
In the same way that you might argue
the old phone would make some things in your day harder,
your development team is unlikely to be enthusiastic about using
out of date platforms, but to an even greater degree.
These technologies can make up a huge part of their job -
they use them every day.
And when even the simple things are harder than they need to be,
the impact can be devastating, causing your team to disengage
and do the bare minimum necessary to complete their tasks.
Having the latest platform capabilities will inspire your development teams
to create all kinds of new innovations,
and using modern platforms will help you attract, encourage and retain talent.
As time goes on, the technology we use gets better.
This can be true, but it hinges on choosing the right time to jump the arc,
and doing that can mean the difference
between leading in the market, or following.