My team at John Deere ISG, as well as some teams I worked with at Canonical, practiced continuous deployment of software projects. This is a process that reduces the work needed to deploy software updates so that changes can be deployed frequently. In most ways this is a huge improvement that initially takes some work and discipline, but in the long run reduces the burden on your tech staff and increases users’ satisfaction because it enables fixes to be deployed quickly.
A common alternative is to do regular release cycles where you decide on a stack of features and fixes that will go out at regular intervals. For example, you may have 8 week or quarterly releases. In this scenario you dread show-stopper bugs because it means doing a hot-fix release out of cycle. If you release once or twice weekly this is close enough for most people to consider it continues deployment.
Despite the benefits of continuous deployment I think it’s important to also do regular feature releases. This gives you a point of communication with your users and enables you to keep them interested and excited in the product. Continue reading →