Catalyst

Posted on December 22nd, 2006 in Catalyst, Tool by siddharta || 3 Comments

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. This post will follow on from that.

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.

Doing Distributed Agile?

Share and collaborate with distributed teams with our electronic agile board tools. Get all the benefits of electronic tools without sacrificing the benefits of physical boards. Supports Scrum taskboards, Kanban boards and user story maps. Check it out!

3 Responses to “Catalyst”

  1. Silver Stripe Blog » Blog Archive » The Long Tail of Features: Why you should make your product hackable Says:

    […] An example: I wrote before that Catalyst does only project management. Thats the simple and usable part. But Catalyst also has a REST based web API through which you can access the data in scripts outside the tool. […]

  2. Matt S Trout Says:

    You might want to be aware that there’s already an OSS project called Catalyst – a perl MVC web framework that lives at http://www.catalystframework.org/, which I’m a contributor to. It might be worthwhile either renaming or at least qualifying the name – ‘Project Catalyst’ springs to mind as sounding cool, but it’s your project :)

  3. siddharta Says:

    Hi Matt, thanks for ponting that out! Does it come into the picture because the Catalyst you point to is in a different area? Qualifying the name is a good idea.

Leave a Reply