Automation as a form of pre-commitment to best practices in web development. A talk given to the University of Melbourne's Web Information Technology class (Sem 1, 2013), based on experiences at 99designs.
Pre-commit to testing 1. Set up automated tests which run every time you push code 2. Test before coding wherever possible, to make sure your design will allow for testing 3. Measure coverage of your tests, and fail your test run unless coverage increases
Pre-commit to shipping early and often 1. Make builds, deploys and other tedious tasks one-step 2. Use your test suite as a sanity check during deployment 3. Use feature flipping to get your code into the live site earlier
Commit to disposing of servers 1. Write recipes for servers which start from a basic machine image (e.g. Ubuntu) 2. Use tools like Vagrant to prototype new server types and test recipes