Local dev environments are best. Leads should help new and junior members of their teams set up their environment, and steps should be documented on an internal wiki. We have developers who use Mac, Windows, and Ubuntu--including all three just on my team alone. You would think this would be a problem, but it's not. Wiki instructions should focus on package systems such as apt-get and MacPorts.
However, you should have a handful of internal environments that are as close as possible to your production environment. Development and QA can also use these environments for reproducing bugs. This eliminates the "works for me" problem of local environments. These can be VMs; at a minimum, they should be easily replicated. You should set aside one instance just for demos with business stakeholders (for example, showing new features in a conference room). A note about automation. We're a Java shop, and Maven is an outstanding piece of software--for Java. I have my doubts about its usefulness in a PHP environment. At a previous job I had great success with Capistrano, though. It's pretty flexible; we used it for everything from production deployment to local environments. As for Phing, I'd rather use Makefiles, if that gives you an idea about my opinion of Phing. -Matt On Fri, Aug 6, 2010 at 8:22 AM, Paul <z...@zooluserver.com> wrote: > I was wondering if anyone had some good resources on the topic of working > on a project with a team of php developers. In particular looking at the > local setup for a developer. Should each developer have their own LAMP > instance (probably using a VM)? Or is it better to have one centralized dev > server, where each developer has their own user, and their local copies are > on that machine, and they connect either through samba, ftp, etc. > > Surprisingly there is not much on team development, and instead on how one > developer can setup their own development on their local machine. > > Being a freelancer for the past few years, and then previously working with > a company who used their own proprietary language/environment, I would love > to know how other php shops developing enterprise web application (using ZF > of course :)) manage this. > > What are some guidelines, best practices, etc. I am looking to the ZF > community because I feel the standards here are high, and part of the point > of ZF is how to build php projects the right way, or at least in way that > helps promote best practices. Just compare the code from Wordpress to ZF:) > > Cheers, > Paul >