views:

73

answers:

3

I am looking for a tool to help me design and describe projects such as website, which I need to develop with other people over the internet.

Here is a description of a typical workflow for a small website project which I would like some tool support for.

The web site consist of 5 pages, so first I make a description of the features I think we need for each of the 5 pages. I then share this data with 2 other users who give feed back for each page, and based on this feedback, I change/update the description for each page.

Then we need a design, so a graphics designer make a design for each page, based on the description of the needed features.

I then start work on developing the website, and I maintain a status for each page, so the other users can see what work is done and need testing, feedback and so one. They may than report bugs/features for each page and this continues until all work is done.

Our current solution is to use a shared google.doc document with a section for each page. The page description itself is written in black, and each user can then write a comment with a different color.

When a bug have been fixed the user remove the bug description from the document.

This kinda works and it allow me to easily se what need to be done, because as soon as an issue have been handled it it removed from the document. So all non black text is issues that need to be handled.

There are 3 major problems with this workflow.

1: Having anything on a single page become a problem with larger projects.

2: It's difficult to se exactly what have changed since last time i looked at a page/issue.

3: We lose our history, so while I have a overview of all current active issues(features/bugs/questions) I don't have any way to se closed issues, and how the changed the description of the page.

At first I thought I could use some bug tracking software such as trac, but they are not really designed to do this kind of work.

So does anyone know of some software that can support this kind of work? It must work on both Linux and Windows.

A: 

I think you're looking for something like unfuddle!

You don't want to install anything on your machines I think. You want to have a centralized solution. No? Keeping track of changes is best done with a version control system, which you can integrate with e.g. unfuddle and if you use the ticket #nr in your commit comment, the ticket gets automatically linked with the revision, etc.

But here are some links to similar if not the same questions:

Online collaborative environment (not only dev oriented)
What online collaboration sites do you know?
How do you collaborate with other coders in real time?
Programmer collaboration system

tharkun
A: 

Joel Spolksy has been raving about Balsamiq. I use Visio for non-web projects.

Arnshea
A: 

Unfortunately, in my experience, this sort of problem is more of a people problem than a tools problem. There are TONS of tools out there to handle project management, but personally, I have never found any of them very useful. I tell myself that one day I'm going to create the one true tool, and then spend the day posting on websites instead.

All that said, here's what I've done:

  1. Create Use Cases. These are living documents. If you don't understand what the user is going to be doing, you are definitely not going to be solving a problem they care about. For a website, this is more along the lines of requirements gathering, but it still fills the same need. Make sure everybody is on the same page. These can be any sort of documents you like, but frankly I've had the best luck with text formats stored in revision control. Google docs is nice too since it supports concurrent access.

  2. Create specifications. From the use cases, you need to describe how you're going to solve the problems presented. Joel has some good stuff about doing this at http://www.joelonsoftware.com/articles/fog0000000036.html and it sounds like you're already sorta doing it. Again, these are living documents and should be stored in a way that reinforces that.

  3. Break the specs down into milestones or hit lists. Typically I just use a document with a bullet list for this. It sounds like your "black sections" is kinda like this. I like the list because I can check stuff off as it gets done. If you were fancy, you could use project management software for this, but i've never been that organized personally. FogBugz has some nice tools for this that integrate with step 4 as well.

  4. Break milestones down into tasks and put them in a defect tracker. I've found defect trackers to be incredibly helpful. You can start with big chunks like sticking each page in it's own bug, and as you move to bigger projects or find more detail helpful you can be more granular.

So, I guess my suggestion is to start out using a defect tracker. I've used bugzilla the most, but trac has come a long way and I know a lot of people use Jira and many others. Do not kid youself it will be easy to get everybody used to pushing everything into it, but in the long run you will see a lot of benefits.

Another reason to use an issue tracker is that it can integrate with VCS, so as people work on specific issues they can stuff the checkin comments directly into the discussion. Issue trackers are also designed to store "current status" and "history" concurrently, so you'll stop losing so much commentary as the project progresses.

Most issue trackers are on the web, so cross platform compatibility should not be an issue.

easel