Low-code versus pro-code in Microsoft 365: how Power Platform rose, and how AI coding agents are reshaping the trade-offs

The low-code wave and the "citizen developer" promise

Low-code/no-code platforms rose on a simple thesis: the demand for business software (forms, workflows, lightweight apps, departmental tools) outstripped the supply of professional engineering time, so organisations needed a way to deliver "good enough" solutions faster, with guardrails, and with more direct involvement from business users.

This wasn't only a Microsoft story. Industry research and commentary in the late 2010s framed low-code as a major shift in how enterprises build software, often citing predictions that low-code would become a large share of application development activity. In parallel, analysts consistently described low-code as a speed lever that can "empower citizen developers", while also warning that hype and mismatched expectations can cause disappointment if governance, suitability, and long-term costs are ignored.

Within Microsoft 365, the "citizen developer" narrative became central to how Microsoft positioned its Power Platform era: visual tooling, templates, connectors, and shared services were meant to enable non-developers ("makers") to build and automate, while allowing pro developers and IT to supervise, extend, and govern. Microsoft's own definition of low-code emphasises visual tools and "less coding than traditional code-first development", explicitly claiming that people beyond professional developers can build apps. Microsoft also explicitly links low-code platforms to citizen developers, presenting low-code as suitable because it "doesn't require deep coding experience."

The key point is that "replacement for coding" was never purely about removing code. It was about shifting where complexity sits: away from bespoke codebases and towards platform-managed components (identity, data connectors, hosting, runtime, governance), so teams could focus on business logic and user experience rather than infrastructure and plumbing. That promise is visible in how Microsoft describes Power Platform capabilities in enterprise terms: large connector ecosystems, governance/compliance framing, and speed of solution delivery.

Why SharePoint Online discouraged server-side custom code

To understand why Power Apps and Power Automate were pushed as "the new way", you have to look at the constraints and transitions in SharePoint extensibility-especially as organisations moved from on-premises SharePoint to multi-tenant SharePoint Online.

From "farm solutions" to sandboxing to modern client-side extensibility

Historically, SharePoint on-premises supported farm solutions: trusted extensions running on SharePoint servers with "full trust" and server object model access. But these were inherently high-privilege, operationally risky, and required farm-level deployment and administration-which clashes with the security and operational model of a shared cloud service.

Microsoft's documentation and guidance describe sandbox solutions as a more restricted model: site collection admins could install them without tenant admin involvement, but the model limited what could be deployed and what code could execute because it had to protect the service and other tenants. Sandbox execution was separated and resource-governed; SharePoint monitored "user code" and could disable solutions exceeding resource limits, reflecting the platform's bias toward stability over unlimited customisation.

Over time, Microsoft moved further away from server-side code in SharePoint Online. A pivotal change was the removal of code-based sandbox solutions in SharePoint Online; Microsoft announced that activating new code-based sandbox solutions and updating existing ones would no longer be available, with code execution subsequently disabled. Microsoft's SharePoint development guidance also states that code-based sandbox solutions were deprecated in 2014 and "completely removed" in SharePoint Online, and warns that they can become a roadblock when migrating to SharePoint Online.

This is one of the underappreciated drivers behind the "low-code era" inside Microsoft 365: as server-side customisation paths closed in the cloud, Microsoft needed alternative ways for customers to build business applications and automate processes without deploying managed code into the SharePoint Online service.

Script lockdown and the "no-script" default

Another major pressure point was ad-hoc client-side scripting. SharePoint's Script Editor/Content Editor web parts historically enabled teams to drop JavaScript into pages. Microsoft's development guidance notes that this pattern created "security challenges" because scripts could be deployed without coordination, and therefore SharePoint Online (modern and classic) defaults to blocking scripts via the "no-script" setting.

The current SharePoint admin guidance illustrates that this is not merely historical: tenant admins can explicitly allow or block custom scripts, reinforcing that script execution is treated as a security decision rather than a default capability. The combined effect was a narrowing of the "quick hacks" that departments used to build lightweight solutions inside SharePoint, pushing teams to more governed models.

