2Value is a network organisation. In this organisation I am among a growing number of associates who create high quality open source software solutions for the web. The network character is one of the great strengths of such a company. However, you need a set of effective procedures and collaborative tools for such an organisation to work effectively. In the last couple of months I worked on implementing Subversion and localised environments in 2Value.
Subversion (mostly known as svn) is a revision management tool that allows software developers to track the history of a development. If you work with a number of developers on a single project, you want to make sure that everybody uses the same codebase, that changes to the code are logged and documented and that code changes are repeatable, reversible and exchangable. In other words: you want a team to work together on a single code base without the individual team members mocking things up for their peers. Now there's more to implementing a tool like svn than just making it technically available. You have to educate the participants in the use of the system, write guidelines on how to use the system and start using it in real life situations. So I've organised workshops, written documentation, setup the subversion hosting (at unfuddle.com) and operationalised the new methods at some of 2Value's customers.
2Value also offers Service Level Agreements (SLA) on open source CMS's like Joomla and Drupal. This is quite uncommon in the FOSS community. But we at 2Value believe that this is essential for the professionalisation of technically great products like Drupal or Joomla. Larger clients just demand the safety and comfort of a service contract. An important aspect of such service contracts is the use of localised development environment to develop and dispatch websites. By separating the different stages of a development cycle on different systems you can create a safer, more efficient development process. At 2Value we distinguish between Development, Test, Staging and Production environments. In Dutch this is called OTAP: Ontwikkel, Test, Acceptatie, Productie. The live site (Production) goes untouched while new versions are being development and the client uses the staging environment for acceptance of the finalised product. I implemented these procedures at 2Value. All clients who have a service contract can use these facilities.