Thursday, August 19, 2010

SPM Application Scalability




A very common line of questioning that I hear from clients is around scalability and their concerns with the different applications being able to handle a particular size of sales force or the volume of business events that they would like to pay on.

  • Brief Aside – A business event can be Billing, Shipping, Invoicing, Cash, Booking, Clearing Credit or anything else that you would like to trigger a compensation event.
The quick answer on SPM scalability is if you have less than 10 Sales Representatives or more than 100,000 or would like to pay on a handful of business events or tens of millions of business events per pay period there is one or more third party applications that can handle this. Sounds great in principle but unfortunately stopping here would be doing a great disservice to clients as the short answer never tells the whole story.

To really answer these Scalability questions we need to do some further investigation into the client's needs, performance expectations and vision of the enabling technology. The first thing I like to find out is the performance expectations. What is an acceptable length of time to process commissions from data load to report generation? This provides a good baseline for the rest of the scalability answer, as needing things to run in 15 minutes is a lot different than being happy with an overnight process.

The next piece of the conversation is a multi-dimensional view of system usage that I call Intensity. The factors of intensity are the potential limiters or bottlenecks that will cause the various systems performance to degrade processing to an unacceptable cycle time or cause SLA's to not be met. A good analogy for Intensity is MPG for your car. The sticker may say 25 MPG for your new car but your actual experience turns out to be something much less. What causes the difference? Well the sticker MPG is based on something unrealistic like a strong tailwind, going downhill, smooth acceleration and with just the driver in the car. You want to drive in varying wind conditions, sometimes going uphill, with the A/C on high, half of the soccer team in back and rapidly accelerating into traffic to merge only to find yourself playing stop and go on the freeway - This is Intensity.

 Some example factors of SPM application Intensity to consider include:

  • Number of Payees
  • Number of Compensable business events to be processed
  • The Ratio of single business events to number of people who get paid (think Direct Sales Rep, Manager, Director, VP, Sales Engineer, Channel Sales Manager, etc.)
  • Complexity of Configuration
  • Number of Reports
  • Number of Concurrent Users
  • Number of Cycles per pay period
The applications in the Sales Performance Management space have different ways of scaling to handle load such as flexible application grid servers that grow by adding CPU's and the associated memory, pushing the work back to the database server, or leveraging a distributed workload in the Cloud but in general the top plays in the space are all scalable within reason but with associated cost. At this point in time we can diverge into a Cost/ Benefit or ROI discussion, take a rough estimate at costs based on the expectation and vision or perhaps the client has a budget number in mind to spend on environments or hosting and we can use that rough number as a baseline to continue.

At this point we are ready to match up the client requirements around scalability to the different applications in the space and give an objective answer to the question of what systems can meet or exceed these requirements.

Before wrapping up I wanted to quickly mention Performance Tuning as this is an issue I see frequently with customers that have already deployed an application and are now wondering how to make it faster. For implementations that we weren't originally involved with, we rarely see an aligned administration organization, proper training, optimized processes or expertly tuned configuration. I'll save that for another post but the short story (see above) is generally there are ways to improve system performance.

Let me know if you have any questions about matching up your organizations scalability requirements with the different vendors in the space.

No comments: