I'm sitting here waiting for a staging environment to build and I thought I'd reflect on the things I've learned from this client:
- Multi-phased projects need a release coordinator, that is, someone who merges, deploys, tests, and fixes code. Especially if you do more than one release a week. Which is evil.
- There's a lot of stuff you should automate: unit testing, local environment setup, lint, merges
- There's stuff you should do by hand too: phone calls, code review, IE8, project plans, checking console, merges
- And there are the things you should never leave out: test scripts, caching, IE7, budget, merges
- A junior dev who does \n newlines in a PHP script will seriously waste your time
- Vendor supplied code will make or break your product.
- A properly thought-out Systems Architecture will significantly change the budget and roadmap of an IT project 12 months after launch
And environment is built.