On getting agile with Google @App_engine

In the course of just 48 hours I deployed six separate upgrades to Done by When, mostly thanks to Google App Engine.

These weren’t major changes, but they were distinct pieces of work driven by user feedback and an analysis of the system/user stats.

I was shipping early, and shipping often and had quietly moved into a working agile methodology.

This is a huge change from working on projects with a six month lead time, a massive spec, a big launch and then maybe an upgrade to version two a year down the line if you’re lucky; which is the sad story of too many web projects.

It’s only now, when I stop to reflect on this change in working practice that I realised how much of this is due to Google App Engine’s one-click deploy. You develop locally, set a new app version number, hit deploy, get a test URL on your production server while your current version is still live and flick the switch when you’re ready to upgrade proper. When you combine this with unit testing and regression testing you can confidently make an improvement to one part of the system and put the whole thing live in a matter of minutes without downtime or fear of breaking things.

In the worst case scenario where something breaks, you can switch to an earlier version of your app with another click.

There are no more checklists and complex processes to work through for every upgrade. Just test, improve, repeat.

If you’re not working with App Engine, then spending a little bit of time now smoothing out your deployment process will quickly pay itself back.

The easier you make deployment, the easier you make maintenance. The easier you make maintenance, the easier you make development.