Manual deployments are killing your product

Does deploying your enterprise application involve any manual steps? Even just one? Maybe you need to manually copy and paste a few files, or manually edit a configuration file somewhere. Maybe you need to manually run a database script or manually change some database settings. If you are doing any of these things, you might be hurting your product more than you think.

Every manual step in a deployment process introduces a risk, and I find that this risk is often under estimated. Any single can be missed or done slightly incorrectly, causing the product to work incorrectly. Sometimes, the resulting ‘bugs’ do not manifest themselves for weeks or months after the deployment. When this happens, you can expect to lose hours or days troubleshooting to diagnose and solve the problem. Of course, any time spent troubleshooting problems takes away from time improving the product. When these types of problems occur, you and your product will look horribly unprofessional. In the worst case scenario, you may even lose customers (yes, I have seen this happen).

I forget the origin of this quote and the exact wording, but it goes something like this:

Deployment/release day should be the most boring day of any software project

Obviously, there should be some excitement felt when releasing a piece of software, but there should not be any surprises. By the time the product is released and deployed at client sites, the process should be so well automated that there are no problems to deal with. Run the installer, choose a few options, Next, Next, Finish…

I have worked on projects that have had 50 pages of manual steps in order to successfully complete a deployment. Guess how many of those deployments were completed successfully. While obviously an extreme example, I have also worked on projects with only 1 single manual step (other than running the installer). Those projects also suffered some serious problems as a result. In my experience, if you have any manual steps in your deployment process, you will have a very hard time growing beyond 5-6 clients.

Think about how easy it is for people to install an app on their phone or tablet.

That would be one tap. It should be almost that easy to install your enterprise application…seriously. I know it will be a little more involved, but make it your goal.