Historic Ada Project Management

... or more whimsically, "how to defeat the Warsaw Pact by writing software".

I've been skimming the contents of the Public Ada Library ISO images mentioned in my previous post. It's definitely a product of the Cold War.

Public Ada Library

A lot of these assets are also catalogued in the "Ada and Software Engineering Library", but I haven't found my way around there yet.

Ada and Software Engineering Library

The "ada/asr" subtree on PAL disk 2 is an archive of the "Ada Software Repository" (ASR) which I find interesting because there seems to be a coherent vision of how software should be developed, and tools to back it up. A lot of the credit for this is due to Richard Conn, whose name I see popping up over the place. I hope he's doing well. I've resurrected some old projects and submitted them to Alire:

Resurrecting Old Projects

You can run "alr build --release" and "alr install" in your local clone to install the tool to ~/.alire/bin for your own use.

Software Documentation for the ASR

This is driven by the then-current DoD-STD-2167A software process standard. There is a set of templates in the ada/asr/std2167a directory of disk 2 of the PAL.

The subset used by the projects I was looking at are:

Like I said, the thing I find interesting about these is the fact that the contributors to the ASR could come to an agreement (given what I know of the egos of good software engineers). This enabled investment in tool support, and reduced cognitive load e.g. when ptf was picked as the format for all ASR documentation.

So how would you use this in practice?

Successors

DOD-STD-2167A is quite old, it was for developing weapons to counter the Soviet Union. The immediate successor was MIL-STD-498, which still seems somewhat popular but the easiest way to use this is with Microsoft Word or LibreOffice templates. If you're interested, these templates are in ada/docs/498_dids on disk 1 of the PAL. But I find DoD-STD-2167A more interesting because it was the foundation of an Ada ecosystem/culture, at least for a time.

Recommendations for tailoring MIL-STD-498 for projects in $CURRENT_YEAR

Conclusion

Unless you're being paid for it, you won't want to write a full DoD-STD-2167A doc set. However, I find the tool support and the choice of a useful subset of documents to be interesting. It looks worth a try at least, provided you use your judgement to avoid unnecessary work.

Back to my gemlog