Learning from Project Runway
I was watching Project Runway last night (don't judge π), and this particular season's dysfunction-for-entertainment aligns closely with the problems of many (certainly not all) software shops. Let's discuss.
First, if you haven't watched the show, the basic idea is to force creative people to work under insane time pressure to produce spectacular results by an arbitrary deadline. Sound familiar?
The show is often more about time management than creativity and ability. The best designers fail if they can't meet the deadline, which is deemed more important than actual results. Often, the clothes on the runway are held together with pins and hot glue. Looks good for 10 minutes; falls apart in actual use. Sound familiar?
This season has all been about "team challenges." A bunch of loner ego-forward designers are forced to work together as a team to achieve a common goal: a coherent fashion line based on a well-defined (or not) theme. They fail. Sound familiar?
The first problem is that the fashion designers don't want to be on a team at all. They think it slows them down and hampers their creativity; they balk at not being able to make their own choices. So, the team members are constantly undermining the team by going off on their ownβoften without realizing it.
Development teams often work in precisely this way. The accepted practices they use are designed to undermine the team and promote the individual. It's intentional. For example, when we break a problem down into distinct chunks, each assigned to a separate person, we are breaking up the team.
People working next to each other on entirely different things, often not talking to each other as they do that, is not a team at all.
On Project Runway, the team members are ultimately judged as individuals. The best people have zero incentive to help anyone, so they don't. Usually, that results in the entire team failing. Those "best" people are dragged down by the people they refused to help. Individual performance bonuses, anyone?
Of course, there's a Dunning-Krueger problem, too. The weakest people on the team often reject help because they can't assess their own competence.
Finally, the Project Runway teams have a twisted notion of both "leadership" and being "a team player." The leaders usually think they have to order people around. They not only don't solicit input, but actively ignore it. They impose their ideas on the team, even when the team is dubious. Meanwhile, many team members won't speak up or push back. They don't contribute their personal strengths because they imagine they can't do that and still be a "team player." Put another way, there's a complete absence of psychological safety.
None of this behavior is helpful, of course. Maybe it's time to stop running our software organizations as if we were a reality show. It's not working.