I’ve found that the more automation I can build into the development process,
the smoother the process works and the higher the likelihood is that it will
be successful. I spend my most of my time working on large projects with
complex applications. Often I’m called in to help a team get a project back on
track. Project failure isn’t as rare as you might think, see www.it-cortex.com/
Stat_Failure_Rate.htm. One of the most valuable lessons I’ve learned from putting
projects back on track is the critical importance of automating the build/
test/deploy/install cycle. A fast and reliable build/test/deploy/install cycle allows
you to move the application along at a fast pace so testers can see development
changes quickly and the systems administrators who need to deploy and install
aren’t kept waiting. It’s critical to surface errors quickly. In fact, once the build/
test pace spins up, it becomes clear where the design isn’t right or where development
isn’t meeting design goals. I find that it often takes from 30 minutes
to several hours to get an application up and running after the build. Even then
it’s hit or miss whether the application runs smoothly due to the complexity of
the steps needed to set it up. Automating these processes makes the deployment
of the application a point-and-click repeatable process that puts the new
build out for testers very quickly