Building a Suite of Internal Apps on Power Platform: How to Scope, Sequence and Contract It
A decision guide for replacing a shelf of ageing internal tools with little internal development capacity: which app goes first, how the rest follow, and what the contract should say.
If you are replacing a shelf of failing internal tools with almost no internal development capacity, do not commission them as one big build. Run a fixed-scope discovery across the whole estate, then pick the one app whose failure hurts most and build it properly as the pattern: data model, security, ALM and support. Reuse that pattern for the rest in order of pain, and hand each app over as it goes live rather than in one lump at the end. Contract milestone by milestone with written acceptance criteria, keep source, solutions and environments in your own tenant, and agree the exit on day one. Expect discovery to show that some tools should be retired, not rebuilt.
Why does a suite of internal apps go wrong when it is bought as one project?
A shelf of ageing internal tools usually looks like one problem: a few Access databases, some macro-heavy spreadsheets, an old intranet form, a line-of-business app written by someone who left. The natural response is to scope the lot, get one quote and one go-live date. That shape concentrates every risk at the end of the programme.
Acceptance happens late, so misunderstandings surface after most of the budget is spent. Handover happens late, so the organization spends the whole programme dependent on the partner and then receives everything at once, with no time to absorb it. Each app tends to be built slightly differently by whoever picked it up, so the suite ends up as several small platforms rather than one. And the tool that is actually hurting the business waits in the queue behind easier ones.
The alternative is not slower. It is a programme in which one app is built properly first, becomes the pattern, and every later app is cheaper and safer because it reuses what the first one established.
What should discovery cover before anyone quotes the whole suite?
Discovery should be a separate, fixed-scope piece of work with a defined output, bought before any build commitment. Its job is to turn "a shelf of tools" into an inventory you can make decisions on, and to give you something you own even if you choose a different partner for the build.
| Discovery output | What it answers |
|---|---|
| Tool inventory | Every tool in scope, who uses it, how often, and who owns it in the business rather than in IT. |
| Failure impact | What happens on the day each tool breaks or its author leaves: lost revenue, compliance exposure, a team that stops, or mild inconvenience. |
| Data map | Where each tool keeps its data, how much history matters, which tools share the same entities (customers, sites, assets, staff) and how clean that data is. |
| Integrations | Which tools read from or write to other systems, and whether those systems expose an API, a database, files or nothing at all. |
| Disposition per tool | Retire, replace with something you already own, rebuild on the Power Platform, or move to a different platform. Not every tool gets the same answer. |
| Licensing implications | Which apps can run on the Power Apps rights most Microsoft 365 plans already include, and which need Dataverse or premium connectors and therefore premium licensing for their users. |
| Proposed sequence and pattern app | The order of build, the app chosen as the pattern and why, and the acceptance approach for each milestone. |
Which of the ageing tools probably should not be built at all?
An honest discovery removes work. In most estates of this kind, some tools fall into one of the categories below, and building them again on the Power Platform would spend budget reproducing a problem.
- Tools nobody really uses. Usage evidence beats opinion: if a database has not been opened by more than one person in months, archive its data in a readable form and retire it.
- Tools that duplicate something you already license. A request tracker that a SharePoint list, Microsoft Forms, Planner or a Teams approval would cover does not need a custom app.
- Tools that are really reports. If the tool exists to produce a monthly summary, the replacement is a Power BI report over the system of record, not an app that re-keys data.
- Tools that only hold history. Records you must keep but no longer change need a read-only archive with a retention rule, not a working application.
- Tools that are really a CRM. A customer database with pipelines, cases and activity history is a CRM decision: Dynamics 365 if you want the Microsoft ecosystem, or a custom-built CRM if you need full control without per-user licensing.
- Tools that are really finance or ERP. Solzet does not implement Dynamics 365 Finance, Business Central, NAV or Finance and Operations, and a Power Apps rebuild of accounting logic is rarely the right answer. Those tools belong to your ERP programme.
- For one tool on its own, rather than a suite, replacing a legacy Access database or in-house CRM sets out the replacement paths in detail.
How do you choose the first app to build?
Pick the app whose failure hurts most, provided it is also representative enough to establish the pattern. The first app is not a pilot you can throw away; it is the template every later app will copy, so it has to exercise the parts of the platform the rest of the suite will need.
| Criterion | Why it matters | Warning sign |
|---|---|---|
| Business pain on failure | Value lands early, and the sponsor sees the programme fixing the problem they were worried about. | Choosing the easiest app to show quick progress, while the risky tool keeps running on borrowed time. |
| Touches the shared data | The Dataverse tables it creates (customers, sites, assets, staff) become the foundation later apps reuse. | An isolated app with its own private data that teaches the programme nothing reusable. |
| Real security needs | Security roles, business units and record visibility get designed once, properly, and copied. | An app everyone can see everything in, which defers the hardest design decision to app four. |
| At least one integration | The integration and error-handling approach is proven before it is repeated. | Leaving every integration to later apps, where it becomes the surprise. |
| A committed business owner | Someone who can make decisions and sign acceptance within days, not weeks. | An app owned by a committee, or by nobody since its author left. |
| Manageable size | It should go live in a timescale that keeps the programme credible. | The largest and most political tool, chosen because it is the most visible. |
What does building the pattern app to standard actually include?
The pattern app carries more one-off cost than any later app, because it establishes decisions the rest inherit. That extra effort should be visible in the plan and in the contract rather than hidden in an estimate. Governance for the wider platform, such as DLP policies and who may build what, is covered in our guide to building a Power Apps Center of Excellence with a nearshore team; this list is what the suite itself needs.
- Environments: development, test and production in your tenant, created for the programme rather than borrowed from the default environment.
- Solutions and ALM: every component in a solution, source in your repository, managed solutions only in test and production, and deployment by pipeline. The mechanics are in moving from manual ZIP files to PAC CLI and pipelines.
- A shared data model: the tables later apps will reuse, with naming conventions, keys and ownership agreed, so app three extends the model instead of copying it.
- A security model: security roles and team structures designed for the suite, not just for the first app.
- Environment variables and connection references for everything that differs between environments, so nothing development-specific reaches production.
- Flows with an error path: retries, logging and a named owner who is told when a flow fails.
- Shared components: a component library, standard screens or forms, and PCF controls only where standard controls genuinely cannot do the job.
- Documentation written for the people who will support it: a data dictionary, a runbook, known limitations and how to deploy a change.
How should the remaining apps be sequenced once the pattern exists?
After the pattern app is accepted, the order is driven by pain and by reuse. Apps that sit on the data model already built come first, because they are the cheapest proof that the pattern works. Apps that need new integrations or new data follow. Work can run in parallel only once the pattern is stable; parallel teams before that point produce parallel patterns.
| Stage | What goes in | What it proves | What is handed over |
|---|---|---|---|
| Discovery | Inventory, disposition per tool, sequence, acceptance approach. | That the programme is the right size and shape. | The discovery report, which you own. |
| Pattern app | The app whose failure hurts most, built to standard. | The data model, security, ALM, integration and support approach. | The app, the standards document and the first runbook. |
| Reuse wave | Apps that sit mostly on the tables and components already built. | That later apps are faster and consistent with the first. | Each app as it goes live, with your makers pairing on it. |
| Extension wave | Apps that need new data, new integrations or a portal. | That the pattern extends without being rewritten. | Each app as it goes live; your team takes first-line change requests. |
| Long tail | Small apps, retirements and archives. | That the old estate is actually switched off. | Decommissioned tools and archived data, with your team leading. |
How does progressive handover work with almost no internal developers?
Handover is a sequence of responsibilities, not a single event. For each app, your organization first runs it (business ownership, user support, access requests), then supports it (triage, configuration changes, simple flow fixes), and only then changes it (new features through the pipeline). A partner that keeps all three until the end of the programme leaves you with a cliff edge.
You do not need a development team to start. You need a business owner per app, one platform owner who holds the admin rights and the relationship, and ideally one or two people who want to become makers and who pair with the delivery team on the reuse wave. Where that capability should grow into a permanent function, the Center of Excellence guide sets out how. Where it will stay small, a managed support arrangement covers the harder changes; Power Platform development and support from Armenia describes how that runs.
- Each app has a named business owner before its build starts, and that person signs its acceptance.
- Your platform owner holds administrator rights on every environment from the first day, not at the end.
- Every deployment after the pattern app is run through the pipeline, so your team learns one way of releasing.
- Your makers pair on real work in the reuse wave rather than attending training in isolation.
- Support tickets move to your team app by app, with the delivery team as second line until each handover is confirmed.
How should the contract for an app suite be shaped?
The contract should make the programme shape enforceable: small commitments, testable milestones, and ownership that never sits with the partner. The elements below are the ones we would expect a buyer to ask for, and the ones we work to.
| Contract element | What to ask for | Why |
|---|---|---|
| Fixed-scope discovery | A separate agreement with a defined deliverable and no obligation to proceed with the same partner. | You buy the decision before the build, and the report stays useful whoever delivers. |
| Statement of work per stage | The pattern app and each later wave contracted separately, under one framework agreement. | Scope is fixed where it is known, and later waves are priced with the benefit of what the pattern app taught. |
| Milestone acceptance criteria | Written, testable criteria agreed before build, an acceptance window, and a clear split between defects and change requests. | Acceptance stops being a matter of opinion at the end of the programme. |
| Shared components owned by the client | The data model, component library, PCF controls and pipeline definitions are your property, reusable by anyone. | The pattern is the most valuable asset in the programme and cannot become a reason you are locked in. |
| Source, solutions and environments in your tenant | Repositories, pipelines and every environment created in your organization, with the partner as a guest. | Nothing has to be transferred later, because nothing was ever held elsewhere. |
| Licences bought by you | Microsoft licences purchased by your organization, sized from discovery. | The licensing relationship stays yours and is not bundled into delivery. |
| Documented exit | A defined handover pack, a notice period and transition assistance, agreed at signature. | You can change partner or take the work in-house without renegotiating under pressure. |
| IP, NDA and data processing | IP ownership defined in the statement of work, a mutual NDA and a GDPR-compliant data processing agreement. | Standard protections that should not need arguing for. |
What should a documented exit contain?
Agree the exit pack at the start and deliver it incrementally, so it is always current rather than assembled in the last week. If the partner changes, or your team takes over completely, this is what makes the transition a handover instead of a rescue.
- Repository access and the pipeline definitions that build and deploy every solution.
- Deployment settings for each environment, with secrets held in your own key store.
- Service principals and integration accounts owned by your organization, not by partner staff.
- The data dictionary, security model, standards document and a runbook per app.
- The open defect list and the backlog of agreed but unbuilt changes.
- Recorded knowledge transfer sessions covering the data model, deployments and the most fragile integrations.
Is the Power Platform the right home for every app in the suite?
Usually for most of them, but not automatically for all. Internal tools built around approvals, inspections, requests, registers and case tracking fit the Power Platform well, especially where the organization already runs Microsoft 365. A tool that is really a customer relationship system is a different decision. We recommend the right solution - whether that's Microsoft Dynamics 365, Power Platform, or a custom-built CRM. Some businesses need the Microsoft ecosystem. Others need full control without licensing. We deliver both.
For a CRM-shaped tool, that means Dynamics 365 where per-user Microsoft licensing and the Microsoft ecosystem make sense, and a custom CRM on React, Node.js, PostgreSQL or .NET where they do not. Discovery should say which applies to each tool rather than assume the whole shelf moves to one platform.
Which platform should a CRM-shaped internal tool move to?
Can afford licensing and want the Microsoft ecosystem
Dynamics 365
Microsoft 365, Teams and Outlook integration, a mature partner ecosystem, Copilot, and apps for sales, service and field operations that are configured rather than built.
Need full control and zero licensing
Custom CRM
A CRM built on React, Node.js, PostgreSQL or .NET that you own outright: your data model, your hosting, no per-user subscription, and features shaped exactly to your process.
Not sure which fits
We help you decide
A short discovery weighs licensing budget, process complexity, integrations and long-term ownership, then recommends one path. We deliver both, so the recommendation has no reason to lean.
How does Solzet deliver an internal app suite programme?
Solzet is a scalable senior consultancy based in Yerevan, Armenia (GMT+4), with 8+ years in the Microsoft ecosystem. Our senior consultants and full-stack developers run the discovery, build the pattern app, and scale delivery capacity up for the reuse and extension waves and back down as your team takes over. We work on B2B contracts inside your Azure DevOps, GitHub or Jira, in English, Armenian or Russian, and the environments, source and solutions stay in your tenant throughout.
The detail on roles, app types and engagement models is on our Power Platform development service. We deliver Power Apps, Power Automate, Power Pages, Copilot Studio, Dataverse and PCF controls; we do not deliver Dynamics 365 Finance, Business Central or other ERP implementations. To start, send us the list of tools as it stands, however untidy, at contact@solzet.com or through the form below.
What do people ask us?
Should we hire a partner to build a whole suite of Power Platform apps at once?
Hire a partner for the programme, but do not commit to building the whole suite at once. Buy a fixed-scope discovery first, then contract the pattern app, then each later wave separately under one framework agreement. That keeps scope honest, lets acceptance happen early, and gives you a natural point to change direction or partner without losing what has been built.
Which internal app should we rebuild first?
The one whose failure hurts the business most, provided it also touches the shared data, has real security needs, includes at least one integration and has a business owner who can sign acceptance quickly. That app becomes the pattern every later app reuses, so it should not be the easiest tool on the list or the largest and most political one.
Can we run a suite of Power Platform apps without our own developers?
You can start without developers, but not without owners. Each app needs a business owner, and the platform needs one internal owner who holds admin rights from day one. Ideally one or two people pair with the delivery team and grow into makers. Harder changes can then sit with a managed support arrangement while your team handles day-to-day administration and simple changes.
Who should own the source code, solutions and environments?
Your organization, from the start. Repositories, pipelines and every environment should be created in your tenant with the partner working as a guest, and shared components such as the data model, component library and PCF controls should be your property. IP ownership should be defined in the statement of work.
What should milestone acceptance criteria look like?
Written, testable statements agreed before the build of that milestone starts, such as the processes a named role can complete end to end, the data migrated and reconciled, and the deployment run through the pipeline into test. Add an acceptance window and a clear definition of what counts as a defect versus a change request, so acceptance is a check rather than a negotiation.
Will some of our old tools not need replacing at all?
Very likely. Discovery often finds tools nobody really uses, tools that duplicate a SharePoint list, Microsoft Forms or a Teams approval you already license, tools that are really reports and belong in Power BI, and tools that only hold history and need a read-only archive. CRM-shaped tools and finance or ERP tools are separate decisions rather than Power Apps rebuilds.
Do internal Power Apps need premium licensing?
It depends on the app. Canvas apps that stay on standard connectors such as SharePoint can generally run on the Power Apps rights included in most Microsoft 365 plans. Apps that use Dataverse, model-driven apps or premium connectors need premium Power Apps licensing for their users. Discovery should size this per app, and your organization should buy the licences directly.
How do we avoid being locked in to the partner that built the suite?
Keep everything in your tenant, own the shared components, run every deployment through a pipeline in your repository, hand over app by app rather than at the end, and agree a documented exit with a handover pack, notice period and transition assistance at signature. With those in place, changing partner or taking the work in-house is a planned handover.
Where should you go next?
Power Platform development
What our Power Platform developers build, model-driven or canvas, and the engagement models available.
Power Apps Center of Excellence with a nearshore team
Governance, development standards and knowledge transfer so internal capability grows alongside delivery.
Replacing a legacy Access database or in-house CRM
How to choose the replacement path when the problem is one ageing tool rather than a suite.
Power Platform ALM with PAC CLI and pipelines
The source control and deployment mechanics every app in the suite should follow.
Power Platform development and support from Armenia
Hiring senior Power Platform developers in Yerevan for a build, a rescue or ongoing support.
Custom CRM Development
For CRM-shaped tools where Microsoft licensing does not fit: React, Node.js, PostgreSQL and .NET.
Which solution is right for your business?
Tell us what you need. A senior consultant replies within one business day with a recommendation - Dynamics 365, Power Platform, or a custom-built CRM - not a sales script.