SAID Principle
Specific Adaptation to Imposed Demands — you get good at exactly what you train. Systems and test suites do too, so make the training look like production.
SAID stands for Specific Adaptation to Imposed Demands. Put a particular kind of stress on muscles and the nervous system, enough of it, often enough, and the body adapts to that stress. Not to stress in general. To that one.
It sounds obvious. It took me a while to believe it.
In the gym
My weighted pull-ups went up steadily for a year, eventually to a single at roughly 1.75× bodyweight (total load). I assumed my muscle-up would follow. It didn’t, not straight away. A muscle-up needs a high pull, an explosive transition over the rings or bar, and a deep dip, all in one movement with a specific grip. Heavy pull-ups train a slow, vertical pull to the chin. Related, useful, but not the same demand.
What actually moved the muscle-up was practising the muscle-up: false-grip hangs, slow negatives through the transition, low-ring transition drills, banded reps. More in The Muscle-Up Transition.
The same applied elsewhere:
- L-sit and hollow-body pull-ups carried over to skills better than plain weighted pull-ups, because the core and body position are part of the skill.
- Handstand balance only improved with handstand practice. Strength made it easier to hold, but the corrections are a skill of their own (Balance Is a Control Loop).
- Running and calisthenics don’t transfer to each other much, which is why I train both deliberately.
Gym strength is a great base. Specificity is what turns it into the skill.
In software
Systems, and the teams running them, adapt to the demands you put on them, too. If staging never sees realistic traffic, flaky networks, odd data shapes or a dependency going down, then your release process is training for a different sport.
Where test suites quietly train the wrong thing:
- Happy-path mocks. Every API call succeeds instantly with perfect data. Production has timeouts, 500s, partial responses and slow third parties.
- Fast machines and fast networks. Developers’ laptops are the weighted pull-up; a mid-range phone on a train is the muscle-up.
- Synthetic data. Ten neat rows where production has ten thousand messy ones, with Unicode and nulls.
- Never practising failure. The first time anyone restores from backup is during the incident.
Cheap ways to add specificity
- Failure fixtures. Mock the network at the boundary (I like MSW for this) and write scenarios for errors, slow responses and empty states, not just success.
- Throttle by default. Run end-to-end tests and local dev with CPU and network throttling for some of the time.
- Record and replay real traffic shapes (anonymised) for load tests, rather than uniform synthetic load.
- Game days. Turn a dependency off on purpose in a safe environment and see what the system and the team do. This is end-range save practice for systems.
- Production-like data volumes in at least one environment.
The principle underneath
Adaptation follows demand. If you want a system that copes with production, the training has to look like production. And if you want a team that handles incidents calmly, they need to have practised the thing before it matters.
Sources
- Sale, D. & MacDougall, D. (1981). Specificity in strength training: a review for the coach and athlete. Canadian Journal of Applied Sport Sciences, 6(2), 87–92.
- r/bodyweightfitness wiki, on skill-specific practice and the limits of strength transfer.
- Mock Service Worker documentation (mswjs.io), for network-level failure scenarios.
- #said
- #specificity
- #testing
- #production-readiness
- #training-principles
↩ Linked from (3)
…ctise that movement, under conditions close to the real thing. (The training side is covered in more depth in SAID Principle.)
- The Muscle-Up TransitionGrowing
Heavy weighted pull-ups help, but less than you'd hope. Pulling height and speed are a specific demand (SAID in action).
- Weighted Pull-ups and DipsGrowing
But specificity applies: heavy pull-ups didn't give me a muscle-up on their own. They raise the ceiling; skill practice uses it.
↪ Links to (2)
Related by topic
- Growingmetaphor
Golden Paths and the Recommended Routine
Calisthenics Lab - Growingmetaphor
Progressive Overload and Incremental Migration
Calisthenics Lab - Seedmetaphor
Regress, Don't Grind: Graceful Degradation
Calisthenics Lab - Growingcase study
A Testing Strategy Teams Actually Adopted
Frontend craft