I work for a small software firm, and I am one of two developers on staff. My coworker and I handle more than half of the support calls. Support calls are a given, there is no stopping them especially since one of the selling points of our flagship product is "free non-outsourced toll-free phone support". Usually, this gives us only a week of steady development time during the month, and sometimes the phones are so busy it leaves us with doing band-aid fixes to keep customers from calling just so we can get a little bit of the more urgent work done (more urgent == boss wanted it yesterday).
This has become a vicious cycle - the less time we devs have to work on improving the product, the fewer problems we fix and the more calls we get. The more calls we get, the less time we have to work on the product. When I was hired, I was told I wouldn't be doing support, which lasted about four months before I was given support tasks to do. Our development responsibilities have increased dramatically since I was hired, we have double the client base but still the same number of people running the show. Coworker and I have brought this to my boss's attention multiple times, but nothing has changed around here. Some of the ideas we had that were turned down:
- Scheduled development days for one dev while the other handles support
- Implementing a forum on our company's website so users can learn from each other
- Implementing a bug tracking database to share with our distributors in addition to our own benefit
- Closing early on Friday, where development staff stays to the normal time work on software issues
- Hiring another person to handle support and possibly help with documentation
- Making my phone at my desk not ring every time the incoming line rings, which is HUGELY annoying
Don't get me wrong, I see the necessity of developers supporting clients directly when it comes to errors in the code or when the office is shorthanded, especially in a small office such as ours. But having the people responsible for the reliability and success of your flagship product stuck on the phone all day rather than keeping up with bug fixes and documentation just seems like a recipe for eventual disaster.
I'm curious as to how good companies (as in, companies that don't score a 1 on the Joel Test) handle customer support with their developers?
Thank you in advance!