Delivery process

How I build and ship

Every engagement follows the same discipline: written scope before code, tests before deploy, documented handover at the end. Here's the tooling and process behind that — see How I Work for the broader delivery philosophy.

Where every engagement starts

Scoping & Planning

Work starts with a written statement of scope. No verbal agreements, no ambiguous briefs — acceptance criteria are documented before any code is written.

Requirements & Tracking

Work is managed in Azure DevOps Boards across Epics, Stories, and Tasks. Every requirement maps to a work item with a written acceptance criterion.

  • Azure DevOps Boards
  • Epics / Stories / Tasks
  • Acceptance criteria
  • Markdown specifications

Estimation & Agreement

Estimates are mapped to fixed day rates and delivered as a written quote referencing the scope document. Nothing starts without written agreement.

  • Written scope document
  • Fixed day rates
  • Written quotes
  • 30-day defect warranty

The build phase

Development

Code is written in the language appropriate to the domain — no framework churn, no unnecessary dependencies.

Application Code

C#/.NET is the primary delivery platform for APIs, services, integrations, and legacy modernisation. VBA for Excel and Access operational tooling where needed.

  • C#
  • .NET / ASP.NET Core
  • Entity Framework Core
  • VBA (Excel / Access)
  • WPF

Data & Scripting

SQL Server for data-layer work, PowerShell for automation and Microsoft 365 management, Bicep for infrastructure as code.

  • T-SQL / SQL Server
  • PowerShell
  • Bicep
  • Azure Functions

Web & APIs

Vanilla TypeScript and JavaScript for client-facing tooling and operational sites. REST APIs across Azure Functions and ASP.NET Core.

  • TypeScript
  • JavaScript (vanilla)
  • HTML / CSS
  • Node.js
  • REST APIs

Before anything ships

Quality & Testing

Tests are written as part of delivery, not bolted on afterwards. Automated checks run on every commit.

Application Testing

Unit and integration tests run against real data stores — not mock-only suites that pass locally and fail in production.

  • MSTest
  • NUnit
  • xUnit
  • Integration tests (real DB)

Frontend Quality

Automated quality gates on every commit: lint, HTML validation, Lighthouse CI (performance ≥0.90), and WCAG 2.1 AA accessibility checks.

  • ESLint
  • html-validate
  • Lighthouse CI
  • WCAG 2.1 AA

Reliable, repeatable deployments

Infrastructure & Deployment

Deployments are automated and environment-gated — dev → testing → production with no manual steps.

CI/CD Pipelines

Multi-stage Azure DevOps Pipelines with branch protection rules and pipeline-gated environment promotion. No direct-to-production deploys.

  • Azure DevOps Pipelines
  • GitHub Actions
  • Branch protection
  • Multi-stage promotion
  • Git

Cloud Infrastructure

Azure-native hosting across App Service, Functions, SQL, and Static Web Apps. Infrastructure defined as code using Bicep for reproducible environments.

  • Azure Static Web Apps
  • Azure App Service
  • Azure Functions
  • Azure SQL
  • Bicep IaC

Built in, not bolted on

Security & Compliance

Security and GDPR requirements are considered at the design stage. UK data protection obligations are addressed before code is written, not after.

Identity & Access

Entra ID, Conditional Access, and MFA enforcement for client identity workloads. Intune for device management where required.

  • Azure Entra ID
  • Conditional Access
  • MFA enforcement
  • Microsoft Intune

Data & Compliance

Microsoft Purview and Information Protection for data governance. Microsoft Defender for endpoint and workload protection. GDPR-aligned data handling throughout.

  • Microsoft Purview
  • Microsoft Defender
  • Information Protection
  • GDPR / UK data protection

Next steps

What's next?

Service Catalogue

See the full catalogue of services, matched to common delivery problems.

View Services

Get in Touch

Discuss a project or ask a specific question about the delivery approach.

Contact Me

Agent-Ready Website

This site publishes tools an AI agent can call directly, rather than leaving it to scrape the page. See what they are, and check them yourself.

See the agent surface