Drilling routine for dev teams

I am a big fan of Dan Carlin hard core history series. Currently, I am listening to Punic Nightmares series and something caught my attention. Dan explains the genius of Scipio Africanus, a roman general, who was key to roman success in the second Punic war. What caught my attention, was the fact that Scipio drilled his army intensively before a battle, independent of the fact if the soldier was a veterans or an unexperienced young man. The goal of the drill was to make the soldiers behave like an army, not like individual fighters.

I would like to project this idea to software development. In a typical software development project, a team will be assembled with people, who never worked together. This team will be asked to estimate there performance and will be dropped in to the “battle” immediately. There is no drilling routine. And as a result — estimation and performance of the team is a mess.

Solid teams perform better. Making a team go through solidification process while working on company critical project is irresponsible.

Build up a team. Drill them on a less important or even fake project. And when they are ready, put them into “battle”.

This might seem to you as an economical nightmare. What about time to market, what about development costs?

The answer is simple: Keep solid teams together!!!