Fog Creek Software
Discussion Board

Beyond source control: PDM system for programming

I'm just curious as to whether something like this exists:

Source control basically deals with, well, source code.  Check-in/check-out, diff/merge, etc.  I'm curious as to whether there's an automated system that deals with the _whole lifecycle_ of development.

For example, let's say I have a spec that has several sections.  Section 1 describes the woofidget feature of my system.  That feature is then implemented by a design document and source files woofidget.c, woofidget.h.

So let's say I check my spec out of the "whole lifecycle" system, and modify the woofidget description.  Then I check it back in.  The system should then flag the corresponding design document and code files for the woofidget feature as needing review against the spec.

Basically the idea here is using metadata to correlate the various components of a software's lifecycle (design, spec, code, test plan), and then automatically cross-checking/updating them using a source control-type system.  I suppose it'd be like a PDM system for CAD, or a document management system.

So from the above example, the spec would have metadata associated with it in the system that correlates it directly to the design document and the code files.  That metadata may be generated, or input directly.  Everything (such as code) would likewise be correlated to the documents it affects/implements/describes/etc.

I'm ignorant.  Is there anything like this out there; ie, out of the box?  Is it even a reasonable idea?  Am I making sense? :)

Thursday, July 08, 2004

Chris Peacock
Thursday, July 08, 2004


Thanks.  Actually I use Together, so that really explains why Borland owns such a company.

But are there any non-enterprise renditions of such a technology?  I get the impression from the Starteam site's marketing material that integrated requirements/dev./lifecycle management is reserved for the hallowed halls of the corporate enterprise. 

As a developer, tho, I really see the benefit of having this kind of automated correlation/lifecycle management in a "lightweight" fashion.  Being a small business employee, I deal with a lot of disparate documentation that could be pretty easily tied together under one umbrella with some metadata.

And I'm far too lazy to write it myself. :) :)

Anyway, thanks for the link...

Thursday, July 08, 2004

I agree it would be nice to have a 'lightweight' (ie low-cost) implementation of such a beast.

However, the entire development life-cycle supported by this approach tends to be valued only by large corporations, or large development efforts, and only a few of them at that.

Thus vendors have little incentive to produce an inexpensive product which few people would value, when they can build an expensive product which a few corporations will buy.  (few here being less than 10,000)

Thursday, July 08, 2004


Yea.  Actually it looks to me like companies are using lifecycle management to hawk their bulky, expensive "glue" products (like TogetherSoft, and soon VS.NET, and pretty much all current Rational software).  So even LM per se is just a marketing buzzword that ties together a product line and not so much a technology in itself.

Personally I'd never want to develop/market/sell such a beast (because even small companies will want integration with their particular systems), but I definitely think "rich" views/interaction of software lifecycle data is the future.

The industry could learn something from CAD, since they've had the push for fully-integrated lifecycles/collaboration for a few years now.  In a CAD lifecycle management system you're able to easily see not only the data itself, but its metadata and workflows, and also an "as-built" view of the physical output from the process.

Thursday, July 08, 2004

*  Recent Topics

*  Fog Creek Home