(For a more up to date version of this site visit www.SoftwarePerformanceEngineering.com)
Welcome to Software Performance Engineering for IT Systems. While IT Systems need to keep managing ever increasing workloads the basic sense of engineering for performance is missing in most implementations. Performance Engineering needs to start right from the requirements phase but the reality today is that performance is looked at either during testing or once the system goes live. Most IT managers do not wish to compromise on time to market and believe that performance can be managed by adding hardware on the fly or tuning production systems while in operation. This leads to either high cost of capacity or significant delays or worse still the IT system landing up in a complete disaster.
By performance we mean response time for end users or throughput in terms of business transactions per second. Enterprises invest in capacity to meet these performance targets and then keep monitoring the infrastructure and add more and more capacity as time progresses. What is truly needed is to treat performance as an integrated aspect of the software implementation or maintenance lifecyle. Corresponding to each phase of the SDLC (software development lifecycle) we need to have a corresponding phase for performance engineering as shown below.
 Software Development Life Cycle      Performance Engineering Life Cycle
 Requirements gathering and analysis  Performance requirements gathering and analysis
 Architecture and design  Architecture and design engineering for performance,
 Capacity Planning
 Functional specifications for developers      Performance targets for developers
 Coding      Profiling and Code optimization    
 Testing  Performance Testing
 Production Rollout  Performance monitoring and capacity management
Performance needs to be engineered early in the lifecycle of software. The use of simple performance models as well as common sense helps tremendously in ensuring that glaring blunders are avoided by the time the system goes live in production. For more details of each aspect of the Performance Engineering Lifecycle click on the links above.