It takes a new approach to address the gap between the need for new software and the available developers and resources out there.
When I started my first company making software for the gas and power industry, we literally had to hard code every application we created; we spent countless hours writing custom code for apps that automated processes.
And I had employees working not just for development but also to maintain and provide support for these apps.
Things changed a few years ago when we pre-built some modules and began to streamline our code; I realized we could drastically simplify our development process and react much faster to demands from our customers if we had some pre-assembled components ready.
So we invested time on the side to automate our own processes and workflows. This led us to build a visual PaaS for creating and automating software without having to write complex lines of code.
Chicken and egg problem solved
The shift we took towards automation is a natural evolution which I like to compare to a biological organism in nature that replicates on top of itself, so that it can evolve and adapt to new conditions; in our case, market and requirements.
We will be building the components of the platform, which we named PROCESIO, using its own technology, for example we will build the backend processes with an in-house Process designer, the frontend UI using a UI designer, policies using a Policy Designer, APIs using an API Designer etc.
We even went a step further, we invented a generic mechanism that we call "stem cell services" which is a set of core services that are able to take any function based on plug & play logic that is injected in the generic service at runtime, in a similar way the biological stem cells work, allowing us to built highly versatile services that can change purpose on runtime.
This is important because it eliminates most of the needed code to create services and it also eliminates the need to specialize in services and containers.
What software assembly means for developers, business users, or makers
No-code / low-code can help with decentralization, democratization, and more options in general for everyone. Plus, it goes hand-in-hand with the principles of agile development.
For developers, assembling pieces of software together can be a time saver, allowing them to focus on more creative tasks so that they don't have to waste valuable hours in their day creating things such as a login screen.
They could opt to select the right tools or platforms that complement their code or script. And the tools that they will have in their portfolio are the ones that will best address their anxieties around customization, security, scalability, and vendor lock-in.
For non-technical people such as business experts, makers, or founders, the key benefit lies in the easy-to use visual interface and shallow learning curve.
No-code allows to manipulate elements and dictate business logic on the screen using a simple drag-and-drop UI and selection menus, practices and screens which are already familiar from other popular software apps on the market.
What it means for startups and enterprises
With the power to develop apps and automate quickly, startups can accelerate their growth at a scale that previously only enterprises were able to do, similar to the impact of cloud and APIs a few years ago.
In particular this impact will be big on (highly) niched businesses that find it hard to or can't afford to invest in traditional development for a tailored solution, but for which a good platform and automation are obvious needs.
In the enterprise space, software assembly can bring change on multiple fronts, from simplifying the prototyping process for new apps, to speeding up development, and enabling a closer collaboration between IT and business experts.
If developers normally had most of the say in how an application looked like, no-code changes this model and instead allows people from different departments to get directly involved in prototyping and creating the applications.
A business expert that previously used spreadsheets or clipboards can now bring his vision of a product to fruition himself. This also eliminates the discrepancies that came along with implementation when relying solely on developers.
If business experts can create their own apps, they have less need to look for software solutions outside the organization. This drastically reduces shadow IT and the implications of security risks and other potential disadvantages that come with working on external services, such as missing data and wasted money for duplicate services.
To wrap up..
The evolution of software development relies on making the development process itself more accessible, or more democratized. Not everyone is wired to code and it this should not even be expected.
It is not necessarily easy to adopt a new automation platform, but with a proper implementation and governance plan, it can be the key that enables a founder or a larger organization to move at the speed required by the market today, without breaking the bank.