In my last post I wrote about all of the small features that we’ve been rapidly releasing lately for Detailed Image. One of the challenges I always have is figuring out when to deploy a new feature to the live website.
I used to just deploy as soon as the work was done. The problem was, this would usually be towards the end of a long hard day, and if anything went wrong I’d be left working in a sub-optimal state to fix things. I ruined many a nights by doing this. Once I get into 10+ hours of serious programming, I get to the point where I need a day to recover.
Then I started deploying when traffic was lowest on our website. This is usually late at night, early in the morning, or on weekends. I’ll still do this for large releases, or releases during extremely busy times of the year, but for the average release I’ve stopped doing it. A Saturday morning release gone wrong can ruin a weekend.
Now I tend to prefer to take the less stressful route. If I finish a new feature late in the day, I usually just stop programming, call the day a success, and then launch first thing the following morning (when traffic is usually minimal anyway). Or, if I finish something early in the morning, I’ll push it out right after lunch. Any later than that, and I’ll wait until the next free business day I have. I also tend to avoid Friday’s unless I specifically plan to be working most of the day on Saturday.
Ultimately when I do it this way I’m happier and less prone to making mistakes, which I’ve come to realize is more important than deploying a few hours earlier or when there are a few less people on the site.