I met a manager recently who relayed his technique for making sure his testers stayed focused on their jobs. “Our defect-tracking system logs people off after 30 minutes of idle time. If they're logged off, I know they're not working.”
This was a new one for me. I've heard of counting lines of code. I've heard of counting cars in the parking lot at 7pm. I've heard of counting number of defects found or fixed (depending on whether you're a tester or developer). All of which are incredibly stupid measures. But this is the first time I heard a manager use a necessary tool to determine who was working.
I can think of lots of reasons a person might not be actively working in the tool. I played the bounce-back game with a developer many years ago (“it's a defect”… “No it's not” … “yes it is” … “No it's not”…) until I finally decided that what the developer was really saying was “I can't see the damn defect, so it's up to you to make it obvious to me.” Took me 4 hours to create the simple test case (I'd already written up the complex test case). In that time, I referred to the defect on my screen, brought up other apps, made notes, tried a few things on my machine, done research in the lab, talked to a few people, and finally, 4 hours later, wrote the 5 steps into the defect report.
I was working the entire time. And if my manager had used licenses as a way to log me out, I'd have had to change context to get back to the defect I'd been working on before the system logged me out. I'm sure it would have taken me longer.
When I asked him why he allowed the system to log off the testers, he explained that they didn't have enough licenses for all the developers and all the testers to have the defect tracking system open at all times. How much was a license? $1500. Each licenses costs 3 person-days. How many person-days do you think they've wasted because someone couldn't get a license or someone was logged off? A prime example of being penny-wise and pound-foolish.
If you need to keep the costs of development down, use agile lifecycles, or at least agile techniques. If the developers test code before they check code in, you might not even need a defect-tracking system. (Index cards will do.) But don't keep the cost of development down by not providing all your technical staff with the tools they need. One manager's salary (and there's almost always a surfeit of managers in organizations like this) will pay for all the tools you need.
To track work, track completed, deliverable work (features/requirements implemented, tested, built, and able to be delivered to a customer). There is no other substitute.