I would like to get a general consensus for the minimal/boilerplate professional PHP team development environment. I can not find this information anywhere on the web. In the open-source world there are so many choices and so many ways to do things but I've yet to find any common best-practice for the infrastructure/plumbing side of things.
Consider a small shop with a team of 5-10 developers/designers, doing LAMP CRUD apps. They need to manage development, staging and production builds. They want quality software and they can't be stepping on each others toes trying to get things done. Deployment needs to be easy and fast. Sometimes there will be hotfixes. Rolling back production server to a previous version needs to be just as fast.
Things to consider are:
Source code management (SVN, git, Hg)
Database schema/data continuous integration, tied to Source-code revision. This is one I'm particularly interested in.
Individual development environments (e.g. each developer has a VMware instance of the development environment to tinker with (DB server, web server, code, data, etc))
Managing central development, staging and production builds
Production deployment (e.g. tar balls, .rpm/.deb)
Automated testing (e.g. SVN commit hooks, nightly cron tests for slower tests)
Team communication (bug tracking, internal documentation, irc/im, etc)
I've left this open to edit by the community so feel free to edit/add. Ideally someone can visit this page and a few hours later have the foundations in place for their team to start developing.