I used to watch NBA game quite a bit. I noticed in many teams, there are usually a go-to-guy who attempts the last shot, in close game. This is especially true in important games, such as playoff or elimination games. We all know Kobe Bryan and Lebron James are among those. Is there such a role in software development? Is this role becoming less obvious with the pair programming? When I reflect about all the places I worked, I think the answer is yes for the first question. Actually I played that role from time to time.
And again use that basket ball analogy, I think in a truly agile team everyone can be the go-to-guy. Because in that case, basically the opposing team cannot easily defend, which is ideal for the team. On the other hand, the opposing team just needs to figure out how to defend Lebron James, and they will be more likely be successful. At the same time, Mr. James will get frustrated too as teammate cannot step up, and the loss of games.
This is a bit fitting as we are at march madness, the traditional NCAA basketball playoff game season.