Programming
Progressive overload, precisely
"Do more over time" is true but useless. Here are the five things you can actually add, and the order to add them in.
Read first:How to actually start2 min
Contents — four sections

Progressive overload is the one principle that survives every argument in training. It is also the one most often stated in a form too vague to act on. “Do more over time” does not tell you what to do on Tuesday.
Here is the actionable version: there are five variables you can increase, they are not interchangeable, and they have an order.
The five
1. Repetitions. Same weight, more reps. Cheapest, safest, and where nearly all progression should start.
2. Load. More weight, same reps. The one everyone thinks of first. Best added only once the rep target is met comfortably.
3. Sets. More total work per session. Effective, but it costs time and recovery, and it has a ceiling.
4. Proximity to failure. Same work, closer to the limit. Powerful, expensive in fatigue, and easy to overuse.
5. Range of motion or control. Better execution of the same numbers. Usually improves results without touching the load at all.
The double progression method
The simplest scheme that uses this properly, and the one worth defaulting to:
Pick a rep range — say 8 to 12. Start at a weight where 8 is comfortable. Each session, try to add a rep to a set. When every set hits 12, add the smallest available weight increment and drop back to 8.
That is it. You climb reps, then bump load, then climb again. It self-regulates, needs no maths, and works for years.
Why progression stalls
Almost always one of these:
You are not recording. You cannot beat a number you do not know. This is the single most common cause and the easiest to fix.
You are adding load too fast. Jumping 5kg when 1kg was available means you fail the rep target and stall, then repeat the same jump next week. Small increments compound faster than large ones because they do not force resets.
You are training too close to failure, too often. Fatigue accumulates faster than adaptation, and the numbers stop moving even though effort is high. Counterintuitively, backing off makes them move again.
Nothing is wrong and you are intermediate now. Session-to-session progress is a beginner phenomenon. Later it becomes week-to-week, then month-to-month. A slowing rate is not a failure; expecting the beginner rate to continue is the error.
The thing underneath
Progressive overload is not really a training rule. It is a bookkeeping rule that happens to produce training.
The work is a stimulus; the adaptation is the response; the record is the only way you know which is happening. Everything else in programming is detail on top of: write it down, and beat it slightly.