Flickr Badge

Friday, December 22, 2006

Catalyst

Update: For more on Catalyst, see the Catalyst home page.

This post is an overview of Catalyst, the project management tool that I'm currently writing. The reason I'm putting all this online is to a) get feedback and b) to clarify my own thinking. I wrote a small story where I explained my vision for Catalyst and another about my experiences developing Catalyst. This post will follow on from those.

What is Catalyst?

Catalyst is a tool to manage software development for small teams, distributed teams and agile teams.

Catalyst is designed to make project details visible to all those involved in the project so that everyone knows what is happening.

Aren't there hundreds of project management tools already?

YES! The funny thing is that they are not suited very well to small, agile, distributed software development. You would think that at least one would be suitable, but I couldn't find that one.

About six to eight months ago, when I was working in my previous company, I was struggling to coordinate everyone involved in the project. That's when I started investigating to see if there was any tool that was useful and I found that most of them were not.

Catalyst features

My requirements were simple.
  1. Easy to install
  2. Easy to use:
    • Could I create 20 tasks, estimate them and assign them to team members easily?
    • Could I see the tasks in progress and adjust the estimate easily?
  3. Did it support distributed teams? If two teams were involved in the planning would changes made by one propagate to the others?
  4. Did it support all the stakeholders in the project — Dev team, QA, project manager, management, customers and anyone else involved?
When I tried various tools, what I found was
  • Many tools were hosted solutions only
  • Some had server and database requirements that I didn't have (IIS + SQL Server, for example)
  • Many were extremely complex. Some companies even provided training to use the tool. Thats too complex for me.
  • Lots were unusable. The 20 task test was often extremely painful to do.
  • Many were designed with large teams in mind
  • There was no way to synchronise teams doing planning in different locations
  • The tool was often meant for only the dev team to use, so managers or customers still didn't have visibility
That's when I decided to write my own tool. So how is Catalyst different?
  1. It is dead easy to install. Catalyst does not need any web server, it has one built in. No need for a database engine, thats built in too! Just run one executable and the server starts and you are ready to use it!
  2. Easy to backup or migrate. Have you ever tried moving tool data from one machine to another? In Catalyst, all the data is stored in one file. Backup that file to backup your data. To migrate, install Catalyst on a machine and copy the data file over.
  3. Catalyst does only project management. Many tools do everything — project management, user management, bug tracking, requirements tracking, the works. Catalyst does only project management. Not only does it keep everything simple, but there are already good bug tracking tools around, so why reinvent bug tracking? Use the best tool for the job. Besides its not a good idea to ask people to migrate all their data from the existing bug database into your tool.
  4. Web API for easy integration. Catalyst has a web services API through which you can access and change data. So if you want to write a script that displays the project status in your custom dashboard, you can do that.
  5. Participant/Observer model. A login can be either a participant or an observer. Participants can view and edit project details. Observers can only view them. This allows you to give the team a participant login, while giving customers and managers an observer login. Now everyone can view and follow the project. The tool is no longer just for the dev team but supports all stakeholders involved.
  6. Auto-synchronisation. If many team members are on a page and one changes some data, it gets automatically refreshed for everyone else. This is to support distributed teams doing planning.
  7. Easy to use. In many tools, operations are arranged by function, so adding a task means going to "Requirements" and adding a task, then going to "Team" and assigning to a user, the clicking "Planning" and estimating it, and so on. In Catalyst, operations are arranged by usage patterns. Thus, the "Planning" screen allows you to add a task, assign, estimate and schedule it, all in one screen. The "Dashboard" screen shows you current iteration status, and allows you to update estimates on one screen (because those operations are usually done together just before or during a daily standup).

So that's a summary of what Catalyst is (at least what I'm hoping it will be). Any questions or feedback? Leave a comment here.

2 comments:

Gaurav said...

The reason why nobody likes any project management tool is because everybody manages projects in their own unique way. For example, for me, bug tracking is very much part of project management because the number and kind of bugs will ultimately determine the quality of my product and how much the timelines will slip. So I would want bug tracking to be built into my project mgmt tool.

All the best for your efforts! If it is indeed a one click install, then I would love to help beta test your product :)

Siddhi said...

Cool! Good point that everyone does PM a different way. That is one of the big problems with such a tool.

About bug tracking, no doubt it must be done, but there are good standalone bug tracking software available - Bugzilla, Trac, Jira, FogBugz etc. Would you prefer such a standalone tool, or prefer to have in integrated into the PM tool?