One great way to explain how automation will affect software development is using a taxi/bus analogy.
The idea of getting into a taxi and saying “I’d like to go to these 4 addresses in this order” is something we can all understand because the basics of driving are pretty much understood by all of us. You don’t bother yourself with all the small details like instructing the driver to go move forward and travel down roads, negotiate traffic, indicate when changing lanes or negotiating intersections, to pull over and stop when you want to get out. Writing software is somewhat the same thing.
You know you want to do a list of things and the order in which you want them to happen. The world of a developer isn’t always that different to that of a taxi driver!
I taxi driver knows to look up where they current are, look at where they are heading, plot a course and go.
A develop does sort of the same thing. They collect the information provided on a web page or mobile app, they’ll look for the database they want to store it in, copy the data over and save it.
It is possible your taxi ride will go wrong. The driver can get an address wrong, they can get the order wrong, or travel a very, very long way but ultimately still get the address and order correct.
Developers and software is much the same. A developer can read the information from the wrong webpage, website or mobile app; they can miss some information in the copy process, they can store it in the wrong database… even forgetting to save sometimes.
You know what you want to do and the order you want it done in. The problem here is a consistent one, that of communication.
With the taxi driver you might try to provide the instruction verbally and hope they write it down properly. You might provide them in writing and hope they can read your writing.
With a software developer you’ll probably do exactly the same thing, talk to them or give them something in writing… but at each step the developer is still going to have read something either you’ve written or they’ve written down during the conversation and then write it all again in code and also a third time in the database. Interestingly very few people pick up they it gets written more than once. In many cases the exact same thing is written 5 times in different ways.
One of several solutions to the taxi problem is one where you can use google maps, look up where you want to go and pick your desired route if there is more than one. Even changing the route if traffic conditions change. Your driver is now guaranteed to do what you instruct them to do, because all they do now is follow the instructions from the automated route calculated by Google Maps.
One of several solutions to the developer problems is again much the same. If you list the things you want done, the order you want them done in, and them give it to a developer equivalent of Google Maps for software – lets call it a Developer Adviser, then your developer now has considerably less to do and far less chance of getting it wrong. They now follow the instructions from the automated Developer Adviser.
Eventually the driver in the taxi will be replaced by a self-drive car which knows how to accelerate, brake, negotiate traffic, indicate when changing lanes or negotiating intersections or to pull over and stop when you want to get out. Our next generation software platform is doing the same thing for your software and developer.
There are limits to this. The taxi driver won’t load your bags, take you to an airport, check you in, security screen you, load you onto the plane, serve you food and fly the plane. Other people get involved, and your software is the same. The complex your software becomes and the more you want it to do, the more a developer will have to step in where automation doesn’t yet exist.
And this, in a nut-shell, is our platform explained for non-technical people.