brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
capacity-planningDecides how much infrastructure a system needs — headroom for growth, scaling policy, and the cost of both. Use this whenever the user asks how much capacity is needed, mentions autoscaling or right-sizing, is planning for a traffic event or seasonal peak, or is trying to cut infrastructure cost without breaking reliability. For measuring where the system b…
Independent GitHub snapshot · Automated classification · Original documentation governs
Capacity planning turns a measured ceiling into a decision about money and risk. It starts where
load-testing finishes: that tells you where the system breaks; this decides how far from that
point you choose to run, and what it costs.
Two symmetrical failures. Under-provisioned and you fail during the event you knew was coming. Over-provisioned and you pay for idle capacity indefinitely, which is invisible and therefore never fixed.
You cannot plan without both:
Measure peak at a fine granularity. Hourly averages smooth away the ten-minute spike that actually saturates you.
Done when: you can state current headroom as a multiple.
There is no universal right answer. It depends on:
Done when: the target headroom has a stated reason.
Project to your lead time plus the review interval, not to next year. Planning further out than you can act is a forecasting exercise, not capacity planning.
Done when: the projection covers the next planning horizon with events marked.
The bottleneck is rarely CPU, though CPU is what dashboards show first.
Check each in turn: connection pool size, database connections, thread pool, file descriptors, memory per instance, disk IOPS, network bandwidth, and any third-party rate limit.
Adding application instances does not help when the constraint is the database, and it often makes things worse by increasing connection pressure. This is the single most common capacity mistake — scaling the tier that is easy to scale rather than the one that is saturated.
Done when: you know which resource saturates first and have planned for that one.
Autoscaling is not a substitute for headroom — it has lag, and the lag is where you fail.
Done when: the floor covers the spike and the ceiling caps the spend.
Capacity decisions are spending decisions, and stating the number makes the trade-off real.
Done when: the plan states both the capacity and what it costs.
Give current headroom, projected headroom at the horizon, the constraining resource, the scaling policy, and the cost. Note the assumptions in the growth projection — those are what will be wrong, and naming them lets someone else check your arithmetic.