Struggling to decide between custom building an application or building it on Power Apps?

Every corporation has many internal business processes but not enough people and resources to improve or digitize them. Enter Power Apps, with its no/low code platform, to empower every employee and citizen developers to have a crack at improving their own business processes. Power Apps is a great platform to digitally transform your internal processes, especially if you want something quick and have no access to pro developers. Based on a 2021 Total Economic Impact™ Study commissioned by Microsoft, using Power Apps and other tools within Power Platform yielded the following business benefits:

Reduction in Application Development Costs: 48%
Return in Investment: 502%

However, when you have more complex use cases, the lines become a little blurry. Should I still use Power Apps or consider custom building? If I use Power Apps, should I use Canvas Apps, Model Apps or Power Pages? Which is the right choice? Should I develop in-house or get a professional Power Apps vendor? Those are the questions we hope to shed some light on in this post.

TL;DR: For small-medium complexity projects, Power Apps is a great choice. However, for the most complex ones, you are potentially better off custom building your application.

Use the matrix below to see which option to take:

Decision Matrix

First, determine the complexity of your use case based on the factors below, and add up your complexity scores.

Factors Score +1 Score +2
Score +3 Your Score

No. of pages
How many screens do you envision your solution having?

1 to 3 4 to 10 More than 10  

Amount of data
How much data are you expected to store and be able to search and retrieve upon request? 

1 to 100 rows 100 to 2000 rows More than 2000 rows  

No. of user roles
How many user roles are needed in this solution? Usually, 1 for admin user and 1 for end user

1 to 2 3 to 6 More than 6  

UIUX Requirements
How much do you and your end users care about how polished the UI look like? 

Not important Important Crucial  

Integration Types
What connections do your solution need? Are these connections available on Power Automate?

Within Microsoft ecosystem (SharePoint/Dynamics
365/Outlook/Teams)
Need to use 3rd party connectors

Not on Power Automate, need to build custom connector

Or

Need to use Power Automate Desktop RPA

 
     

Total

 

After adding up your scores, which will be from 5 (simplest) to 15 (most complex), determine whether your end users will be internal facing or external facing, and see your result:

Complexity Score 5 to 7 (Simple) 8 to 12 (Medium) 13 to 15 (High)

Internal Facing 
Your end users are all within your Azure Active Directory, and will not be open to external users even in the future

Power Apps (Canvas) – Self  Power Apps – Outsourced

Power Apps – Outsourced
Or
Custom Build

Public Facing
Your end users can be both internal users and external users who are not in your business.

Power Pages Custom Build Custom Build
  • Power Apps – Self: You should be able to build this yourself or with a small team with little or no prior knowledge to Power Apps
  • Power Apps – Outsourced: You should engage a partner or vendor to build this solution on Power Apps
  • Custom Build: You should engage a partner or vendor to custom build this as a cloud native web application
 

Example 1: Room Booking Portal

Use case: An online portal to enable internal employees to book meeting rooms

Booking APP

 
Factors Your Score Remarks

No. of pages
How many screens do you envision your solution having?

2 pages:

  • Booking form page
  • Confirmation page

Score +1

Assuming upon submission of booking form page, user will be redirected to a confirmation page

Amount of data
How much data are you expected to store and be able to search and retrieve upon request? 

Rooms: less than 100 records
Bookings: 100 to 2000 records
 
Score +2
Assuming SharePoint is used to store data and bookings-related data older than 3 months to be archived or deleted

No. of user roles
How many user roles are going to use this solution? Usually, 1 for admin user and 1 for end user

1 role: end user

Score +1

Assuming end users will use Power Apps, admin users will use SharePoint to perform administrative tasks

UIUX Requirements
How much do you and your end users care about how polished the UI look like? 

Important

Score +2

Assuming UI needs to be intuitive and must comply with branding guidelines (colour theme)

Integration Types
What connections do your solution need? Are these connections available on Power Automate?

Within Microsoft ecosystem (SharePoint/Outlook)

Score +1 

Assuming solution will need to look up availability of rooms by reading data from SharePoint and sending email confirmations
Total Score

Final Score: 7
Power Apps (Canvas) – Self

You should use Power Apps (Canvas) and you should be able to build this with an in-house team. However, as it is borderline medium complexity, so you might consider reaching out to a vendor to build this. 
 
 

Example 2: Legal Document System

Use case: An online portal to enable all internal employees to send documents for Legal Department’s review and approvals, and storing a copy of the document digitally

 

legal doc app

Factors Your Score Remarks

