Performance planning for Risk Management

Eric Gunnerson has an interesting position regarding my latest performance advice and I thought I'd respond to what he's written.

Eric counsels in part: "...I'm not sure that you should spend too much time thinking about the issues that he's talking about..." and I think he has a point.

The message that I try to give consisently is that you should understand the performance needs of your customer before you proceed.  Plan your performance goals around your customer needs and customer scenarios.

It's important to remember that there are plenty of cases -- maybe even most cases -- where it takes about 2 seconds to decide you're not going to have any kind of performance issues.  You shouldn't spend more than the 2 seconds if that's the right amount of time.

That said, there are many cases where groups made very poor choices that seemed small at the time which then compounded to disasters.  These are really only tragic when they could have been reasonably prevented by a modest amount of planning up front.

Don't get buried in details -- that's the path to premature optimization.  But DO plan in an manner that's appropriate for your system.  Use performance planning as one of the ways that you control the overall risk of delivering your system.

There are good guidelines in the performance PAG -- https://msdn.microsoft.com/perf