In how many projects have we noticed development getting completed on time, testing completed on time and finally live production usage failing because of unexpected behavior of the software  due to high Volume and Load. I am sure all of us would have experienced it. What leads to this situation is not lack of technical expertise but rather lac of awareness of what is called the NFRs – Non functional requirements.  Once these factors are known, solutions to solve this are in fact easy though is not straight forward.


Three things that always developers need to watch for while programming any use case are

Data Volume – Volume of data that is getting processed.

Concurrency – Number of parallel requests to the process, this could be from the users or internal calls

Touch point latencies – Latencies that could be experienced due to any internal/ external integration and network calls

The above parameters need to be looked at for every use case and use cases should be tagged wherever the above numbers are more.


Use the following mantras to solve the above need

1)      Acquire late release early

2)      Prefer batch processing for voluminous jobs

3)      Adopt asynchronous out of process processing

4)      Adopt scaled out design for process intensive jobs

5)      Avoid chatty calls over network

6)      Adopt good caching techniques


For a complete list of NFRs and further details please contact me at [email protected]Webinar

Jothi Rengarajan