97 Things Every Programmer Should Know

(Chris Devlin) #1

(^40) 97 Things Every Programmer Should Know


Deploy Early


and Often


Steve Berczuk


DEBUGGiNG THE DEPLOYMENT AND iNSTALLATiON PROCESSES is often
put off until close to the end of a project. In some projects, writing installation
tools is delegated to a release engineer who takes on the task as a “necessary
evil.” Reviews and demonstrations are done from a hand-crafted environment
to ensure that everything works. The result is that the team gets no experience
with the deployment process or the deployed environment until it may be too
late to make changes.


The installation/deployment process is the first thing that the customer sees,
and a simple one is the first step to having a reliable (or, at least, easy to debug)
production environment. The deployed software is what the customer will
use. By not ensuring that the deployment sets up the application correctly,
you’ll raise questions with your customers before they get to use your software
thoroughly.


Starting your project with an installation process will give you time to evolve
the process as you move through the product development cycle, and the
chance to make changes to the application code to make the installation easier.
Running and testing the installation process on a clean environment periodi-
cally also provides a check that you have not made assumptions in the code
that rely on the development or test environments.

Free download pdf