Office 365 includes several tools that can be used to build things that traditionally would have been built as custom applications. Your boss may very well ask you, ‘Can we build ‘that’ in Office 365?’. What is your answer?
What options do I have?
We used to build web applications with .NET / MVC / Java / Angular / React / SQL and now Microsoft says we can build them with Office 365 tools such as SharePoint / PowerApps / Flow/Logic Apps / Azure functions / etc.
We used to build mobile applications with Xamarin / Android / Objective-C / Swift and now Microsoft says we can build them with Office 365 tools such as PowerApps / SharePoint / Flow.
This leads to a couple questions:
- Do these Office 365 tools really deliver enterprise-ready applications?
- Are the traditional tools still good options?
The answer to both of those questions is YES.
When would I choose Office 365 approaches and when should I choose a traditional approach?
The answer comes down to the cost vs. complexity curve:
- The cost of a simple application will always be less with the Office 365 tools.
- The cost of a complex application will always be less using the traditional tools.
What is this chart trying to tell me?
1) Office 365 costs less for simple solutions: The Office 365 option will cost less, a lot less. As an example, the hypothetical minimum Xamarin developed mobile application probably costs around $20,000. That gets you a single page/form application with a very small amount of functionality. The same application delivered as a PowerApp can be developed for under $500.
2) Complexity increases the cost of both solutions, but at different rates: The cost of the Office 365 options will increase faster than the traditional approaches. At a certain point, the cost curves will cross and the traditional approaches will become less expensive than the Office 365 approaches.
3) Quality of experience follows the same pattern: On top of the cost differences, there will be a quality of experience differences that will follow the same pattern. When the solution is simple, then both options will provide a good experience. As the complexity increases, the Office 365 solution will often become increasingly clunky and sluggish. Applications built with the traditional tools suffer from these issues at a much lesser extent, and the problems are often solvable with reasonable effort where they may not be in the Office 365 options.
What does Complexity mean?
When you are estimating the level of complexity for your solution, there are a number of factors to consider:
• Number of data sources, lists/tables/views
• Need for data relationships
• Number of fields
• Number of forms or screens
• Number and complexity of business rules or workflow
• Performance requirements
• Complexity of user interface
• Optional / required fields (Validations, Lookups / autocomplete, Relationships or interactions between fields in the UI, Special security)
• Look and feel requirements (Desire to use specific types of controls, Specific layout requirements, Corporate branding and style guide requirements)
• Mission critical – people need this application to do important job functions
If you simply want to surface some data to your users or do some basic data entry and workflow, then the Office 365 solutions provide a great low cost, easy solution. If you need more, be careful. You may need to go with the traditional solutions.
If it is a close call, you can look at it in one of the following ways:
- Long-term requirements: The requirements are not very complex yet, but it is the nature of applications that requirements often increase over time. If you are already pushing the limits of Office 365, you may want to start with the traditional approach even when it might be ok in Office 365.
- Re-platform if needed: You could acknowledge that there is a risk that the application may become too complex for Office 365. In this scenario, be prepared to re-platform to the traditional approach. The Office 365 version then becomes a disposable proto-type or proof of concept. If your application is complicated, mission-critical, or requires specific branding or look and feel, you are probably better off starting with the traditional tools.
With the rapid speed of new capabilities in Office 365, there are a number of exciting opportunities to build your applications with greater speed and agility. Of course, the challenge lies in determining what those options are and if they’re the right fit for your business requirements.