Workflow retirements and toolchain churn

SharePoint's older workflow engines became another driver:

  • SharePoint 2010 workflows were retired in SharePoint Online in 2020 (turned off for new tenants and removed from existing tenants later the same year), and Microsoft recommended migrating to Power Automate (or other supported solutions).
  • SharePoint 2013 workflows followed a similar path: Microsoft states they were turned off for new tenants as of April 2, 2024 and will be removed from existing tenants and fully retired on April 2, 2026-again recommending migration to Power Automate or other supported orchestration solutions.

Separately, the tool many organisations used to build and manage those workflows-SharePoint Designer 2013-has an extended end date of July 14, 2026 under Microsoft's lifecycle documentation.

Add-ins retirement: another decisive breakpoint

SharePoint's Add-In model (SharePoint-hosted and provider-hosted add-ins) was a key extensibility approach during the SharePoint 2013 / early SharePoint Online era, but Microsoft has formally announced its retirement in Microsoft 365. The retirement announcement states that SharePoint Add-Ins stop working for all tenants as of April 2, 2026, and explicitly positions SharePoint Framework (SPFx) as the "primary replacement technology."

Taken together-sandbox deprecation, script lockdown, workflow retirements, Add-In retirement-the cloud version of SharePoint steadily removed or constrained many historical extension techniques, while simultaneously encouraging modern, controlled models (SPFx) and externalised automation/app layers (Power Platform).

How Power Apps and Power Automate were positioned as the new extension layer

A product story that explicitly de-emphasised coding

Microsoft introduced Microsoft Flow (later Power Automate) and PowerApps (later Power Apps) in public preview in 2016 as SaaS offerings aimed at business users: Flow for workflow automation across apps and services, and PowerApps for quickly building business apps. By October 2016, Microsoft announced general availability and framed the value proposition in "no coding" terms: PowerApps lets customers "rapidly build web and mobile business applications without coding", and Flow lets customers "automate business processes through simple configuration".

This messaging matters because it wasn't subtle. It told customers that many scenarios which once required developer time (forms, simple apps, notifications, approvals, integrations) could be handled through configuration and visual design-aligned with the broader low-code trend.

Flow's renaming to Power Automate (announced at Ignite 2019) reinforced the framing: not merely "flow charts" but end-to-end automation, including RPA.

Tight integration with SharePoint lists and pages

Power Platform's strategy was tightly coupled to SharePoint and the Microsoft 365 surface area:

  • SharePoint "welcomed" PowerApps and Flow, emphasising that people can automate workflows and build custom apps suited to their needs, including creating and launching flows directly from SharePoint lists.
  • Power Automate documentation highlights deep integration with SharePoint and points to templates and common SharePoint workflow scenarios.
  • SharePoint and Lists documentation explains how to create flows directly from lists and libraries, reinforcing the in-context automation experience.
  • For apps and forms, Microsoft provides explicit guidance for customising SharePoint list forms with Power Apps and for creating full apps based on SharePoint lists.
  • The Power Apps web part allows makers to embed a Power Apps application directly into a SharePoint page by entering the app's web link or ID, again emphasising "no coding experience required".

Governance and environments as the "enterprise answer" to shadow IT

Citizen development at scale creates risk: uncontrolled sharing, data exposure, inconsistent quality, and duplicated solutions. Academic research on citizen development warns explicitly about shadow IT, security issues, and technical debt when novice development proliferates without appropriate governance.

Microsoft's Power Platform adoption guidance reflects the reality that governance is required, not optional. The Power Platform Centre of Excellence (CoE) Starter Kit is positioned as a set of components and tools to help organisations "drive innovation" and "establish governance" while accelerating adoption. The governance components explicitly automate auditing/compliance scenarios, such as requiring justification for heavily shared apps.

