
I was just reading over on the Alfresco blog some intersting notes about how their document/content management system works - written by John Newton. There is a very helpful discussion on XQuery versus XPath versus SQL that required me to dust off some of my XML and SQL kung-fu.
That was not the main focus of this post; of interest was a link to a PDF that discussed the differences between successful and unsuccessful projects. They took a random sampling of projects and determined there were a couple of key elements to maintaining a successful project.
Now, some of these elements may seem obvious but the crux of the issue is that in private companies these don't exist; or I should say that some of the companies I have worked at don't.
The Version Control and Bug Tracking points are "duh". You can't reliably build software if you don't know who has changed what, when, and why they did it. The classic "Where did this code come from" is eliminated if you can point the big hairy finger of blame/congratulations at Billy. Documentation is another point, how well do you write up the internals of any project you work on? If someone else had to take over your project do you use the typical "Read the Code" excuse for your laziness or can you dump a tight, well formatted document on your overworked colleague?
The suprising, yet subtle, requirement of a successful project is the mailing list aspect. In the report, they state that developers are able to look to the mailing list for information they require (if the documentation is lacking). I have to agree that in many of my Google searches I end up trolling mailing lists for configuration tweaks or install issues. But, mailing lists are typically for distributed teams -- do you replicate this kind of communication in a closed, co-located environment? I would say it is worth a shot. This goes heavily against my desire to eliminate email in an office environment but you can setup elaborate filtering rules to mangage the influx; allowing you to Get Things Done.
But, what are your other choices to a local mailing list solution?
Wiki - too random and likely to be out of date unless a very strict hierarchy is enforced/created.
Blogs - one way communication channel. Comments too quickly become unreadable.
Forums - two way communication channels. Comments can get cluttered rather quickly.
Maybe my declaration of the death of email is a little too early yet...