Practice
How I work, written down where it can be argued with. Guidelines are the standing rules I bring to an engagement, patterns the solutions I reuse, and articles the longer pieces they came from.
18 of 18
- GuidelineG-01
Documentation in three layers
One map (HLD), one logbook (ADRs), and code for the rest.
#Architecture practice
- GuidelineG-02
Adoption by design
Name who can refuse the design, then make saying yes cheaper than staying put.
#Adoption & delivery#Architecture practice
- GuidelineG-03
Constraints before cost
Placement rules run in a fixed order, and price is consulted only among the options the constraints left standing.
#Architecture practice#Cost
- PatternP-01
Per-object crossing mode
Choose share, replicate, federate, split or keep for each object, by ordered rules and a crossover cost.
#Integration#Data platformsSAPSnowflake
- PatternP-02
Policy compiler
Write the access policy once as data; generate each platform's controls, and a list of what it cannot enforce.
#Governance & compliance#Data platformsDatabricksMicrosoft Fabric
- PatternP-03
Lineage-inherited control
A derived asset carries the strictest control of its inputs until a recorded declassification removes it.
#Governance & compliance#Data platformsDatabricks
- PatternP-04
Authorise before retrieve
Decide what the caller may see before the search runs, and bind that set into the query.
#AI#Governance & complianceKnowledge graphs
- PatternP-05
Named exits
List every way data leaves, models, assistants and agents included, each with a control and an owner.
#Governance & compliance#AIMicrosoft Fabric
- Article
A knowledge layer a lawyer can act on
A language model can write a good legal answer. It cannot know what the firm did, for whom, what came of it, and who is allowed to be told. An architecture for a law firm's knowledge graph that an AI assistant can stand on, anchored to the systems of record, with one resolver that decides access before anything is retrieved. And a lab that measures where document-level filtering leaks.
#AI#Governance & complianceKnowledge graphsMCP
- Article
One policy, two compilers
An export-control policy has to hold on Unity Catalog and on Fabric at the same time, and nobody keeps two admin consoles in sync by hand. So the policy is data, and two compilers turn it into what each platform can enforce. 22 ABAC policies and tags that carry their own provenance on one side, 20 static roles and four tenant settings on the other. The gap between the two only became visible because it was generated.
#Governance & compliance#Data platformsDatabricksMicrosoft FabricAzure
- Article
Deciding who may see what, and from where
Export control does something to a lakehouse that GDPR never did. The same row gets three different answers depending on who asks, from where, and what it was derived from. Six decisions for a data platform under export control, one policy compiled to both Unity Catalog and Fabric, and the two findings that mattered most. The border is not the region, and classification is not a property of a table.
#Governance & compliance#Data platformsDatabricksMicrosoft FabricAzure
- Article
Deciding where a Synapse estate goes
Synapse has an end date, so the question is no longer whether to move but where each workload lands. Fabric, Databricks or Snowflake. Ten ordered rules, a cost model that treats a pre-paid capacity as the step function it is, and the finding that surprised me most. The platform that priced best was eliminated from almost every workload it priced best on.
#Data platforms#CostAzureMicrosoft FabricDatabricksSnowflake
- Article
Who had to say yes
Every architecture has a list of people who can quietly refuse it. The teams, the functions, the budget holders. Most designs never write that list down, and I think that is why so many correct architectures never ship. A way of designing for adoption instead of hoping for it.
#Adoption & delivery#Architecture practice
- Article
Deciding what crosses the SAP↔Snowflake seam
For every object in a SAP estate, one question sets the cost and the freshness of everything downstream. Share it zero-copy, replicate it, federate it, split it, or keep it in SAP. Here is a reference architecture that answers it per object, with nine ordered rules, a cost model with the crossover frequency, and a local simulation that runs all three modes.
#Data platforms#Integration#CostSAPSnowflake
- Article
Synthetic users you're allowed to test with — Nemotron-Personas
NVIDIA's Nemotron-Personas gives you a million fictional-but-grounded people to seed test harnesses and ML experiments with. No real PII, no DPIA. Where it earns its keep, the regulatory angle for EU teams, and the caveats that bite if you forget they're synthetic.
#AI#Governance & compliance
- Article
How I get non-technical POs writing specs agents can execute
The difference between a lazy prompt and a spec that directs an agent, and why a product owner who can write the second is a force multiplier for the whole team.
#AI#Adoption & delivery
- Article
Why ask IT when you can do it yourself?
The skill gap between a business analyst and a junior developer has collapsed, and the ticket queue is losing its reason to exist. The IT organisations that come out ahead stop being the factory and become the platform.
#AI#Adoption & delivery
- Article
The case for one-engineer economics
Five numbers changed what a small team can build. AI adoption, the 280-fold collapse in inference cost, the rise of the solo founder, and a sharp fall in programmer employment. Here is what they add up to, and the part they leave out.
#AI#Cost