97 Things Every Programmer Should Know

(Chris Devlin) #1

Collective Wisdom from the Experts 41


Putting deployment last means that the deployment process may need to be
more complicated to work around assumptions in the code. What seemed a
great idea in an IDE, where you have full control over an environment, might
make for a much more complicated deployment process. It is better to know
all the trade-offs sooner rather than later.


While “being able to deploy” doesn’t seem to have a lot of business value
early on as compared to seeing an application run on a developer’s laptop,
the simple truth is that until you can demonstrate you application on the tar-
get environment, there is a lot of work to do before you can deliver business
value. If your rationale for putting off a deployment process is that it is trivial,
then do it anyway since it is low cost. If it’s too complicated, or if there are too
many uncertainties, do what you would do with application code: experiment,
evaluate, and refactor the deployment process as you go.


The installation/deployment process is essential to the productivity of your
customers or your professional services team, so you should be testing and
refactoring this process as you go. We test and refactor the source code
throughout a project. The deployment deserves no less.

Free download pdf