“Then there is the man who drowned crossing a stream with an average depth of six inches.”
– W.I.E. Gates
This pretty much sums up the problem I have seen with how Performance and Capacity requirements are far too often determined and defined.
As analysts, we are usually told things like this by our stakeholders:
- “We have 100 salespeople who create on average about 2,000 orders a day.”
- “Our financial analysts typically process about 25 price requests a day each.”
- “Our Accounts Receivables team processes an average of 500 payments a day.”
If the “Average” measurement is used as the basis on which Performance and Capacity requirements are calculated and defined for an application, then we will almost certainly “drown attempting to cross a stream with an average depth of six inches.” Having made this mistake myself and seen it repeated frequently by other analysts, here is a simple lesson I learned from the school of hard knocks:
The ONLY measure that is meaningful and relevant when it comes to defining the Performance and Capacity needs of an application is the MAXIMUM.
Repeat it to yourself. Commit it to memory. Then repeat it again to yourself.
Determine the MAXIMUM number of Quotations, Orders, Calls, Refunds, Charges, etc., the application will be expected to create, transform, handle or otherwise successfully navigate at any given time. Use this value and ONLY this value for determining the Performance and Capacity requirements of the application.
Simply put, what volume, throughput, capacity (or performance measure appropriate to your situation) do the Users expect the application to handle on the busiest hour (minute, second, millisecond…) of the busiest day of the year? This number should be used to estimate and define the appropriate Performance and Capacity requirements for your application.
This MAXIMUM value can be significantly different from the Average. For example, your company could process an Average of 2,000 Orders a day but spike on Black Friday and hit an annual Peak (Maximum) of 20,000 Orders. If you defined your Performance and Capacity requirements around the Average transaction volume of 2,000 per day, it is almost certain that come Black Friday, your application will “give up the ghost and sleep with the fishes.”
Sadly, applications that meet untimely ends seldom “sleep ‘alone’ with the fishes.” Like the pharaohs of ages past, they are buried with their favorite baubles and those who were nearest and dearest to them while they still walked in the land of the living. And that is how one ends up drowning trying to cross a stream with an “average” depth of six inches.
Remind yourself of the story of the man who drowned crossing the stream with an average depth of six inches of water every time you see step across a puddle. You will thank me, one day.