We need in our company some kind of project management software. In the past, we used a mixture of Open Office documents and paperwork. We checked yearly for web based open source software solutions but we didn't find the right thing for us.
In the last six months, I had a short relationship with Jira. It is a commercial software which is able to do nearly everything if you have the right plugins.
More than just an issue tracker, JIRA is an extensible platform that you can customise to match to your business processes.
Another interesting project is redmine. My daughter mentioned it yesterday and I had a short look on it.
The problem with these kind of software is always the complexity, the time you have to spend by choosing the right modules, sometimes the money you have to pay, the server space you need etc.
Last year I noticed the STORM project on drupal.org. I played around a few times and yesterday we decided we will use it for our two companies (cocoate.com and eduate.eu). Our "biggest problem" is that we are in the coaching, consulting and teaching business. We don't really need issue- and bug tracking systems. With some clients it is possible, with others not. Our biggest need at the moment is on one hand having the possibility to create companies, people, projects, tickets, tasks and the relationship between them and on the other hand - and that is the most important thing - a time tracking system for our staff.
What they have done so far and wether the work is billable or not. This screenshot shows what we looking for:
We work a lot with Drupal, so it was easy to setup the ground base.
Drupal, webserver, database
We have a multisite Drupal installation and it is easily possible to add a new Drupal website. You just need a new database, a server alias in your webservers vhosts configuration and a new folder in your Drupal sites folder.
If you are new to Drupal, or if you want to test the system locally, it is a good idea to install a single Drupal without all this multisite stuff. Have a look at the Acquia Stack Installer to do it.
To use the storm system you have to install the Drupal STORM module. It consists of a set of modules as follows: Storm (base module), Attributes (settings), Organizations, Projects, Tasks, Tickets, Timetrackings, People, Teammembers, Notes, Knowledgebase, Invoices, and Expenses. For our start we are using the following modules:
Activate them under site building - modules - list.
For the beginning we are not using the modules expense, invoice, knowledgebase and team member. We want to keep the system simple.
STORM is more or less ready to work after activating the modules. It is necessary to insert your data step by step in your new project management environment.
In our case we need two organizations because we are running two companies. Finally, we decided to create another one to organize our private stuff like "building a solar powered heating system". Create your companies under administer - storm - storm organizisation or to storm - organization.
An organization can be a Customer or a Provider. We need both in our case. Don't forget to activate the Active checkbox too, otherwise the organization is there but it isn't possible to use it.
The next step is to configure the standard STORM organization under administer - storm - storm organizisation. As mentioned before, we have three of them. One must be the Host Organization.
There are three other more or less important things to configure. The icon directory contains the icons for STORM attributes. If you create new attributes, it is necessary to create an icon too and put it nto the right directory. In our case the directory is in the multisite all/modules directory. It's up to you to decide wether this is a good place or not. The Years range in dates is a "nice to have" feature to shorten your option lists. The report header is used in all kinds of reports. At the moment we are not using reports, so I wrote simply cocoate.com projects.
That's all for organizations!
When you access storm - organizations or ([yourwebsite]/storm/organizations) you will see a page like this.
In the yellow area, you see the depending items. It is also possible to use the Drupal comment module to comment on Organizations. Now you have to create your staff and your projects by clicking on the little + icons. The Tickets and the Notes are not sooo relevant at the moment.
You can create people by clicking on the + icon. The interesting thing here is, that you can assign an existing Drupal user. Remember, you will need a Drupal user account for everyone who should be able to add content. Later, when this user is inserting his/her hours related to the projects, this relationship is important to filter the times by users.
The Peoples list has a nice filter. In this screenshot you see a list filtered by Organization and Name.
Now we have to create the most important things ... the projects. Here is an example of our project website. The most important attribute of a project is the date for the begin and the end :-). Below you see the edit form.
After saving, you see the result of your form entries. At the right side are Notes, Tickets and Timetrackings related to this project. On top you have a tab Tasks for Tasks, which are related to that project. By clicking the + icon it is possible to add content if you have the access rights.
The bad news at the beginning: At the moment it is not possible to assign tasks to people. It exists a workaround using CCK - see http://drupal.org/node/392414. This sounds very bad, but there is more than one solution for that problem. Instead of the CCK thing, you can use the luxury notifications framework or the simple the notify module to notify your staff when there are new tasks. If people really want to work together, it is possible to do it in that way.
If you want to intensify control, may be STORM isn't the right module for you :-)
Ok, how to add a task?
You can add tasks as easy as Organizations, People and Projects. Click the + icon and fill out the form.
After adding some Tasks you can see a list of all Tasks. It is possible to filter this list too. As an example, you see a list filtered by Organization, Project and Category.
I havn't tried the ticket system, but I will come back later on this topic.
Up to this point we could use user number 1 (administrator) to work with. Now we have to think about permissions for our users. In our case we have created a new user role cocoate (User management - Roles - add role). Than we assigned the permissions in (User management - Permissions).
With the right permissions our staff is able to add times to projects and tasks! They have to be logged in with their own username and password.
Timetrackings were the goal of our efforts with STORM and we have reached it - Yeah :-).
Now it is possible to see all the work which has been done for a specific project or task.
Do you remember the screenshot you have seen at the beginning?
By clicking the small book icon right from the word Duration, you produce a report to have all your times on a nice piece of paper.
You can add Notes to everything. The way is the same as always (+ icon)
Attributes are an important part of your work. If you use STORM for software development, the predefined Attributes are fine. If you want to use it for other purposes it's necessary to change and add Attributes. You can do that by accessing the attributes pages. Attention: You have to define one Attribute for the forms and one Attribute for the filtered search. The sreenshot shows the Attribute for the forms.
My conclusion: I am happy about the quick results. It took me at least one and a half day to setup something very useful for our company. For now we are in an early stage with STORM but the staff like it even after two days. I will come back later with more experiences of STORM, f.e. the reports and the invoicing.
If you have similar problems or solutions especially in project management, please comment on this blog post.