Business processing has evolved from being
- Done by humans, to
- Hardware, to
- Machine code, to
- Compiled, to
- Intermediately compiled, to
At each step of evolution these systems becomes more and more interconnected. Isolated mainframes evolve into micro-services that run on mobiles and the cloud.
As the cost of implementing each component falls so does the need to invest in their planning and design, until you almost do not want to do any at all. This ‘suck it and see’ approach, where the implementation is the prototype, and is eventually the published design, often gives the best results as experience is a valuable form of design feedback. This reductive agile process is like chipping away at a piece of marble in comparison to an additive one when working with clay.
This approach interestingly was done with great success by Russian rocket scientists with a fraction of the budget of the Americans. E.g. plans for an efficient N1 rocket motor from the design bureau, only worked when the build engineers played with the designs, once perfected the design was sent back to the design bureau. Although the rocket never went to the moon, the motors were successfully used decades later by the Americans.
This counter-informative way of doing things motivates developers as they can just get on with doing what they love: turning requirements into living code. It results in smaller teams and depends less on software architects and project managers, in exchange for a more direct dialogue with the owner themselves.
Having said that if anything went then there would be anarchy, so some simple standards are required. Code quality, agreed methods/interfaces for communicating between components, code reuse of standard sub components e.g. logging, database connectivity, email etc. The number of rules need to be simple, clear and wherever possible automatically checked. Scientist have found out that fish follow very simple rules to work effectively in a shoal, the same goes for micro-services.
Software development undergoes waves of what is fashionable and certainly what is coming out now is a breath of fresh air. However what is popular now will be as trendy as my father’s flares in a few years’ time. Or come full circle… perhaps I should be thinking of investing in some bell bottoms!