In Football or Software, Consistency is Everything

By Nigel Cheshire

Even if you’re not an American Football fan, you can probably relate to this story.

It’s the first round of the NFL playoffs, the knockout competition at the end of the regular season that culminates in Super Bowl Sunday. The Chicago Bears have finished top of their division for the first time since 2010, securing their place in the playoffs. The Bears are playing the Philadelphia Eagles in this game, and we’re into the final 10 seconds of a very close contest. The Eagles are up by 16-15, but the Bears have a 43-yard field goal opportunity. For the uninitiated, scoring a field goal, which involves kicking the ball from that 43 yard distance between the goal posts, would score 3 points for Chicago, thereby winning them the game.

At this point, Bears kicker Cody Parkey takes to the field to take the kick. What happens next has been described as the double-doink that was heard around the world - Parkey takes the kick, the ball bounces off the upright, ricochets onto the crossbar and lands… on the wrong side of the goal line. The Bears are out, and the Eagles advance to the next round.

 
 

All thrilling stuff, but one of the things that this story highlights to me is the level of specialization in an NFL football team. Outside of North America, where soccer is the most common team sport, people are used to the idea that, largely speaking, the 11 players who take the field at the start of the game are the same 11 players who leave the field at the end of the game. There’s very little substitution in the meantime. The NFL teams, by contrast, have an offensive team, a completely different defensive team, and then specialists like Parkey, who do just one thing. (Usually, very well.)

The purpose of all this specialization is obviously to maximize quality and especially consistency of performance. I’m not sure what a placekicker does to practice, but I’m guessing it’s mostly kicking field goals. Over, and over, and over again, from different angles and different distances. But the objective is the same: to consistently kick the ball between the goalposts every time you’re called upon.

Consistency is important in software development too. And in the world of IBM Notes and Domino development, it’s most important when it comes to deploying applications from development or test into production. Not everyone separates out their development, test and production environments, but of course it’s a best practice to do so. But as you move (or “promote”) your application design from one environment to the next, it’s vital to be able to do it in a consistent way.

There are many small and seemingly unimportant steps that must be completed in any application promotion, and getting any one of them wrong can result in problems when the application gets deployed to production. For example, you may need to:

  • Set the database title

  • Set the template name if this is a master template or set or clear the “inherited from” template name

  • Set the template version, name and date

  • Compile all LotusScript in the database design

  • Set the name of the server that scheduled agents are to run on

  • Enable or disable agents based on the server the application is running on

  • Review and clear “prohibit design refresh” at an individual design element level

  • Sign the database with a known Notes ID

If this were football, the best way to ensure that all these tasks were completed consistently every time would be to practice them. But software is not a test of human skill where your ability to perform these tasks is pitched against an opposing team. Also, we can use tools to help! Which is why we created Teamstudio Build Manager.

Build Manager allows you to carefully define each step that’s needed to promote your database design from development into test or from test into production. You can then automate the process, ensuring that the steps are executed consistently each time you make a new version.

If Build Manager could automate the process of scoring field goals, I’m pretty sure Cody Parkey would be interested.

If you’re responsible for managing the release of new versions of Notes and Domino applications, and you want to learn more about automating the process, click below to start a conversation. We’re always happy to chat!