Home / Companies / New Relic / Blog / Post Details
Content Deep Dive

How to do capacity planning for software development teams

Blog post from New Relic

Post Details
Company
Date Published
Author
Terri Haber
Word Count
2,138
Language
English
Hacker News Points
-
Summary

Capacity planning is a crucial aspect of software development that involves ensuring services have enough spare capacity to handle expected workload increases and normal spikes. It's a collaborative effort involving multiple stakeholders, including developers, project managers, and IT operations teams. Capacity planning can be done on short-term or long-term basis, with the former focusing on immediate resource needs and the latter taking a more extended view to accommodate growth and align with business goals. The benefits of capacity planning include efficient resource utilization, cost-savings, enhanced system performance, scalability, and risk mitigation. There are four common methodologies for calculating capacity: service-starvation analysis, load-generation analysis, static-resource analysis, and others. A typical capacity planning process involves calculating free capacity, determining the safest minimum amount of free capacity needed, scaling services to at least n+2 instances, projecting workload growth, and calculating additional capacity needed. Teams should regularly review and iterate on their capacity plans to ensure they remain accurate and effective in preventing production-level incidents.