Between Netflix, Amazon Prime, and a busy schedule, I’ve gone without cable television for the last five or so years…up until a month or so ago when I bit the bullet (for a variety of reasons), and added a television package to our existing internet service. It’s working great so far, but the story about how we got everything working is worth sharing and pondering.
On a Wednesday evening, I called Comcast to add a television package. I knew what I wanted, so ordering was easy. The sales person told me I need to schedule an installation, so we set something up for Sunday. There was no record of our house every having cable television before, but three years ago, I had service for a short time so I could watch the 2010 world cup. So – I had a hunch that I could take care of it myself, so I made arrangements to pick up a box and try it myself.
Thursday morning I grabbed a set top box from the retail store – where the sales person confirmed that I didn’t need an installation – just a “switch flipped” on the box at the end of our driveway.
On Friday night after work, I plugged in the cable box and watched to see what would happen. I half-way expected it not to work, and I was half-right. I was getting audio for all of the channels, but no picture. I was pretty sure things on my end were correct, so I gave support a call.
I’m pretty polar on my customer service experiences. When I have a good experience, I’m elated. When I have a poor experience, I’m annoyed at best. I called support, answered some questions, pushed some buttons, and eventually found a real person to talk to. I clearly explained my situation (new box, previous cable in the house, audio is loud and clear, no picture) to the support person. As I expected, they used a script, asking me if my box was plugged in and if the cables were connected (despite that I had already explained that I had audio and was connected via HDMI). After only a minute or two, I was able to get transferred to someone else. They tried rebooting my cable box a few times before putting me on hold to “talk to a colleague”. Soon after, I was disconnected, and when I called back, the support line was closed for the evening.
On Saturday morning, I called back, and went through the same process. This time, someone eventually figured out that “ I had the wrong account codes”. But – they couldn’t change them. They had to transfer me to someone in sales who could apply the correct account codes. The sales guys did their thing. They tried to sell me a bunch of stuff I didn’t want, but eventually “applied my codes” and sent me back to support – because I still had no picture.
I spent over 30 minutes with the next support person. I still had no picture, and she had me double check all of my connections, and insisted on rebooting my cable box a few times (remember folks, reboot-is-always-a-valid-solution), but no dice. Finally, I chimed in and said, “Hey – to remind you, I ended up here because my account codes or something like that weren’t applied properly – does that help?”. After an awkward silence plus about 3 seconds, a picture appeared on my television. Problem solved! She closed by asking (certainly a Comcast standard) if there was anything else she could do for me. As a matter of fact, there was. I asked her to verify the services I was signed up for and the price I was paying. Sure enough, the guy in sales screwed it up, and I was getting services I didn’t want for more than I planned on paying. So…she transferred me back to accounts.
I explained the situation to the person in accounts, but was told that the type of account I signed up for was an account outside of her department. Her department, apparently only handled the “standard” packages, and I needed to talk to someone in “specials” or something like that. She transferred me again, and within a minute or two, my service remained up and running, and I was getting the services I wanted for the price I planned to pay.
To be clear, the television service (on top of my internet service) has been flawless. But the path to get there was nothing but.
I could go back and count everyone I had to talk to, but in reality, the problem with my experience above is that I talked to way too many people. In fact, I’d say that I talked to too many people the moment I talked to the second person. In nearly all of the great support experiences I have experienced (and have read about), I’ve been taken care of my one person (sometime a few) who were empowered to help. At Comcast, employees apparently work in silos. They have a single activity they are trained in, and allowed to perform. I’m sure that makes sense on paper (to someone), but in practice, it’s a poor experience.
Believe it or not, this post isn’t about my support complaints. It’s about making software – because I fear that many organizations are making software the same way that my cable company handles support. When you have a team of programmers who only program, testers who only test, analysts that only analyze, and managers who only manage, you have an organization that works slowly, and likely produces crap.
Not everyone, of course, has to be able to do everything, but everyone should feel empowered to do whatever is needed (within their capabilities). You should be able to write a spec, fix a bug, perform a test, or lead the team regardless of what your title says.
There’s a reasonable number of talks and articles amongst the agile community on Generalizing Specialists
By staffing a team with people who have an area of expertise, but can do anything, you can maximize the value of each delivery cycle. (reference)
It’s worth noting that the article quoted above refers to Specializing Generalists – and although it appears that many folks use the terms interchangeably, I think there’s an important distinction.
A generalizing specialist is more than just a generalist. A generalist is a jack-of-all-trades but a master of none, whereas a generalizing specialist is a jack-of-all-trades and master of a few. (reference)
Again (because for some of you, I’ll have to say it again), I’m not saying that everyone has to do everything. Your “generalist” skills don’t need to span every software activity. But I am saying that you will be more valuable to your team (and your team will work better and make better software) if everyone in your organization can do more than specialize in just one thing. This is true regardless of the methodologies and approaches used on your team. Silos and walls create waste (wasted time, wasted efforts, wasted energy, etc.).
I really don’t understand why some software teams insist on having specific roles for specific team members and offer little to no encouragement to reach beyond their silos. Great results come from great teams – and great teams (whether it’s a sports team, a sales team, or a software team) work together and compliment each others skills.