News

SVN, Trac, Eclipse, and You

January 21st, 2008 | Posted by Sterling Raphael

Product oriented software development is a difficult business to manage. It is all too common to find development shops, especially open source, that lack accurate project progress metrics. The nature of software development is generally creative, and rigid structure usually stifles the creative spirit required to generate great products. The result of completely unstructured creativity however, is usually a failing business. These two dynamics of development illustrate the necessity to combine both familiar environment and project structure.

Enter a few commonly available open source tools to facilitate both the needs of the coder, and the project manager.

SVN (Subversion Versioning System) is the successor to the wildly popular CVS (Concurrent Versioning System). SVN is a system of managing multiple ‘versions’ of a code base, and handling multiple concurrent changes to code. SVN enables developers to create snapshots of code and release them as versions. It is very common to see the lifeline of a software product in the branches and tags of an SVN repository.

A great benefit of SVN is it’s ability to be accessed in a variety of fashions. Many of us at NFi develop software on our local workstations and commit changes upon completion. SVN allows this as far as the internet can reach. So when one of us has to work from home, there is zero downtime. I ‘checkout’ a project to my local machine when I work from home. This allows me to work on what I need to, and only commit the changes I’ve worked on, albeit remotely.

Trac is a project management software package that can be integrated with SVN. Trac is built to allow tickets to be created regarding projects. Trac records the timeline of updates and ticket creation / completion. This is critical for business managers to see what features / defects were created or fixed before product release. Trac can be configured to record every SVN update also. This greatly helps project managers see who has been working on what, and gauge the effectiveness of each developer.

As with SVN, Trac can be made available remotely as well. This also helps overcome the common issues encountered when utilizing an un-centralized workforce. Need to hire a temporary contractor to finish a critical project? No problem. Just give the contractor a username and password, allow them to checkout the version of codebase you need completed, and request they work on tickets a, b, and c.

Eclipse is an Integrated Development Environment (IDE) that can integrate coding, SVN, and Trac. This is a real plus for development shops, since this greatly reduces the number of software packages required to setup development workstations. What’s more, having all features of project development / documentation running on a single application also reduces learning time to new developers.

The extendability and customizability of Eclipse is unparalleled. WYSIWYG editors, PHP code interpretation, Javascript code assists, and SQL syntax helpers are all commonly used features in Eclipse. Combine that with the ability to commit code via SVN and document project status with Trac, and it becomes clear why Eclipse is the development environment of choice for so many software business around the world.

We at NFi started utilizing the power of combining these software packages a while ago, and we’ve seen amazing results in our ability to accurately gauge the success (or lack thereof) of the projects we work on. The business hand of our company is better informed and our development hand is better managed with the combination of these tools. The integration of SVN, Trac, and Eclipse is a powerful combination that can greatly assist your software development practices.

Categories