“The deployment production line” is an article with a few agile tips on deployment. The abstract suggests that the article will show user how to deploy software quickly with the ability to fall back to a previous version. The article certainly recognizes the technical challenges of deployment, which are usually manual processes, error prone, and hard to automate. Realizing such challenge, the article recommends automation as an agile practice without providing much strategy insights on how one may overcome such challenge. Given that this is only a six-page article and the authors specifically only outline the principles, the article offers little value for practitioners, at least for the type of deployment work that are not exactly similar to author’s experience.
The way that the authors described their best practices suggested that they were working with projects with Java/J2EE source code, using Ant, Subversion, CruiseControl, and WebLogic. In another words, authors presented their case from a developer’s point-of-view rather than from a deployer’s point-of-view. The article focued on tips and best practices on reaching production quality software. It focused less on how to take production quality software and deploy it to different customer production environments that may integrate with other applications. Such stage of software life cycle could require manual processes, error prone, and hard to automate.
A deployer may not have access to source code and mostly work with binary, configuration interfaces, and configuration files. The deployer may benefit from better quality of software as a result of applying tips/best practices in this article, he/she probably does not have a direct influence on how the development organization practices development. So, the target audiences for this article really are for developers and release engineers in the development department of an organization, not system engineers or consultants working on customer production site.
Having said that, the article attempts to address deployment issues by focusing on development improvements. This is a good and a highly recommended approach to address the root cause of software quality issues. However, such paper does not help deployment engineers on the field working on customer deployments with released software that may not have all desirable qualities. Given my understanding of the abstract, the article does not offer as much insights on the last stage of “the deployment production line” as I liked. This doesn’t mean that it isn’t a good or bad article. Just don’t expect it to solve all of your deployment issues. 🙂