In the interest of keeping track of all the projects, resources, and contacts in a business, many people turn to project management software to keep from drowning. There are a few open source project management solutions, but there is one in particular I want to let you know about.
web2Project is a LAMP-based Open Source Project Management System. It tracks hours worked on tasks, inter-task/project dependencies, estimated completion dates, and even basic budgeting. On the developer side, there’s a simple module system, extensive Unit Testing, a growing hooks system, and a set of powerful ACLs. It even has the ability to import from other software apps like Microsoft Project. There is a shiny new version 2.2, just released yesterday, and ready for you to download.
I had a chance to speak with the project’s lead developer, Keith Casey. He explained that the project got its start like so many others do: through a disagreement of direction of a current project (in this case, dotProject) and a resulting fork. “Half the team wanted to re-write from scratch, and the other wanted to refactor. web2Project was born in that refactoring fork.”
The development team has been together since the fork in 2007. Keith tells me, “Pedro Azevedo started the fork and recruited Bruce Bodger and me almost immediately in 2007.” The team added Trevor Morse in mid-2009, who has since become their “Test King,” and a few months ago they were joined by Benjamin Young.
Keith tells me they’ve had two major obstacles within the project. “The first is technical. The core of the system was designed and built in 2001-2003 timeframe without the advantages of OO or security practices which we consider common now. We spent nearly a year cleaning up and refactoring and trimmed ~33% of the overall code. I cover some of that here – http://phparch.com/magazine/2010/october/. We’re not done, but making steady progress.”
“The second problem is marketing,” Keith says. “There are hundreds of project management systems out there and a dozen+ open source ones and of course there’s our parent project. It’s easy to get lost in the noise. To stand out, we stay active in the PHP community, solicit feedback from current and potential users, and actively engage annoyed users.” Excellent advice for those facing the same issues.
Keith goes on to offer these other words of advice for other open source projects (and I personally couldn’t agree more!): “Release, release, release. Until you release, everything else is just talk. Before there’s real code to share, no one cares what you’re doing and almost no one will help.”
Currently, Keith tells me that they’re working hard to engage more “real” Project Managers to help them. Keith says that focusing on the end users will help the team “refine how we handle task dependencies, resource tracking, estimating, and general workflow. We have stability, now we want power and flexibility.”
Something that caught my eye on their project website is their list of priorities for the project:
- Regular and predictable releases are vital to the health of the community, we should have at least two each year;
- Bugs and feature requests should be reviewed, evaluated, and prioritized regularly;
- Frequently Asked Questions should be considered indicators on where we should simplify or clarify the system;
- The community should be open with clear expectations for behavior while encouraging constructive criticism; and
- Features and functionality should be driven primarily by input and involvement from the community.
I cannot stress enough how important all of these things are to the success of an open source project. Kudos to the team for spelling these out so clearly and succinctly, and for posting them on their site. Next time I see them, they are totally getting a *high five* from me.
To learn more about web2Project: http://web2project.net/
To download and try web2Project: http://sourceforge.net/projects/web2project/files/web2Project/
To reach the web2Project team or the community: http://forums.web2project.net/