As software leaders, we’re always one moment away from capacity overload — whether it be because one new project lands on our plate, we have to jump to firefight an unexpected break, or we receive a team “quit” during a critical sprint.
In my last blog, I offered up three steps to take when you reach the point of capacity. You can dive into those tips by clicking here.
But today, I want to explore the back side of the same coin: what to do TODAY to prepare for peak surges TOMORROW. The periods of intense work — and the need to continually master the SDLC shuffle between “strategy” and “emergency” — will always characterize our software factory environment. But if we embrace a strategic approach, combined with technical expertise and strong leadership, we can navigate these high-stress periods while maintaining Quality of Product.
Here are 5 things to consider:
- Focus on When, Not If: Capacity overwhelm is not a matter of if; it’s a matter of when. Therefore, embrace a mindset that anticipates the surge by identifying potential peak periods early. This could mean analyzing software factory data — particularly user and production system performance data — to predict increases in demand; evaluating your team’s current capacity versus the demands of the surge; and having a constant handle on the skills, experience, and availability — or lack thereof — in your internal team. When you assume when, not if, it enables you to get ahead of planning and respond earlier when things are still manageable, versus later when they’ve hit a peak overwhelm. It is good to “pre-position” potential surge resources so you can react quickly with “reinforcements” who are known qualities — tried and true.
- Be Mindful of Your Architecture: Technical preparedness is paramount when trying to get ahead of your next peak cycle. For starters, ensure your software architecture can handle increased load, whether this means things like optimizing code, increasing server capacity, or implementing load balancers. And remember our point above about “when,” not “if.” That means also proactively monitoring and testing your architecture when everything is going right — e.g. implementing production health monitors and evaluating trending, refining test protocols, identifying and fixing bugs to reduce technical debt, stress testing to predict future “break points”, their characteristics and warning indicators, user acceptance testing, etc. — so that you can spot and remedy problems well before the pressure mounts.
- Inventory Your Talent: I “foreshadowed” this step in my previous blog (particularly when capacity overwhelm hits), but this tip is relevant — and a key responsiveness enabler — when we think about getting ahead of future surges. Cultivate a rigor and continuity around talent inventory strategies, always knowing who your resources are (both internally and through your partner ecosystem); the domains in which you are strong/lacking across strategy, implementation, and execution; and how your team is feeling about current capacity. Maintain open lines of communication to stay ahead of issues and keep your team aligned. (You may enjoy this blog I wrote on how to drive a high-performing SDLC function).
- Pre-Plan: Just as you have personal plans for when things gone wrong — whether it’s calling AAA if you get a flat, hiring a contractor when something breaks, keeping a fire extinguisher near your stove — it’s best to have a plan for what you would do when a surge period hits. Create a manual of “emergency procedures” that outlines tasks, response deadlines and priorities, and responsible parties. What’s more, construct the roadmap in a way that allows for flexibility and instant adjustments so as to be able to accommodate unforeseen challenges. Remember: almost all known risks started as unknowns at some point.
- Post-Surge Analysis: When your next peak surge hits , you can derive lessons to mitigate your next one quicker. To start, collect feedback from your team and users to understand what worked and what didn’t. Review the performance during the surge. Look at key metrics like downtime, user engagement, and team productivity. And most importantly, use the insights gained to improve processes and strategies for future surges. The format of an Agile sprint retrospective works quite well for this ceremony.
Effective surge preparation in software development requires us as leaders to consolidate a couple of key ingredients such as strategic planning, data-driven decision making, tactical execution, and a deep commitment to both team and product excellence. By anticipating surges well before they occur, setting clear objectives, ensuring technical readiness, and continually managing and supporting your team, you can navigate these challenging periods with confidence and efficiency. Ultimately, the success of navigating a peak surge lies in a balanced approach that prioritizes robust technical solutions alongside a supportive and adaptive team environment, ensuring not just the success of the project, but also the long-term health and productivity of the team.
Need some immediate capacity/capability support? Is your next peak surge right around the corner? Click here to connect directly with our team and learn how we can help you prepare.