No. of pages
How many screens do you envision your solution having?

More than 10 pages:

  • Home page
  • Document search page
  • End user request form page       
  • End user status tracking page
  • Legal approve request form page
  • Legal
  • Admin settings page
  • Audit trail page
Score +3
Assuming upon submission of booking form page,
user will be redirected to a confirmation page

Amount of data
How much data are you expected to store and be able to search and retrieve upon request? 

Documents: More than 2000
Approval status: 100 to 2000

Score +3

Assuming SharePoint is used to store data and bookings-related data older than 3 months to be archived or deleted

No. of user roles
How many user roles are going to use this solution? Usually, 1 for admin user and 1 for end user

More than 10 roles:

  • Admin user
  • Legal user
  • Audit trail user
  • End user x 8
    • Assume there are 8 departments, and each department can only view their own departments’ documents

Score +3

Assuming end users will use Power Apps, legal users need to use the same Power Apps to approve documents and admin users will use also use Power Apps to perform administrative tasks such as viewing audit trails and setting other configurations. 

UIUX Requirements
How much do you and your end users care about how polished the UI look like? 

Important

Score +2

Assuming UI needs to be intuitive and must comply with branding guidelines (colour theme)

Integration Types
What connections do your solution need? Are these connections available on Power Automate?

Need to use 3rd party connectors

Score +2

Assuming solution will need to send DocuSign/Adobe Sign approvals to various approvers, and send reminder emails when approvals are not actioned
Total Score

Final Score: 13
Power Apps – Outsourced
Or
Custom Build

You should outsource the development of this app to a vendor. You are recommended to consider using Model-driven Power Apps for a more performant UX due to a high amount of data access and easier role-based access control.

You can also consider custom building this as a cloud native web application from scratch due to its complexity. More considerations on Power Apps vs Custom Build below. 

Complex Power Apps vs Custom Build

Here’s some the factors you should consider whether to build your complex solution using Power Apps or custom building as a cloud native application.

Factors Power Apps Custom Build

Parallel Development
Enabling multiple developers to work at the same time will drastically speed up development timelines

Usually, only 1 developer work on a Power Apps app at a time. However, you can consider having multiple developers each building their own Components separately and inject them into a parent app.  Traditional software development allows multiple developer to work at the same time, in a well-established
framework
. (Git branching, etc)

Application Lifecycle Management
Releasing new versions to Production environment and having automated testing to ensure every release and version update is well-tested, preventing chances of new bug fixes breaking previous features

In Power Apps, there is a feature called Environments where you can separate Power Apps & Power Automate environments, but it is only supported for Dataverse but not SharePoint data sources. There is another standalone testing feature called Test Studio where one can run step by step UI tests for Canvas Apps (not for Model-driven) but these two are not integrated together. These features are still in their early stages and has limitations that one must overcome to get them working properly. Traditional software development has well-established Continuous Integration/Continuous Deployment (CI/CD) frameworks, allowing you to run unit tests & security scanning before deploying to various environments. There are also many industry-leading tools to do so. (GitHub Actions, Azure DevOps, Bamboo, etc)
UI Customisability
Enabling developers to build the solution with the UI to as closely resemble to the UI wireframes and designs
 
In Power Apps, one is limited to the UI widgets that are available out of the box. One can develop using Power Apps component framework and inject custom UI widgets into your apps. (TypeScript skill is needed for this) Overall, it is still difficult and not straightforward to have your own custom UI widgets (especially if you have a very specific and unique UI, e.g Calendar Booking View). Traditional software development gives you full control and access to all source code, giving one full flexibility over the final UI result.
Infrastructure & Maintenance
Optimising licensing and cloud hosting costs versus people costs 
In Power Apps, one does not need to manage any cloud infrastructure, so there are potentially less security and scalability issues as they are managed by Microsoft. One only need to pay the corresponding license fees to Microsoft. Traditional software development requires skilled personnel to design and implement a scalable and optimized cloud infrastructure to host the application. Skilled personnel are also needed for the continuous upkeep and maintenance of the cloud resources.
 

Still not sure?

Reach out and book a free consultation with our experts and evaluate whether Power Apps or custom building is the right choice for you. 

Telstra Purple is Australia’s largest technology services business and is a consultancy and systems integrator arm of Telstra, with major presences also in Singapore, Hong Kong and the UK. Telstra Purple is an award-winning partner of Microsoft and is a gold partner of AWS, with deep expertise across Cloud, Modern Workplace, Design, Software Development, Data & AI and more.