Peopleware: Productive Projects and Teams, Second Edition
by Tom DeMarco & Timothy Lister
The value of jelled teams will be obvious to you if you have already had the enjoyable experience of working on one. But just in case you haven't, this chapter is intended to give you some sense of what they're like. Presented below is a story of a well-known team that began to make its mark in the early 1960s. Some of the lore of this team must surely be exaggerated, but it makes a good yarn and at least most of it is true.
Back in the dawn of time (relatively speaking), there was a company in upper New York State that made large blue computers. The company also made software to run on these computers. Customers of this company were nice enough folks, but just between us, they could be awfully poor sports about software delivered with bugs. For a while, the company put its efforts into training the customers to make them more tolerant of bugs. But this approach didn't work out, so they bit the bullet and decided to get rid of the bugs instead.
The easy and obvious approach was to have the programmers remove all the bugs prior to delivery. For some reason this didn't work too well either. It seems that the programmers (at least the ones back in those days) were rather too inclined to believe the best of their programs. Try as they might, they couldn't find the last remaining bugs, so they often declared the software to be done when there were still lots of bugs.
Finding the last bug was hard, but some testers were better than others. The company formed a group of these particular talented testers and gave them the charter to do final testing on critical software before it was sent to the customers. Thus was born the legendary Black Team.
The Black Team was initially made up of people who had proved themselves to be slightly better at testing than their peers. They were slightly more motivated. They also were testing code that had been written by someone else, so they were free of the cognitive dissonance that hampers developers when testing their own programs. All in all, those who formed the team might have expected it to achieve at least a modest improvement in product quality, but they didn't expect more than that. What they got was much more than that.
The most surprising thing about the Black Team was not how good it was at the beginning, but how much it improved during the next year. Some magic was happening: The team was forming a personality of its own. This personality was being shaped by an adversary philosophy of testing that evolved among group members, a philosophy that they had to want and expect to find defects. They were not rooting for the developers at all, quite the opposite. They were delighting in submitting the program (and the programmer) to a sequence that was not just a test, but an ordeal. Bringing your program in for Black Team testing was like appearing before Ming the Merciless.
At first it was simply a joke that the tests they ran were mean and nasty, and that the team members actually loved to make your code fail. Then it wasn't a joke at all. They began to cultivate an image of destroyers. What they destroyed was not only your code but your whole day. They did monstrously unfair things to elicit failure, overloading the buffers, comparing empty files and keying in outrageous input sequences. Grown men and women were reduced to tears by watching their programs misbehave under the demented handling of these fiends. They worse they made you feel, the more they enjoyed it.
To enhance the growning image of nastiness, team members began to dress in black (hence the name Black Team). They took to cackling horribly whenever a program failed. Some of the members grew long mustaches that they could twirl in Simon Legree fashion. They'd get together and work out ever more awful testing ploys. Programmers began to mutter about the diseased minds on the Black Team.
Needless to say, the company was delighted. Every defect the team found was one that the customers wouldn't find. The team was a success. It succeeded as a test group, but more importantly for our purposes here, it succeeded as a social unit. People on the team got such a kick out of what they were doing that colleagues outside the team were positively jealous. The black outfits and the silly exaggerated behavior were part of the fun, but there was something much more fundamental going on. The chemistry within the group had become an end in itself.
Over time, members of the team moved on one at a time to other things. Since the team function was important to the company, departing members were replaced immediately. The continued until finally there wasn't a single member left of the original group. But there was still a Black Team. The team survived the loss of all its original staff, and it emerged with its energy and its personality intact.
(If you liked this chapter, This Usenet thread on the book might interest you.)