“It’s a small, dynamic company.” “We’re growing, and growing fast!” “Our agile team needs some strong management, and we think you’re right for the job.” “Your paycheck is going to be so large Ed McMahon will deliver it.”
Michael had heard this pitch before, but this time, he decided to take the position. The IT director, Lisa, had her head on straight and a clear vision for what she wanted from Michael and his new team. Those eight developers and eight testers had languished without any meaningful oversight for the better part of a year. The result: a team behind schedule, over budget, and the best developers fleeing for better prospects.
With Lisa backing his decisions, Michael waded into the muck, protected by confidence. He started the cleanup process with one-on-one sessions with everyone on the team. Jeffery was cheerfully optimistic about their prospects. “I’ve only been here six months, but I’ve seen a big turn-around. Our last sprint delivered its targets, and with fewer defects than ever.”
Larry, the senior-most developer, saw a far more dire future. “I’ve gotta be honest, I think we’ve been too micromanaged the past few months. Jeffery knows how to play politics and avoid doing any real work. The entire time he’s been here, he’s gotten management to help him avoid work.”
The rest of the team agreed with Larry. Jeffery wasn’t a slacker, but an active obstacle who worked to erect barriers to the central goal of getting things done. Michael knew that this would be a serious problem in the long run, so he scheduled some extra time with Larry to get to the root of the problem. What was Jeffery doing to hold the team back?
Pleased to be the center of attention, Larry explained. “For starters, Jeff refuses to touch the code. Just refuses.”
“Interesting, because he’s done the most check-ins during the past month.”
“Oh, check-ins, sure. Him and that cockamamie source-control stuff. It’s a great way to look busy when you aren’t actually doing any work. We’re running ourselves ragged, working right on the production boxes.”
“You… you change live code?”
“That’s right,” Larry said. “We’re serious around here. ‘Performing without a net’, as I like to call it. ’Course, now, we’ve got to put everything through source control or Lisa comes storming down here in a fit. It’s a real pain.”
“I see… and what else has Jeffery been doing?”
Larry spent a moment in thought. “Well, here’s a good example- we needed to make some changes across all 25 customer databases. And Jeffery refused to do it.”
“Refused?”
“Refused. He wanted to write a script, then he wanted to spend a few days testing the script in DEV and STG. Ain’t nobody got time for that. I went ahead and made the changes myself.”
Larry happily went on, listing Jeffery’s vile sins against productivity. Jeffery was unsatisfied with the efficient system of tracking defects by word-of-mouth and the odd email; he demanded an actual defect tracking system. Jeffery wanted to use continuous integration and waste time writing unit tests for vital modules. His worst sin of all was refusing to sign off on releases with easily exploitable SQL injection vulnerabilities. “Our end users just aren’t smart enough to know how to exploit them, anyway. It’s such a non-issue.”
Michael sat down with Lisa, and laid out his opinions on this conflict: Larry, not Jeffery, was the biggest obstacle to team success.
Lisa agreed. “Larry wouldn’t know bad code if it lodged in his anus and threw a noisy party.” Together, they made Jeffery the team lead and moved Larry towards an infrastructure role.
Things turned around. The burndown chart fell faster than Facebook’s stock price. With management support, Jeffery put even more effort into helping the team be successful. He volunteered lunchtimes to teach the others how source-control helped them. He worked extra hours adding unit tests. After ten weeks, they were close to a shippable release.
After eight weeks, however, the money ran out. Their initial release target dates were so far in the past only archaeologists were interested in them. Investors and creditors asked uncomfortable questions about their money. Upper management did what upper management always does when money is tight: cut costs. Michael and Lisa, as management overhead, went out the door first. Jeffery, who was the newest developer and who negotiated a great starting salary followed them.
Larry had been with the company since the dawn of time. Larry hadn’t seen a raise in six years. Larry cost little. Larry not only kept his job, but was promoted to fill the management vacuum. Now, he had to do the jobs of Michael, Lisa and Jeffery on top of his usual work. Larry had no fear, because he had some ideas for making the team more efficient. The first thing he did was get rid of that pesky source control system…