A question I get asked a lot is: why use OutSystems to build web and mobile apps connecting to SAP? Especially when SAP lets you use Fiori for free as part of its regular license fee. There are four main reasons why:
- Total Cost of Ownership
- Software Architecture
In case you are not familiar with OutSystems, watch this 2-minute video to bring you up to speed:
Total Cost of Ownership
Fiori is indeed part of the SAP license, and using OutSystems requires an extra license to be purchased. But in the end it is actually cheaper to build in OutSystems than it is to build in Fiori, when you compare total costs, and your TCO during the lifetime of your application will be much lower:
- It takes significantly more time to develop in Fiori, because you need to resort to scripting quite a bit.
- Because there is a lot of scripting, it is harder to maintain.
- It is expensive to integrate with anything more than a single SAP system.
But, reducing the discussion to cost only is way too limited. The real question you should ask yourself is: what is the vision on my company’s future technology landscape? Your web and mobile development platform should be an integral part of your digital transformation vision in a fast-changing world.
Some companies have an ‘only SAP’ strategy: if SAP has a solution for an IT need, then the company will buy that solution, regardless whether there are better solutions in the market. The idea is that having one vendor for your solutions will ease integration and ease outsourcing maintenance. There is quite a lot to be said against this strategy, but I will not go there here.
Other companies are embarking on a digital transformation journey, aiming for a stable ERP core with minimal customisation, surrounded by cloud-based solutions that work plug-and-play (more or less) and can be replaced by another solution fairly easily. These companies already have non-SAP solutions like Salesforce running.
When you integrate multiple solutions from multiple providers (SAP, Salesforce, ServiceNow, e.g.) into a new application, you do not want to be dependent on the development platform of one of these solutions, in this case SAP. Instead, you need an independent development platform that aces at integration, and has a vested interest in keeping its platform the best one in the market. This vision – independency from solution vendors (SAP or others) for your application development – is key to having the freedom to digitally transform you business and develop without constraints or lock-in.
The above picture only shows a small portion of the solutions OutSystems integrates with using low-code and this collection is growing. Fiori, on the other hand, does not have a low-code ability to integrate. Instead, integrations need to be coded.
Fiori development can be manageable when you are building smaller solutions with limited integrations. But what if you are building large enterprise-grade applications that integrate with many systems, can you design and build these in Fiori? The answer is yes, ultimately, but not without sacrifice: it will be hard and expensive to build, and it will be equally hard and expensive to maintain and extend.
With OutSystems you can build such large solutions without sacrificing maintainability and extensibility. OutSystems is built for reuse and allows you to design modular software with separate layers (f.i. integration, database services, business functions and frontends). You can also reuse cross-application: for instance, you will build a module for Azure AD Single Sign On once and reuse it in all relevant applications.
OutSystems keeps track of dependencies actively. There are several tools that help manage application architecture, like the Architecture Dashboard.
The Architecture Dashboard helps keep grip on all developments, which is especially useful when you have a lot of applications built in OutSystems. What’s more, the dashboard gives granular insight into the health of your apps and adherence to OutSystems best practices, and will even report on the technical debt that your projects are accumulating.
Fiori has nothing like this in its offering.
OutSystems outperforms Fiori on mobile and web screen and interaction development on all fronts, there is no discussion on that. On the frontend development side, OutSystems beats Fiori at:
- Pixel-perfect low-code web screens and interaction
- Pixel-perfect low-code mobile applications, native or PWA
- Mobile offline capabilities, built right into the platform
- Tools that help you accelerate your development, like Experience Builder, Case Management and Integration Builder and the availability of several template screens to kick off development
As an independent development platform, OutSystems can only survive and keep being relevant by being the best in the market. New features are added to the platform continuously, like AI assisted development. SAP does not have the same inherent drive: it is an ERP software company primarily and a web development platform secondly.
Building web and mobile apps in Fiori is not just more expensive than it is in OutSystems, OutSystems is a much more complete development platform that Fiori can’t rival. But that is not the whole story. From a strategic point of view, the real cost is that choosing Fiori will limit your future flexibility, agility and your ability to respond rapidly during disruptive times.
If you want to have an in-depth discussion on this, please reach out to me.
Roy van de Kerkhof