Build It Yourself? Part 1: A Proportionate Architecture

Date: 14/07/2026

Introduction

Most smaller nonprofit organisations don’t have dedicated data and software experts, so they find ways of using standard tools like Word, Excel and SharePoint to manage their data securely and effectively. The big headache comes when they are answerable to an external regulator, and their work needs to be demonstrably secure and effective.

The standard way to handle this would be to bring everything together into a central managed system like Microsoft’s Dynamics 365. But that’s expensive, and setting up and maintaining such a system requires a level of technical expertise between application user and software developer.

This series of articles will document my experience as I explore an alternative path to the same space between software user and software developer. Instead of starting with a full enterprise system like Dynamics 365 and configuring it to meet the needs of the organisation, I’ll start with the core of such a system (Microsoft’s open-source Common Data Model for Nonprofits) and use Microsoft’s no-code development tools to configure it into a central system capable of demonstrably complying with the demands of an external regulator.

Two core problems of centralising data

There’s no perfect solution to these problems, but for any organisation there are proportionate solutions that resolve them well enough. The option I want to outline here is aimed at nonprofit organisations without permanent specialist database and development experts, but with staff who are in a position to take on technically challenging commitments.

The opportunity

There is a reoccurring theme of shared responsibility in the Microsoft ecosystem, resources where Microsoft’s staff look after the specialist work, leaving their customers free to focus on tailoring the tools to their own circumstances. The two of interest here are the Comon Data Model for Nonprofits (CDM-NP) and Model-driven Power Apps, when combined with role-based security you get a powerful trio. CDM-NP provides you with a pool of potential features to include in your application, Model-driven Power Apps provide you with the tools to bring those features to the surface, and role-based security gives you the tools to control who can see and do what in your model.

As it happens, this is exactly the strategy the Microsoft uses for their flagship suite of enterprise applications, Dynamics 365. They are Model-driven Power Apps, built on the more corporate Common Data Model and governed by role-based security. The difference is that whereas Microsoft does this to free up their technical staff from dealing with standard features to focus on developing advanced features, I am suggesting that you don’t need to worry about developing advanced features if the basic features you can surface from CDM-NP will meet your needs.

Maintaining your records in a secure, rigorous model also opens up the options of using Power Automate and deploying AI agents with Copilot Studio, but for now I am exploring the options for maintaining a compliant bespoke information system with minimal in-house technical expertise, and for that purpose Model-driven Power Apps are probably going to be sufficient.

The next step

This is an established methodology at an industrial level, with full time developers, the question I want to explore next is if Microsoft’s shared responsibility policies are enough to make this approach feasible for a small nonprofit organisation with self-taught IT champions. To find out the details needed to answer that my next step will be to build a proof-of-concept app based on a couple of CDM-NP entities, and see exactly what it involves and what relevant training materials are available to learn the requisite skills.

Patrick Killeen
Head and Heart CIC
patrick@headandheart.info
www.headandheart.info

This work is released under the MIT Licence and is available at
https://github.com/head-and-heart-cic/public/blob/main/in-practice//260714_build_it_yourself_part_1_a_proportionate_architecture/README.md