Skip navigation.

Software Performance Engineering

design & development | performance testing
Trying to make some suggestions for Building Responsive and Scalable Applications panel I contemplated for a while on this topic.

For a long time we have Software Performance Engineering addressing these issues. As it described in the books and papers of Dr. Connie Smith and Dr. Lloyd Williams, it looks rather as a methodology for me.

I wonder if we could define Software Performance Engineering as an area of knowledge or a discipline and if this point of view could make a difference.

If it is an area of knowledge, we probably could define its parts / sub-areas / methods. Just to outline what software performance engineering covers and structure this large topic a little.

Here are some sub-topics I was able to think of, grouped by software lifecycle phases:

Software requirements -> Performance Requirements

Software design -> Modeling, Architecture Patterns/Anti-patterns, Performance Design Reviews, Prototyping

Software construction -> Instrumentation, Implementation Patterns/Anti-patterns (product/platform specific), Profiling, Performance Implementation Reviews

Software testing -> Performance Testing

Software maintenance -> Measurements

Another thought

It looks like a good list. At the end I think you should add tuning and capacity management particularly as you will be discussing this at a CMG event!

I also think there may be a sub-topic of performance risk assessment. A key skill for any software performance engineer is determining the level of SPE activities that are needed during a project as it is not a case of one size fits all.

Comment viewing options

Select your preferred way to display the comments and click 'Save settings' to activate your changes.