Even early PowerApps-era platform concepts such as environments were framed as a way to separate apps by role, security requirements, and audience-essentially providing a structural unit for governance and lifecycle management.

The "business case" framing: speed, labour constraints, and measured ROI

Low-code platforms were often justified through ROI narratives: faster delivery, reduced dependence on scarce professional developers, and greater automation coverage.

A widely cited example is a commissioned Total Economic Impact study on Microsoft Power Platform, which interviewed organisations using Power Platform at scale and produced a composite model. The executive summary reports ROI figures and describes reduced development time and the ability to build apps and workflow automations more efficiently. While commissioned studies are not independent competitive analyses, they reflect how Power Platform was sold internally: business + IT collaboration, citizen development, and time savings.

In short, Power Apps and Power Automate were pushed as a practical replacement for a class of coding-heavy SharePoint customisations at exactly the time when SharePoint Online was constraining or retiring many traditional extension mechanisms.

The hidden costs: governance, ALM friction, licensing, and platform constraints

As Power Platform moved from departmental experimentation to enterprise-critical workloads, the hard problems shifted from "can we build it?" to "can we operate it, govern it, and evolve it cleanly?"

Citizen development creates real governance and quality risks

Research on governing citizen development identifies recurring risk categories: shadow IT behaviours, substandard quality, lack of transparency, and accumulating technical debt-especially when business-led development proceeds without consistent architecture, testing, and lifecycle controls. Other work emphasises that LCNC governance requires balancing flexibility (so makers can move quickly) and standardisation (so the organisation can maintain, secure, and evolve what gets built).

Microsoft's own response is visible in the emphasis placed on governance toolkits and reference implementations (such as the CoE Starter Kit), implying that unmanaged citizen development is a known failure mode and that "platform adoption" is inseparable from governance maturity.

ALM exists, but it is opinionated and often Dataverse-centric

Power Platform has steadily improved its ALM story-solutions, pipelines, DevOps integration-but these mechanisms come with constraints that can feel "closed ecosystem" to engineering teams used to code-first workflows.

  • Microsoft's ALM overview explicitly states that to use many Power Platform ALM features and tools, all environments that participate in ALM must include a Dataverse database.
  • Solutions are positioned as the mechanism for ALM in Power Apps and Power Automate, with concepts like managed vs unmanaged solutions and dependency tracking.
  • Pipelines in Power Platform are framed as a way to "democratize" CI/CD and ALM automation for makers, admins, and developers by bringing deployment automation into the service.

This is real progress-but it still differs materially from code-first engineering norms. Even Microsoft's DevOps tooling documentation includes explicit prerequisites and platform assumptions; for example, Power Platform Build Tools for Azure DevOps are supported only for Dataverse environments with a database.

So while "ALM is available", it is not simply "use Git and go"; it is "use Git through solutions metadata, Dataverse environments, and platform tooling." For some organisations this is acceptable; for others it is a new kind of lock-in and operational complexity.

Licensing complexity becomes part of the architecture decision

Power Platform's value is partly its connector ecosystem-yet connectors are exactly where licensing and cost surprises often emerge.

  • A standalone Power Apps or Power Automate plan is required to access Premium, on-premises, and custom connectors.
  • Microsoft maintains a broad catalogue of Premium connectors, which can significantly influence solution cost.
  • Power Automate licensing spans user-based and capacity-based options; "per flow" licensing is tied to top-level flows and minimum purchase quantities, and trigger patterns can affect licensing obligations.

This matters for the "replacement for coding" narrative: low-code platforms reduce engineering effort but can increase recurring platform costs and introduce licensing-driven architecture, which is rarely a concern when building custom web apps or SPFx components atop existing Microsoft 365 licences and standard APIs.

The browser-builder experience can be fast, but not always "clean"

Power Platform makers often build in web designers: Flow designer, Power Apps Studio in the browser, and solution management in the platform UI. Microsoft continues to position this as faster and more accessible than traditional development.

