Long before the NASCAR, there was the chariot race in ancient Rome depicted in the movie Ben-Hur. Before he won the incredible race, Judah Ben-Hur already had keen eyes for all the fine Arabian horses he got from the original owner. He told the Sheik:
“Your horses are very fine, but they’re not a team… you should run the slow horse on the inside where he can steady the others in the turns.” Ben-Hur shortened the yoke and put the steady horse on the inside, and the swiftest on the outside.
Ben-Hur was a driver worthy of the fine horses he had. He knew his horses and was able to make the four run like one. His opponent, the Roman general Messala, was equipped with much better gear but still lost to Ben-Hur because his chariot crashed and disintegrated; Ben-Hur arrived first at the finish line because his horses ran as a team, both fast on the lanes and steady at turns.
Leading a software development team is like driving a chariot: the winner needs to be both fast and steady. Some teams are fast in writing codes but produce lots of defects at each release; some teams have stable releases but never make the deadline.
In order to win the race in software development, simply having better equipment and great “horses” won’t do the job. You must know your “horses”, knowing each developer’s strengths and weaknesses — then you can leverage each individual’s skills into a team strategy so they can cover each other’s weaknesses and magnify each member’s strengths.
The tight turns in the racetrack are like your tight release schedules: find your horse to steady your turn. The sharp wheel scythes of the opponent’s chariot are like the project risks: identify them early and keep a distance from them.
The world never has a lack of good horses, only great drivers. I have no doubt that Ben-Hur would make a great software development manager today.
This piece was originally written by Isaac Shi on March 25, 2011