views:

387

answers:

5

Hi,

I am looking for a good way to keep a design document up to date with the latest decisions.

We are a small team (two developers, game designer, graphic designer, project manager, sales guy). Most of our projects last a couple of months. At the start of the project a design is made but we generally find ourselves making changes or new decisions throughout the project. Most of these changes are improvements, so we want to keep our process like that. (If the changed design results in more time needed this is generally taken care of, so that part is ok)

However, at the moment we have no nice way of capturing the changes to the initial design document and this results in the initial design quickly being abandoned as a source while coding. This is of course a waste of effort.

Currently our documents are openoffice/word, and the best way to track changes in those documents will probably be adding a changelist to the top of the document and making the changes in the text in parrallel -- not really an option I'd think as ideal.

I've looked at requirements management software, but that looks way to specialized. The documents could be stored in subversion but I think that is a bit too low level to give insight in the changes.

Does anyone know a good way to track changes like these and keep the design document a valuable resource throughout the project?

EDIT: At the moment we mostly rely on changes to the original design being put in the bugtracker, that way they are at least somewhere.

EDIT: Related questions

- http://stackoverflow.com/questions/29810

+2  A: 

I've found a wiki with revision logging works well as a step-up from Word documents, provided the number of users is relatively small. Finding one that makes it easy to make quick edits is helpful in ensuring it's kept up to date.

Alistair Knock
Thanks, I've thought about using a wiki - however, images are often a problem (not impossible, just annoying) also it's often quite hard to make it goodlooking when printed. (we do sometimes use a wiki for other stuff)
Simon Groenewolt
It's a working document. Ease of editing/change tracking/cross referencing is the important thing. Don't worry so much about it being pretty; that doesn't matter if nobody uses it.
Adam Jaskiewicz
A: 

I don't know any good, free configuration management tools, but why not place your design under source control? Just add it to SVN, CVS, or whatever you are using. This is good because:

1) It is always up to date (if you check it in, of course)

2) It is centralized

3) You can keep track of changes by using the built-in compare feature, available in almost any source control system

It may not be the 'enterprisish' solution you'd want, but you are a small team of developers anyway, so for that situation, it is more than perfect.

EDIT: I see now that you already mentioned a source control system, my mistake. Still, I think it should work well.

Razzie
The compare does not really work that well for openoffice documents. To get good tracking this would mean either finding a text format usable for the design document or to require elaborate change messages for every commit. ... I don't think I can convince others to start using docbook or LaTeX.
Simon Groenewolt
A: 

Use Google Docs. Its free, web based, muti-user in real time, you can choose who has access to your documents, and keeps versioning. You can also upload all your word documents and it will transform them for you. For more information: http://www.google.com/google-d-s/intl/en/tour2.html

Benjamin Ortuzar
The versioning is nice, but I prefer to not use a system that is not in our control.
Simon Groenewolt
+1  A: 

Both openoffice and word include capaiblities for showing/hiding edits to your document. Assuming there's resistance to changing, then that's your best option - either that or export to text and put it into any source control software.\

Alternatively, maintain a separate (diffable using the appropriate tool) document for change-description text, and save archive versions at appropriate points in time.

le dorfier
In my experience the 'show edits/history' functions in word/oo were fine for single edit sessions but not that good for keeping a history of a lot of changes. I'll have a look - maybe they have been improved since I last checked.
Simon Groenewolt
BTW: There is no resistance to change per se, there of course will be if the 'improved' version is not working as well as our current situation.
Simon Groenewolt
A: 

This problem has been a long standing issue in our programming shop too. The funny thing is that programmers tend to look at this from the wrong optimization angle: "keep everything in one place". In my opinion, you have two main issues:

  • The changes' descriptions must be easy to read ("So what's new?")
  • The process should be optimized for writing of the specification to agree upon, and then get to work already!

Imagine how this problem is solved in another environment: government law making. The lawbook is not rewritten with "track changes" turned on every time the government adds another law, or changes one...

The best way is to never touch a released document. Don't stuff everything into the same file, you'll get the:

  • dreaded version history table
  • eternal status "draft",
  • scattered inconsistencies,
  • horribly rushed sentences, and
  • foul smelling blend of authors' styles

Instead, release an addendum, describing only the changes in detail, and possibly replacing full paragraphs/pages of the original.

With the size of our project, this can never work, can it?

In my biggest project so far, I released one base spec, and 5 consecutive addenda. Each of around 5 pages. Worked like a charm!

Felix Ogg
Thanks for your comment.How do you make sure you have the right information in your case? If you get someone new on the team does she first have to read the spec and read the addenda afterward to check if anything has been changed? (I cannot assume everyone to be on the team for the whole process, people will come and go)If you don't remove incorrect/updated data (from view at least) I would see that as a potential source of confusion.
Simon Groenewolt
The beauty of stable documents ("in stone") is that you can refer to them from the code base. But yes, new people must read 10 pages of specs before writing their first lines of code. It is a very sane thing to do. There is actually much less confusion than when people carry around outdated prints of previous versions as their 'private' reference.
Felix Ogg