Writing code
Conventional systems development is based on writing code. You can do anything in code, but it is a slow process and difficult to do well.
Although the IT industry has created many improved programming languages and tools, these are nearly all still based on code and deliver only incremental improvements to the speed and ease of development.
We need a step change that delivers order-of-magnitude improvements in our ability to deliver solutions.
Don't write code – use data
You can speed up solutions delivery if you define solutions in data.
To do this, you need a specialised software engine that you configure with data to deliver a business solution.
For example, in business intelligence software, you develop new reports by entering configuration data, or metadata, to define where to get the business data from and how to show it. The engine uses the metadata to build the reports. You don't need to write any code, you define the solution in data. There are many different types of data-driven engine, such as business intelligence, process management, data visualisation, application integration, and so on.
Using data to create solutions has many advantages. It is much quicker and easier to build solutions, and easier to change. You can define solutions using the most appropriate concepts, through a tool that is tailored for building that type of solution. You use data to tell the engine what you want, and the engine works out how to do it.
The problem with data
A data-driven approach provides an order-of-magnitude improvement in development speed, but it has a significant problem: solutions are limited by the scope of the engine that supports it.
Real-world business problems require multiple types of solution, and solutions require the integration of multiple different engines plus lots of custom code for the parts that cannot be delivered through data. This complexity undermines the advantages of data-driven development. You might be able to deliver some parts of the requirement in a few days, but then spend months integrating the parts and writing custom code around it.
We want the advantages of data-driven development, but without the scope limitations. We want to deliver the whole solution in data in a single engine, to deliver the whole of a business project without integrating many different parts or writing a whole load of custom code.
Extensible data-driven development
Metrici Portal is a data-driven engine.
Unlike other data-driven engines, the Metrici Portal metadata can be extended to cover any type of solution – what we call extensible data-driven development. This works a bit like a compiler that converts a high-level programming language into low-level CPU instructions - it breaks down complex concepts represented in metadata (such as workflow mangement) into low-level metadata that the engine then runs. The portal comes shipped with multiple data-driven solution types which can be blended and extended to build a whole solution.
This provides the speed, ease and flexibility advantages of data-driven development, but does not have the scope limitations. You can build complex business solutions in data without having to integrate many different parts and without needing to write loads of code.
Meeting real-world challenges
Using metadata to model a business situation, and then driving a solution from metadata, provides solutions that are much more sophisticated than could be written in code alone.
The parts that every solution needs – such as security, user management and web services – are already baked into the platform, and apply automatically without any additional work.
This means that extensible data-driven development is quicker than code-based development and also provides richer and more sophisticated solutions to real-world problems.
Contact us to learn more about XDDD and how it can bring benefits to your organisation.