But the long-term maintainability question is never only "how quickly can we build version 1?" It is also:

  • Can we review changes as diffs?
  • Can we confidently refactor without breaking hidden dependencies?
  • Can we enforce consistent patterns across dozens or hundreds of flows and apps?
  • Can we test automatically and gate releases?

These are precisely the areas where both research and practice report that citizen development needs strong governance and where platforms can accumulate hidden complexity unless ALM discipline and guardrails are enforced.

AI coding agents change the "coding is the hard part" assumption

The core argument hinges on a real shift: if AI coding agents make "coding the easy part", the balance of costs between low-code and pro-code changes.

What "coding agents" actually do now

Modern AI coding tools aren't just autocomplete. They increasingly behave like agents that can take tasks, execute changes, and propose results for review.

For example, OpenAI describes Codex as a cloud-based software engineering agent that can work on tasks in parallel, including writing features, fixing bugs, and proposing pull requests-each task running in its own sandbox environment with your repository preloaded. GitHub describes GitHub Copilot as an AI coding assistant to help developers write code faster with less effort, and its Copilot coding agent as an autonomous mode operating in a GitHub Actions-powered environment that completes tasks assigned via issues or prompts, and creates pull requests.

This agentic framing matters because it maps closely to what teams already do in software engineering: create a ticket, implement, open a PR, review, merge, release. If an agent can handle much of the implementation step, pro-code becomes less about typing and more about steering, reviewing, and maintaining architecture.

OpenAI's own engineering narrative reinforces this: it uses Codex agents to generate not only product code, but also tests, CI configuration, documentation, and repo management scripts-the scaffolding that makes codebases maintainable.

Evidence: productivity gains are real, but uneven

Empirical results on AI coding productivity vary sharply by task type, developer experience, and measurement approach.

Some controlled experiments report that developers with access to tools like GitHub Copilot complete certain coding tasks substantially faster. Newer research on experienced open-source developers working on their own repositories has also highlighted mixed effects, including cases where developers using AI tools took longer overall despite believing the tools helped.

The implication is not "AI makes all coding trivial." It is more nuanced: AI can dramatically reduce the cost of boilerplate, initial scaffolding, and routine refactoring, but can also introduce coordination overhead, misplaced confidence, and review burden-especially for complex systems where hidden constraints matter.

The shift that matters for SharePoint solutions

Even with mixed productivity results, AI changes the economics of small-to-medium bespoke solutions-exactly the class of work low-code targeted.

If you can ask an agent to:

  • scaffold a SharePoint Framework web part,
  • wire up Microsoft Graph or REST calls,
  • generate unit tests and lint configs,
  • propose a pull request that passes CI,

then the barrier to a clean, versioned, testable custom solution drops.

At the same time, Microsoft has also injected AI into the low-code experience: Copilot in Power Apps aims to let makers quickly build apps using natural language and generate an app and data model without coding; Copilot in Power Automate can create automations through natural language conversation.

So AI doesn't exclusively advantage pro-code; it compresses effort in both worlds. The question becomes: where do you want the long-term complexity to live-inside a proprietary solution/connector/runtime model, or inside code you can version, test, and evolve with mainstream software engineering practices?

Re-evaluating Power Platform versus SPFx in an AI-assisted world

SPFx matured into the default "modern SharePoint customisation" model

Microsoft's SPFx documentation describes SharePoint Framework as a page and web part model providing "full support for client-side SharePoint development", integration with SharePoint data, and the ability to extend Teams and Viva using modern web technologies in your preferred development environment.

SPFx's roadmap page states that the first release of SPFx (February 2017) initially supported client-side web parts, and frames SPFx as the modern customisation journey within Microsoft 365.

Crucially, Microsoft's Add-In retirement announcement makes SPFx's role explicit: Add-Ins stop working for all tenants on April 2, 2026, and Microsoft recommends migrating custom-developed Add-Ins to SPFx-based solutions.

