Insights
Low-Code & Automation Oct 2021

Where Power Platform Makes Sense and Where It Doesn't

Power Platform can replace custom development for certain workflows. Understanding where it excels and where it creates technical debt is the key to using it well.

The Pitch Is Accurate, Within Scope

Microsoft's Power Platform pitch - that citizen developers can build business applications without writing code - is accurate for a real set of use cases. Canvas apps, Power Automate flows and model-driven apps genuinely allow people without engineering backgrounds to build functional tools that solve business problems.

The mistake is assuming that "no-code" means "no complexity" or that low-code tools are universally cheaper than custom development. They're not. For the right use cases, Power Platform is the right choice. For the wrong ones, it produces systems that are expensive to maintain and hard to extend.

Where Power Platform Genuinely Wins

Internal process automation with Microsoft 365 as the data layer

If the workflow lives entirely within Microsoft 365 - SharePoint lists, Teams, Outlook, OneDrive - Power Automate and Power Apps can connect and automate it without any custom code. The connectors are first-class, the latency is low and the deployment model is simple.

A maintenance request workflow that creates items in a SharePoint list, sends Teams notifications and generates Word documents from templates is a natural Power Platform use case. Building this with a custom Node.js backend and React frontend would take longer, cost more to deploy and require engineering involvement for every update.

Departmental tools with known bounded scope

Canvas apps work well for tools that have a well-defined set of users, a limited set of workflows and don't need to integrate with complex external systems. A store inspection app, a holiday request form with manager approval, a simple asset tracking tool for a facilities team - these fit the model well.

The key qualifier is "known bounded scope". Canvas apps become hard to maintain when scope creeps beyond what the visual design system supports cleanly.

Back-office management views on Dataverse

Model-driven apps are the most underused part of Power Platform. For internal staff who need to manage records, filter across large datasets and perform bulk operations, a model-driven app on a Dataverse schema is faster to build and easier to maintain than a custom admin interface.

Where Power Platform Creates Problems

Complex business logic

Power Automate flows represent business logic as a visual graph of actions and conditions. This works well for simple sequences. For complex logic with multiple branches, loops and conditional state - payroll calculations, multi-step approval chains with exceptions, anything involving non-trivial algorithmic thinking - the visual representation becomes harder to understand and debug than equivalent code.

The testability problem compounds this. Unit testing a Power Automate flow is not straightforward. Regression testing after a change involves running the flow manually and inspecting the run history. As logic complexity grows, this becomes a maintenance burden that custom code with proper test coverage would handle better.

High-volume data operations

Power Platform has delegation limits - SharePoint and many connectors limit record retrieval to 500 or 2,000 records per query in Canvas apps. Applications that need to work with large datasets hit these limits and require workarounds - pagination, aggregation at the data source - that partially negate the low-code productivity advantage.

Deep integrations with non-Microsoft systems

The connector library is extensive but not universal. Integrations with systems that don't have premium connectors require either a custom connector or a middle-layer API. At that point, the "no custom code" advantage is gone and you have a hybrid that's harder to reason about than either pure approach.

The Maintenance Question

The most underappreciated cost in Power Platform deployments is ongoing maintenance by non-engineers.

When a citizen developer builds a Canvas app, the knowledge of how it works lives with that person. When they leave, the app becomes unmaintainable. IT inherits an application with no documentation, no version control history and a visual programming environment that engineers find frustrating to work in.

Custom code has the same problem if it's undocumented, but the tooling for understanding and maintaining custom code - version control, static analysis, testing frameworks - is more mature than anything available for Power Platform applications.

The Decision Framework We Use

For any workflow automation or internal tool request, we ask:

  1. Does this workflow live primarily in Microsoft 365? If yes, Power Platform is likely a good fit.
  2. Is the business logic simple enough to express clearly as a visual flow? If not, custom code will be more maintainable.
  3. Who will maintain this after it's built? If the answer is "engineering", custom code is probably better. If the answer is "the business team", Power Platform keeps maintenance accessible.
  4. What's the expected data volume? If large datasets are involved, validate that delegation limits won't be hit before committing to a Power Platform approach.

The organisations that use Power Platform most successfully treat it as a specific tool for a specific range of problems - not as a universal development alternative.