| «« Blog Comment Spam | June CD Run »» |
|
About
I'm Ryan Lowe, a Software Engineering graduate living in Ottawa, Canada. I like agile software development and Ruby on Rails.
I write this blog in Canadian English and don't use a spell checker. Typos happen.
Projects
» Full-time Ruby on Rails freelancer
» Full-time with Rails since May 2005 » Former committer for RadRails (now Aptana) » I also have a few Rails side-projects in development: 1. wheretogoinTO.com Toronto nightlife 2. Hey Heads Up! TODO list and sharing 3. Layered Genealogy family history research 4. foos for foosball scoring 5. fanconcert for music fans (on hold) Hiring Rails developers? I can telecommute by the hour from Ottawa, Canada »» Email: rails AT ryanlowe DOT ca
BulletBlog
Now hosted on Hey! Heads Up -- check it out!
Syndication
Pings
Recent
Derek Lowe's (Ryan's older brother) words at Ryan's funeral
blog@ryanlowe.ca no more Forging Email Headers: Good, Bad or Ugly? Sarcastic Dictionary (Part 1 of Many) Tags Hierarchies Twisting Rails is Risky Business Risky Business? My Take on Early Alphas Whoa, it's August 2007 Closing Comments A Postscript to "Growth at the grassroots" »» All Blog Posts
Linkage
del.icio.us/ryanlowe
technorati/ryanlowe.ca/blog Aurora Roy Jim Andrew Trasker Travis Kibbee Karen Dr. Unk Ayana Van Bloggers Joel Spolsky Robert Scoble Tim Bray Dave Winer Raymond Chen James Robertson Ruby/Rails Bloggers rubyonrails.org weblog David Heinemeier Hansson Dave Thomas James Duncan Davidson Mike Clark Jamis Buck Signal vs. Noise Tobias Luetke Amy Hoy: (24)slash7 Jeremy Voorhis Eclipse Bloggers Planet Eclipse EclipseZone Luis de la Rosa Eclipse Foundation Kim Horne Billy Biggs Ian Skerrett Mike Milinkovich Bjorn Freeman-Benson Denis Roy
Archives
|
Ideas for a Software Development Documentation Management System
What are some problems with documentation? * It goes stale quickly. What if you had a system that could hold all of the documentation and specification elements on your project in one place with no redundency? Then that system could generate documentation automatically, piecing together the elements it needs for a specific document type. You have a hierarchy of documentation elements, where an element is a piece of a document relating to one feature or part of a feature depending on the level you are looking at. At the top is functional spec elements, plain english explanations of how the software works and grouped by feature (use case). From these the technical spec elements are made, specifying how the software will be implemented to satisfy the functional spec. To test the software to make sure it does what you want it to, acceptance tests are made based on the functional spec elements. You can look at any given test and track it all the way back to a specific feature, and a specific use case variant of that feature. When a bug in the software is found, you can go into the system to check to make sure it's actually a bug by checking against the feature specification elements. That way you don't have to check with three different people to verify it is one, or even worse search through the stack of story cards. Each element would also need to be tracked through different versions of the product. When is the feature introduced? modified? removed? A good system could keep track of all of the versioning, and produce a document for any given version of the product. Sounds like a lot of work to use a system like this, doesn't it? We already do this, we just do it in our heads. Extreme programming actually advocates not writing documentation like this because of how involved it can be the old way -- writing documents for each release and keeping track of changes. It is a lot of manual grunt work to write documents, format them properly, etc. If you had a system to manage the hierarchy of pieces properly (like a defect management system manages defects), it would be easier. It would also keep people on the same page a lot better! It would facilitate communication just like a defect management system does. In fact, I think a system like this could be used by a manager just watching the programmers do extreme programming -- it wouldn't have to interrupt the programmers necessarily, but it could become part of the checkin process. As stories are defined and completed they are entered into the system along with a list of the tests that verify them. Posted at May 25, 2004 at 08:51 AM ESTLast updated May 25, 2004 at 08:51 AM EST Comments
Check out Rational Rose :-) But the above will not work because there will always be a disconnect being presentable stuff and developer stuff. So, when the project team needs to pretty up some documents to show the client, this artefact repository becomes more of a burden than a single-source godsend. » Posted by: aforward at May 25, 2004 07:04 PMYes, but not if you store document fragments instead of whole documents that you have to tear apart and reassemble. Then the software can make documents on demand based on the fragments. I think you are talking about Rational Unified Process, or RUP. I wouldn't mind something a little less heavy. » Posted by: Ryan at May 25, 2004 08:57 PM |