Microsoft's development models guidance also frames SPFx as a governed alternative to ad-hoc script injection: scripts in Script Editor web parts have poor maintenance and governance characteristics, and Microsoft introduces SPFx as a model that works in the modern UI and supports the no-script flag with centralised governance and control.

Why AI tilts some organisations back toward "build it in code"

Against that backdrop, it becomes more plausible to claim that custom apps and web parts can now be built and managed cleanly using SPFx, in less time than it would take to make a functionally equivalent app or workflow purely through browser-based builders.

Key reasons include:

  • Source control and code review are first-class. Agentic tools such as Codex and Copilot coding agent align naturally with pull request-centric workflows and can generate changes as reviewable diffs.
  • Maintainability artefacts are easier to generate. AI tools can generate tests, CI/CD configuration, documentation, and scripts, not just feature code, which lifts the maintainability baseline for pro-code solutions.
  • Platform licensing can dominate operational cost. Premium connector requirements and per-flow licensing models can make "cheap to build" become "expensive to run", which shifts the calculus towards code that uses existing Microsoft 365 primitives and standard APIs.

However, SPFx is still primarily a UX and client-side extensibility model. If your solution needs a durable data layer, complex business processes, tightly integrated identity-bound actions across multiple systems, or fast iteration by non-developer business teams, Power Platform's managed services and connectors can still be the right constraint.

Power Platform isn't "no code"; it increasingly expects hybrid teams

Another nuance is that Microsoft has already evolved Power Platform toward a hybrid "low-code plus pro-code" model:

  • Power Apps has a real programming language at its core: Power Fx, a general-purpose, strongly typed, declarative low-code language used across Power Platform.
  • Microsoft has open-sourced Power Fx and positions it as enabling the spectrum from "no code" to "pro code" without cliffs.
  • Power Apps offers pro-dev extensibility via the Power Apps component framework (PCF), where professional developers create and package code components (using Power Platform CLI) for use in canvas apps.

In an AI-assisted era, this means Power Platform may also become more code-friendly: pro developers can generate PCF components quickly, and makers can assemble them, blurring the boundary between SPFx "full control" and Power Apps "visual builder".

A practical synthesis: where the new boundary lines tend to land

A defensible way to restate the modern trade-off is:

Power Platform is strongest when the value is in rapid assembly of business capabilities and when you want Microsoft to own the runtime, connectors, identity integration, and a large part of governance mechanics. That is the core promise Microsoft continues to sell: low-code solution development, automated business processes, integrated governance, and broad connectors.

SPFx (and pro-code generally) is strongest when the value is in control, portability of engineering practices, and frictionless lifecycle management via mainstream tools-especially now that agentic coding tools can shrink the "time-to-first-solution" and handle boilerplate that used to make bespoke development feel "not worth it" for smaller internal needs.

In practice (and increasingly in Microsoft's own guidance), many organisations land on a hybrid pattern:

  • Use Power Automate for orchestration where it is deeply integrated with SharePoint and provides fast wins and templates.
  • Use Power Apps for SharePoint list forms and lightweight apps embedded directly in SharePoint pages.
  • Use SPFx for richer SharePoint-native UX, reusable components, or scenarios affected by Add-In retirement timelines-because SPFx is explicitly positioned as the modern replacement model.
  • Apply AI in both worlds: Copilot in Power Apps/Power Automate for maker acceleration, and coding agents for SPFx scaffolding, testing, and PR workflows.

The deeper shift since roughly 2023-2026 is not that low-code is obsolete or that coding is trivial. It is that the marginal cost of high-quality custom code has dropped enough that the old default-"use Power Platform because custom development is too slow to justify"-needs re-evaluation, particularly for SharePoint-centric experiences where SPFx is now the durable extensibility model and where older SharePoint extension models are reaching hard retirement cutoffs.

Comments

Popular posts from this blog

SharePoint Looping Workflow - How to: Loop through and process all items in a list

Solved: Can't Group By Choice Column in SharePoint List View

InfoPath SharePoint: Submit InfoPath form to SharePoint List or Library using Content Type