First of all there is technology itself, despite the years that have gone by, it still isn’t mature. A consequence is that the very foundation of solutions/ products are changing constantly. Delivering a mature solution has got quicker over the years, but the multitude of new hardware and software solution keeps on “resetting” the maturity of your products.
To help mitigate that, how developers do things has really improved:
- coding concepts
- methodologies
- conventions
- delivering small increments via Agile
CI/CD and automated testing
The most powerful improvements, though, have come from Continuous Integration / Continuous Delivery (CI/CD), and automated testing. These are paramount in enabling tech changes to happen in parallel to delivering the business needs.
The only way you can be confident that a small change has not caused a bug or unwanted side effect is by automated re-testing. That confidence is key to speed of change and delivery. Let the computers do the boring, tedious work and get the techies doing the things they enjoy.
Open source has matured
Open source has actually delivered on its promise to speed up software development, and allowed anyone to get started on complex solutions. However, even adding that into all the new technology capabilities, there is still a massive mismatch between that and user expectations of what tech can deliver and the reality.

