Back to insights

Salesforce daily archive

730 days of practical thinking.

One retrospective note for every day from 2 September 2024 to 1 September 2026.

Archive dates organise the subject history. They do not claim the notes were originally published on those dates.

Showing 365 archive entries

Page 2 of 16

Development

Designing for maintainability: Custom metadata as configuration

Custom metadata can move controlled business variation out of code and into deployable configuration. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Development

Designing for maintainability: Security enforcement in Apex

Apex can execute with privileges that require developers to enforce the intended access model deliberately. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Development

Designing for maintainability: Test data design

Good test data communicates the business scenario and remains independent of org state. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Development

Designing for maintainability: Meaningful Apex tests

Tests should protect business behaviour and failure handling, not merely raise coverage percentage. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Development

Designing for maintainability: Bulk-safe code

Salesforce transactions may process many records even when the original change appears singular. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Development

Designing for maintainability: Selective SOQL

Query design must reflect data distribution and access paths, not only functional correctness. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Development

Designing for maintainability: Lightning component boundaries

A Lightning Web Component should own a coherent interaction rather than accumulate an entire business process. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Development

Designing for maintainability: Asynchronous Apex

Queueable, batch and scheduled work solve different execution and scale requirements. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Development

Designing for maintainability: Trigger discipline

Triggers should coordinate record-change behaviour without becoming a hidden application framework. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Development

Designing for maintainability: Apex service layers

A service layer gives business operations a stable home outside triggers, controllers and transport-specific code. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Architecture

Designing for maintainability: Integration observability

A connected process needs end-to-end visibility across platform and team boundaries. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Architecture

Designing for maintainability: Platform limits as architecture

Governor limits encourage efficient multi-tenant design and must influence architecture from the beginning. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Architecture

Designing for maintainability: Data virtualisation

External data can sometimes remain in its source while Salesforce presents it at the point of work. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Architecture

Designing for maintainability: Transaction boundaries

Cross-system work cannot rely on one database transaction to guarantee an all-or-nothing outcome. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Architecture

Designing for maintainability: Idempotent integrations

A request may be delivered more than once; a dependable receiver must make repetition safe. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Architecture

Designing for maintainability: Error recovery

Failure handling is part of the business process, not a technical appendix added after the happy path. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Architecture

Designing for maintainability: API boundaries

An API should expose a stable business capability rather than mirror a database or a single user interface. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Architecture

Designing for maintainability: Customer identity across systems

Identity resolution is the foundation of a coherent customer view across Salesforce and connected platforms. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Architecture

Designing for maintainability: Master data decisions

A connected estate needs a clear answer to which system is authoritative for each important business fact. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Architecture

Designing for maintainability: Event-driven Salesforce

Events allow systems to announce meaningful change without controlling every downstream reaction. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Architecture

Designing for maintainability: Synchronous or asynchronous

Timing is an architectural decision: a process should wait only when the immediate response genuinely changes the next action. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Architecture

Designing for maintainability: Integration ownership

Every integration needs an explicit owner for its business contract, data meaning and operational health. This retrospective daily note considers how another team will understand, support and safely change the solution.

Read daily note
Platform Operations

The cost of complexity: Backup and recovery

Data protection requires tested recovery objectives, not only confidence that a backup exists. This retrospective daily note considers where unnecessary components and customisation create recurring operating cost.

Read daily note
Platform Operations

The cost of complexity: Deployment observability

Delivery metrics should show whether change is becoming safer and faster, not merely count deployments. This retrospective daily note considers where unnecessary components and customisation create recurring operating cost.

Read daily note