Advertisement

Project of the Month, April 2009

dotProject


Project Leader:

Adam Donnison

Adam Donnison

Experience: UNIX system admin, Programmer Analyst, currently Web Developer

Location: Australia

Key Developers:

Ivan Peevski

Ivan Peevski

Occupation: CTO East Coast Publications

Education: Bachelor of Information Technology (Computing and Multimedia)

Location: Adelaide, Australia (currently Boston, MA)

Gregor Erhardt

Gregor Erhardt

Occupation: Trainee Teacher (Maths, Sports)

Education: Diploma in Mathematics, University Freiburg

Location: Freiburg, Germany

Matthew Dirks

Matthew Dirks

Occupation: Information Solutions Manager

Education: Bachelor of Science in Computer Science

Location: North Central Indiana, USA

Benjamin Young

Benjamin Young

Occupation: Web Developer for 10+ years / Entrepreneur for 5.65 years

Education: Bachelor of Science in Graphic Design

Location: Upstate South Carolina

Eamon Brosnan

Location: Sydney, Australia

Why did you place the project on SourceForge.net?

At the time it was the only place that was available for a world-spanning collaborative effort.

How has SourceForge.net helped your project succeed?

By providing a place where people can find our software, and for holding the CVS and then SVN repositories of the code. The key was in being able to collaborate without having to worry about how to support the infrastructure to do so.

The number one benefit of using SourceForge.net is:

I know I’m harping on this, but just one word: collaboration.

Project name: dotProject

Date founded/started: 2001

Project page: http://sourceforge.net/projects/dotproject

Description of project:

dotProject is a Project Management tool written in PHP that aims to be a best-of-breed project management system. Rather than a generic container approach like a CMS or groupware app, we decided that we would do a generic project management tool. We are not industry (or use specific), it’s not a project planning tool – it is designed to serve as an information gathering and progress reporting tool. You can find us at http://dotproject.net/

Why and how did you get started?

dotProject was originally started by a team from dotMarketing.org in 2001. About 12 months later it had begun to attract developers interested in moving it forward, but the original admins were unable to be contacted. So two of the developers approached SourceForge and took over the project (after exhaustive attempts to contact the original admins). The team has changed over time but one of those two developers is still an admin on the project.

Who is the software’s intended audience?

Project managers. Unlike a lot of projects that get a lot of traction we don’t have a technical user base, at least not in the main. We aim to support project managers in their day to day work.

What are a couple of notable examples of how people are using your software?

One of the largest family-owned wineries in Australia uses dotProject to manage their production process. A video production house uses it to manage shoots. Many local government authorities are now using it to manage works projects. There is even an aircraft manufacturer that uses it for managing the build process. There is even a large defense contractor using it, but they haven’t told us what for!

A while ago we asked people to tell us what they were using dotProject for, and the answers were pretty amazing.

What are the system requirements for your software, and what do people need to know about getting it set up and running?

dotProject requires MySQL 4.1 or later (preferably 5.0 or later), PHP 5, Apache (1.3 or later), and runs on any operating system that can run that stack. To install is pretty easy, you just download the software and point your browser at it. It will detect that it hasn’t been installed before and run you through the process. Upgrades are similarly easy, just download, point the browser at the installer and it knows it is an upgrade. You can even upgrade between SVN snapshots.

We do suggest people read the online documentation before they get in too deep as you need to know that dotProject is not a task manager, or a project planner, it is a project manager so you create a project and add tasks to that. Probably the single most often asked question is “Where is the Add Task button?”, which doesn’t appear until you’ve created a project.

What gave you an indication that your project was becoming successful?

Probably the biggest indication was an invitation to promote ourselves at the dotOrg pavilion at the 2007 MySQL Users Conference and Expo.

What has been your biggest surprise?

The biggest surprise is the sheer range of places that the tool is quietly being used in. We’ve never really all that active in seeking out who is using it and what for, other than a general invitation to post something on our website. Finding out the range of uses is frequently surprising.

What has been your biggest challenge?

The project has a number of challenges – staying true to the product’s aims is always the one that we struggle with the most, second to that is the same problem that all projects with a 100% volunteer developer base will always have – available time.

Why do you think your project has been so well received?

Hopefully because of the dedication of the team, and the core principle of “sticking to our knitting”, that is focusing on project management, and not trying to be all things to all people.

What advice would you give to a project that’s just starting out?

Get a clear idea of what your project is designed to do and make sure you stick to that. Do one thing and do it well. If you need to expand, co-operate rather than reinvent the wheel (which is where we’re going with future versions).

Where do you see your project going?

We are currently heading towards more client-end processing to give a richer user experience and reduce the server requirements.

What’s on your project wish list?

More project management functionality: some limited project planning features; risk management; expanded project reporting and then into project financials.

What are you most proud of?

The team. We have a small core group who give way above and beyond the call of duty and they feel guilty when they aren’t able to contribute. The product itself – well there are always parts of it that we could do / have done better — but in terms of providing a service to a very specific business need, then we think it does what it says it will do well.

If you could change something about the project, what would it be?

No regrets. Looking backwards isn’t going to help. Every move that has been made has been made with due consideration to what was available, where we wanted to go and what was required at that particular point in time. Now, if we were starting again from scratch, undoubtedly we’d do everything differently but a legacy codebase of around eight years doesn’t always afford you a perfect world.

How do you coordinate the project?

We have a core group of maintenance developers who are free to work the bug lists as they see fit. We have a group of core developers who discuss the requirements / directions and move when it’s possible. As these people are all volunteers we are very very keen not to impose / not to request what they cannot possibly provide. Burn-out (including admin and senior devs) is always on our minds, and constantly having to bring in new developers isn’t something we want to do.

Testing has been an areas that we’ve really struggled with. We’re currently looking at building some automated testing opportunities into the 3.x environment. Other than that we do get some good bug reports from small sections of the user community and one of our admins now runs test suites on a semi-regular basis.

How many hours a month do you and/or your team devote to the project?

It depends on what else is going on in our lives, but the admins spend on average two hours per day each on forum followups, bug checking, maintenance and general admin. Other team members contribute what they can, when they can, but I’d say it was something like the equivalent of 0.8-1.5 full time people.

What is your development environment like?

There are a variety of platforms in use. Some are using Windows some using Linux, in various flavours, although Ubuntu seems to be gaining traction. In terms of development environments, each has their own favourite, although eclipse is used by a few of the devs.

Milestones:

October, 2001 First commit of code
August, 2003 Release of 1.0 version
April, 2005 Release of 2.0 version
November, 2007 Planning for a new 3.0 version based on Zend Framework
July, 2008 2.1.2 released

How can others contribute?

Our main areas where people could assist at the moment are in the general day to day workload of support at our support forums, as well as submitting patches for bugs. Those locations are the most frequent point at which we identify people who might be willing / able to helpout the project.


Check out our previous projects of the month.