This past Sunday, I watched the New England Patriots lose a big game to the Indianapolis Colts 35-34, and everyone is pointing to the coaching decision by head coach Bill Belichick as the cause of the loss.
Towards the end of the game, a critical situation arose that required a key coaching decision, one that meant winning or losing the game. The Patriots were facing a fourth down with two yards to go on their own 28-yard line, with 2:08 left in the game.
Normally, this is a punting situation, no questions asked. But Belichick opted to go for the first down. He clearly didn’t want to give the ball back to Payton Manning and the Colts, and I don’t blame him.
Almost everyone is calling this the worst coaching call he could have made. Of course, if the play had worked, everyone would be tripping over themselves in admiration of Bill Belichik’s guts, noting the confidence that he has in Tom Brady and the offense, how the Patriots must have ice in their veins, and so on.
From my Monday-morning quarterback vantage point, I firmly believe that if the Patriots had punted the football, Payton Manning and the Colts would have driven down field to win the game. In the end, the Patriots lost a highly competitive game, but what the heck does this have to do with software development?
Just like software development, football players execute better than the coaches. I readily acknowledge that there are plenty of ex-players who were darn good players in their day that are now coaching, but there is a difference between knowing the game and playing the game.
While age is a factor on the football field, time and experience with the latest tools becomes a factor in programming. Once someone progresses beyond a junior level, someone who is programming full time should be better able to perform the act of programming better and faster than a manager. A manager's job should involve a variety of other duties that will negate their ability to be as proficient as others who exclusively focus on programming, particularly as time marches on and new tools and technologies are introduced.
This doesn’t excuse a software manager from understanding the software game. To be effective, I am a firm believer that a manager must understand what he or she is managing. True, you may not be able to execute as well as those that you are managing, but that is OK. You do need to understand and manage what goes into producing results in order to be effective.
For example, football coaches watch and measure what goes into making the individuals and the teams better and coach the players on those aspects of the game. They want hand-offs without fumbles, they want everyone coordinating their efforts by blocking when and where they are supposed to be, running pass routes designed to provide the quarterback with options, etc.
The bottom line is that while good coaches absolutely want a higher score, they don’t fixate on the score itself. They sure as hell can’t ask players to work “overtime” in a game in order to bring up the score. The players need to execute well, and they need to review what they did right and what they did wrong, make adjustments, examining their execution from both as a team and an individual basis.
The key is to understand what it takes to be successful, and taking time to make the observations that allow you to see the problem areas in which you need to improve. This means that as a manager, you have to have your eyes on the field, observing your direct reports and the team interactions from the perspective of an informed individual, someone who knows how software should be developed as well as how to manage people and teams.
As an example – and in keeping with my football theme – is to consider what the real cause of the Patriots loss to the Colts. They have a red zone problem. The Patriots settled for two field goals in that game after driving most of the way down the field. Had they scored a touchdown instead of a field goal one of those times, they would not have faced the game-winning, pressure situation that everyone is now crucifying Bill Belichick for. They could have punted the ball away, because giving giving the Colts back the ball at that wouldn't have mattered. The Colts would have needed two scores, not one, to take the game away.
Examining the game films will reveal why the Patriots are failing to score touchdowns in the red zone – which could be a number of causes. The key is not to focus on the score and the one call that led to their losing the game. Sure, maybe punting would have worked. But scoring a touchdown instead of kicking a field goal just once – and earlier in the game – would have guaranteed victory by that now-fateful 2:08 point in the game.
In the software business, look for results, but focus on those things that go into achieving results if you want to be successful.