What is the better development platform for enterprise digital projects? I had this question posed to me recently at a Mindset customer’s Design Thinking ideation session. So, I took a few hours at my favorite coffee shop (Rose Street Patisserie) and drafted this blog to give a few insights on this topic.
First, a few definitions and contexts.
SAP Fiori is not a development language, it’s a UX strategy. Fiori is the new user experience for all of SAP, and it includes three components:
- A bunch of apps (8,000+)
- A technology stack (OData on Gateway, Hana, Cloud, or other places + SAPUI5 or Swift / iOS)
- Design Guidelines
Many people use SAP Fiori to accomplish mobile application development because of its inherently responsive design.
.NET is also not a language, it’s a framework. Developed by Microsoft and running primarily on Windows. it includes a massive class library, language interoperability (a large number of languages can run on it), and provides many tools. You can also develop native mobile apps on Xamarin (which is now owned by Microsoft for iOS, Android, and, of course, Windows).
Both of these can be used to build things in the digital enterprise.
There are a few things to discuss though…
Packaged Software vs. Customized Software vs. Custom Dev:
I recently had the pleasure of hearing Jeff Lawson of Twilio/StubHub/AWS present at Mobile World Congress in Barcelona. He gave a powerful presentation on how every company is now a software company, and suggested we must all innovate or die. What a stark ultimatum! And while I get excited about the idea since I love creativity and software dev, I don’t really think every company should develop all of its own software (and I assume he didn’t really mean that anyway). I don’t think that Ford needs to custom develop a new accounting system, and I also don’t think that Pfizer needs to custom develop a sales platform. That’s why SAP and SalesForce exist. I think Ford should try to build the best cars, and Pfizer should try to make the best drugs.
Packaged software is great for solving problems that everyone has. It’s more economical to build a product once and share the cost of that across many customers.
What if a feature doesn’t exist while using packaged software?
You could beg and plead with that software company to provide it, look for an add-on product in the partner ecosystem, or you can take matters into your own hands. And, in my experience (15 years of large enterprise dev and advisory at dozens of the fortune 500), nearly everyone takes matters into their own hands and makes customizations — thousands of them. As business units (and the heads of those business units) try to streamline their business, they get a lot of ideas. And if they have money and influence, those ideas turn into features that are implemented into their software. They are supported, changed constantly (as the heads of those business units turn over), and then, years later, people forget about them, wipe them all out and start over. It keeps companies like Mindset busy!
So, what about custom development?
In the enterprise, people should focus on core competencies where the desired feature is a differentiator. If you are a service company and you can develop software that lets you deliver service that is higher quality at a lower cost, then build away. If you are an energy company, and you can develop software that more efficiently distributes energy, then build away. If you are a hotel operator, and you can develop a feature that results in higher occupancy, then build away. But I hope you will realize that every process in your company, from marketing to vendor management, billing, time recording and HR, is not really unique.
Okay… but isn’t this blog about Fiori vs. .NET?
It’s really about customization vs. custom development. Fiori should be customization, and .NET (or other things) should be used for custom development.
If you have selected SAP as your software, it’s a no-brainer: use it the way it’s intended, subscribe to the cloud and let SAP innovate on your behalf. If you need a new feature, use Fiori to build that. If you need to mobilize something in SAP, then use Fiori. All of SAP UX will soon be Fiori, so dive right in and use it for customization.
If you desire custom development, then you have endless options. The Microsoft ecosystem is certainly rich — Azure, .NET, Office 365, millions of developers, Visual Studio, extremely mature development tools, and so on. But you could also go to Google, AWS, or one of the Apache projects that are currently in vogue.
In any case, build something awesome and tell the world about it. I’ll be listening.
Contact Mindset Consulting Today
If you’re interested in chatting with Mindset about software or learning more about our SAP services, then be sure to shoot us a message today. We’d love to hear from you.