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 7 of 16

Development

Containing technical debt: Custom metadata as configuration

Custom metadata can move controlled business variation out of code and into deployable configuration. This retrospective daily note considers how to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Development

Containing technical debt: 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 to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Development

Containing technical debt: Test data design

Good test data communicates the business scenario and remains independent of org state. This retrospective daily note considers how to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Development

Containing technical debt: Meaningful Apex tests

Tests should protect business behaviour and failure handling, not merely raise coverage percentage. This retrospective daily note considers how to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Development

Containing technical debt: Bulk-safe code

Salesforce transactions may process many records even when the original change appears singular. This retrospective daily note considers how to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Development

Containing technical debt: Selective SOQL

Query design must reflect data distribution and access paths, not only functional correctness. This retrospective daily note considers how to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Development

Containing technical debt: 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 to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Development

Containing technical debt: Asynchronous Apex

Queueable, batch and scheduled work solve different execution and scale requirements. This retrospective daily note considers how to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Development

Containing technical debt: Trigger discipline

Triggers should coordinate record-change behaviour without becoming a hidden application framework. This retrospective daily note considers how to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Development

Containing technical debt: 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 to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Architecture

Containing technical debt: Integration observability

A connected process needs end-to-end visibility across platform and team boundaries. This retrospective daily note considers how to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Architecture

Containing technical debt: Platform limits as architecture

Governor limits encourage efficient multi-tenant design and must influence architecture from the beginning. This retrospective daily note considers how to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Architecture

Containing technical debt: 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 to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Architecture

Containing technical debt: Transaction boundaries

Cross-system work cannot rely on one database transaction to guarantee an all-or-nothing outcome. This retrospective daily note considers how to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Architecture

Containing technical debt: Idempotent integrations

A request may be delivered more than once; a dependable receiver must make repetition safe. This retrospective daily note considers how to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Architecture

Containing technical debt: 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 to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Architecture

Containing technical debt: 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 to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Architecture

Containing technical debt: 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 to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Architecture

Containing technical debt: 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 to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Architecture

Containing technical debt: Event-driven Salesforce

Events allow systems to announce meaningful change without controlling every downstream reaction. This retrospective daily note considers how to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Architecture

Containing technical debt: 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 to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Architecture

Containing technical debt: Integration ownership

Every integration needs an explicit owner for its business contract, data meaning and operational health. This retrospective daily note considers how to prevent a short-term compromise from becoming permanent architecture.

Read daily note
Platform Operations

Measuring what matters: Backup and recovery

Data protection requires tested recovery objectives, not only confidence that a backup exists. This retrospective daily note considers the operational evidence that shows whether the design is creating value.

Read daily note
Platform Operations

Measuring what matters: Deployment observability

Delivery metrics should show whether change is becoming safer and faster, not merely count deployments. This retrospective daily note considers the operational evidence that shows whether the design is creating value.

Read daily note