I spoke a few day's ago about the demise of the proof of concept and how it affects the delivery of robust solutions.
Well what about pilot's?
The pilot phase used to be where we would design and build a replica of the new solution's production system and test it. This testing would not only prove that the ideas we had in the design phase were feasible and scalable but also ensure that the users of our system could test it, get to know it and understand what they were in for. Of course this was a valuable early feedback loop to make sure we actually were delivering something that was useful.
At the end of the successful pilot this system would usually be downgraded and used as one of the build platforms for the eventual production environment. Once all the learnings were gathered and assessed the production build process would begin and we would construct the shiny gleaming new system.
Of course this only worked if we did a good job, just because this process was followed it didn't guarantee a success - there is no replacement for well engineered design!
Now I remember seeing all this excess as a youth and considered it enormously slow and wasteful. But what I didn't realise was the huge amounts of money that were at risk never mind the reputations of the staff who were building it.
Mmmmmm?
So what has happened since those heady days of planned and prepared projects - and those reputations?
What we do now is lash together an idea, give it a go and if it works we leave it. Admit it - how many pilot systems have you seen creep, usually by osmosis, into production. And of course once they are in and users are using them it's nigh on impossible to replace them with a proper system.
The only hope we have is that it becomes massively over subscribed and needs a rapid upgrade. Or more probably it never really worked how we, or they, wanted it to and it gradually falls out of use before it dies a sad and lonely death at the bottom of rack number 17.
There is another issue at work here and that is the ability systems have to exist in the complex worlds we have built.
If you're building a system today it rarely exists in isolation (wow what a thought that is?) and it is therefore forced to communicate effectively with the other production systems. Without this there would be no real testing. So once committed to the "real world" we might as well leave it there.
I would be interested to see how many organisations have the ability to carry a full version of their production environment in a lab as they did 20 years ago - even with the development nirvana now possible with virtual machines.
I guess another issue is who the hell would we get to administer it?

0 comments:
Post a Comment