Tuesday, September 16, 2008

SPE - Software Performance Engineering

In my previous life as a performance engineer (I still am, but thats for later), my boss used to harp about the 7 steps of SPE. He would out of the blue, jump out and ask us - what is the SPE methodology and name the steps. Most of us would just stare out, ocassionally coming up with one or two of them (seldom in the right order).

It turned out I was reminded of it yesterday and was suggested I blog it. So - what are these famed 7 steps?

1. Assess performance risk
2. Identify critical use cases
3. Select key performance scenarios
4 Establish performance objectives
5. Construct performance models
6 Determine software resource requirements
7. Determine system resource requirements


Most of those are self explanatory. Funny thing is, in all the days I was there, we used to always try to get to that methodology and try to implement it. Ironically, we were doing it anyways, almost anybody who does anything with PerfEng has to end up doing it, but perhaps not that clearly defined.

The only one which most people may not do is Construct Performance Models -- I would replace that for existing systems with -- Construct a baseline performance model. For new systems - you can hypothesise away, but till you actually run a test, you're never going to get anything.

So - a tip of the imaginary hat to my old boss. And the bigger thing which I'm sure he'll be happy about is, that I do follow it to this day. It's insane to think that anybody who is in the PerfEng world wouldn't be doing any or all of it. To define it and to split it out into its own parts, is IMHO more academic than anything else. It's good to document those things, but in the long run, if you get stuck in the process, you don't have time to implement.

1 comment:

Steve Feldman said...

I love it...Glad to see you never gave it up :)