October 23, 2012

Reproducing Customer Support Issues with Resource Thief

Helix ALM
One of the things we’ve found Resource Thief to be really handy for is reproducing customer support issues. Like most software companies, we receive support calls from customers describing issues that we can’t always easily reproduce. As part of the support team's diagnostic procedure, they try and get details about the machine configuration that both the client and server applications are running on. Clues are sometimes unearthed, such as when they find out a customer's machine configuration is close to (or sometimes even under) the minimum recommended requirements. Pesky customers, always pushing the envelope! (That's a joke, we love our customers.) At this point, support often has to pass the issue to development because they can’t reproduce the issue with their standard, middle-of-the-road environments—and yet the customer issue is real. Now, things get even more difficult. The development team has high-end machines, (pesky developers, wanting to compile code quickly) so they have to use deductive reasoning to try and posit what might cause the customer's issue, follow code paths to try and come up with a reasonable explanation, and then suggest fixes that may or may not work. This all gets quite a bit easier with Resource Thief. As soon as support suspects the issue might be related to resource constraints (e.g. memory, disk), they fire up Resource Thief and start applying the appropriate limits. This helps support to quickly confirm their suspicions. Sometimes it can also help them give the customer a quick workaround, like moving other processes which eat a lot of memory (I’m looking at you, SQL Server) onto other boxes. If it’s low disk space, the customer can look for users or processes that are filling their disk up. In either case, support can give the customer a quicker response. And, when it comes to development, they can see the problem while stepping through the code, allowing them to more gracefully handle those low resource situations in the future. Nothing can be more frustrating for support engineers than playing issue Ping Pong—watching the report go back and forth between “this keeps happening” customers and “I can’t reproduce it” developers. Resource Thief allows both your support team and your development team to get these low-resource issues resolved quickly, making everyone look a little smarter.