Dropping The Hammer: Chad Stachowicz Load Tests An Enterprise Call Center With Twilio

April 02, 2014
Written by

hammeracmere

chadheadshot
Managing a successful enterprise call center means that occasionally, you need to “lay down the hammer” as Chad Stachowicz puts it.

The hammer Chad is referring to is not proverbial. It is a critical aspect in ensuring call quality for the 5,500 seat Fortune 500 call center he’s tasked with managing. Dropping the hammer means load testing the maximum capacity of the call center’s infrastructure, and closely monitoring how it performs.

Before deploying new hardware into production, Chad needed to run a large scale hammer test. All did not go according to plan. But, using Twilio Chad was able to find a workaround that saved his employer thousands and thousands of dollars.

 

A Hammer, Hanging In The Balance

Chad recognized that a hammer test is an incredibly expensive, and exacting operation. You need to measure twice and cut once. As he said in his initial blog post “in general it can cost as much as $50-100k for 8 hours of testing decent load for what we need. Not something you get a lot of shots at, so the goal is to try and get it to work the first time.”

130 calls in, the hammer failed. It was offline and unresponsive, meaning the only way Chad could restart the test was to contact his call vendor to manually reboot the hardware. It failed a second time. Two hours after the initial hammer drop, Chad was out $15,000 and had no data from the initial two tests because they crashed. Trying a third hammer test with no data, and thousands of dollars on the line wasn’t an option. Chad had to find a workaround, and got started with Twilio.

 

Six Dollars, 350 Calls, And $14,994 Saved

Chad was familiar with what Twilio did, but he’d never used it hands-on before. He checked out Twilio Ruby docs, learned how to create a call using the API explorer, and got started within minutes.

Chad’s code

require 'rubygems' # not necessary with ruby 1.9 but included for completeness
require 'twilio-ruby' # put your own credentials here

account_sid = 'IXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
auth_token = '[AuthToken]' # set up a client to talk to the Twilio REST API

@client = Twilio::REST::Client.new account_sid, auth_token

@client.account.calls.create({
:from => '+11234567890',
:method => 'GET',
:fallback_method => 'GET',
:status_callback_method => 'GET',
:record => 'false' 
})

Using Twilio, Chad load tested 350 calls and got the data he needed all for six dollars, .04% of his expected initial cost. “The test was a screaming success. I put it together in a day,” said Chad. “If I can pick it up and figure it out in a day, that’s awesome.”

Adding To The Toolbelt

After using Twilio to hammer test his employer’s call center, Chad was flooded with ideas as well as feedback from his boss. The Senior Vice President of Engineering was “shocked and delighted” at the money Chad saved the company. Now, Chad is working on new ways to use Twilio Queue to streamline call center holding patterns, and proactive SMS alerts to prevent long hold times.

Read more about Chad’s work here