views:

38

answers:

2

How do I 1. get multiple developers working on the same wordpress blog or the same code for another type of website 2. be able to preview those changes 3. have control over which and who's changes are implemented 4. and have the ability to undo the changes if they break something?

+1  A: 

What you are really asking is "how do i manage a development team?"

You need a source control system (of which there are many, some free, some good).

But just having that is not going to fix your problem - you also need a development process to follow. There are also many development processes (ideologies) out there, some better than others, but none of them should be used in totality (you will end up using bits and pieces from several, you use what fits your needs).

The process dictates what the developers should do. The source control system helps you with how it is done. Using the source control, you can branch and merge code, and dictate what changes make it into a release version of your product.

Once you have the source control system in place, and a process of reviewing and vetting changes made to the code, and an automated build process (if applicable), your end result will be much cleaner - if implemented properly there should be no need to "undo changes if they break something", because that dodgy code would never make it back into the source control system (but you can roll it back within source control if it does).

Edit: note that i have not advocated any particular source control system or development methodology, it is best left to you to decide which suits your needs. For every advocate of a particular system, there will be someone who doesn't like it for some reason, so it will be difficult to get a definitive "this system is the best" type of answer.

slugster
I would add: make sure that developers have their changes reviewed (say, by their peers) before checking in. And encourage people to be critical of each other's code in these reviews.
asveikau
Hence why i wrote "process of reviewing and vetting changes". Each "feature" that a junior/intermediate developer works on should be code reviewed by a senior developer. Note that code reviewing is not the same as testing - that is a different step in the process. And sometimes even seniors devs need their work checked, depending on their level of competence, or the complexity of the feature.
slugster
A: 

Besides utilizing source control, you need to elevate one of them to team leader and hand him this set of goals! ;-)

IrishChieftain
what if OP was a team leader? then the sub-team leader would delegate to a sub-sub-team leader and the goals get passed down ad infinitum... or rather, the intern gets tasked with setting up the source control environment.
Jimmy
let it roll downhill, it's the natural order of things ;-)
IrishChieftain