Prev: Re: US CVs WW2 Next: RE: [FT] Military Overcharging

Re: [FT] Military Overcharging

From: aebrain@a...
Date: Tue, 3 Jul 101 00:03:25 GMT
Subject: Re: [FT] Military Overcharging

> <laugh>
> 
> Specificaitons are amazing things.
> 
> I was tasked to document a program (that had no documentation internal
or 
external).
Originally I was to use a Milspec standard. Then a different standard,
then an 
IEEE
standard (12207), then a combination, then back to IEEE. After 6 months
they 
decided on
IEEE.
> 
> They decided that they wanted "everything specified in the
specification". 
The standard,
itself, was over 200 pages (in 3 parts). 

Been there, done that.

The trouble is, that the Mil Standards themselves are actually pretty
good, IN 
THE RIGHT HANDS. 1679 a bit primitive, 2167 was OK, 2167A a bit too
terse, 498 
WONDERFUL, IEEE 12207 too terse again.

By "terse" I mean "too generally wishy-washy with no specific guidance
on how 
to shrink the results to something reasonable".

The first thing the standards do is tell you to tailor them. Basically,
these 
standards are designed to be useful on every project, from a simple
software 
module to a World Wide Command and Control System, or for that matter,
the 
Internet. All of it.

So someone *who knows how to use these standards* will take the 200+
pages, and 
tailor them to the 2-30 documents that are relevant for the task. The
standard 
actually tells you to do this, and 498 and 2167 both gave a guidebook
even 
larger than the standard on how to decide what to remove altogether or
combine.

Basically, if you ever find yourself making a document that won't
actually help 
you make, use or maintain the system, you're using the standard wrong,
and 
should go-back and do some more tailoring.

Whereupon you will find that the clueless customer says "you're not
giving us 
what we want, we want it all! All 4000 Interface Specifications! The
Software 
User Manual for an automatic system with no manual intervention! All of
it!".

I've made systems that are completely documented according to 2167A that
had 
exactly 3 documents, each of about 20 pages, for them. 498's even
better, the 
documents are clearer and positive boons when building the system. I've
also 
seen systems documented (badly) in 1679A (predecessor to 2167A) that
were best 
measured in megapages. Literally. In one, (a great disaster) just the
data flow 
model took up 10 cubic metres of space. The savvy but unethical company
gave 
the clueless customer exactly what they asked for- nay, DEMANDED - a
totally 
useless waste of effort, at a cost of hundreds of millions.

I'd recommend to any software developer that they have a good, solid
read of 
Mil Std 498, AND the handbook. And it's absolutely vital to realise that

although you *can* write 300+ different documents for a system according
to the 
standard, that is no reason why you *should*. For example, a missile
guidance 
system that fits in the nose of an anti-air missile shouldn't have a
separate 
user's handbook, GUI design document, and system administrator's manual.
And a 
package that runs on 1 PC might best just have 3 documents - a combined 
Requirements/Design/Maintenance document, a combined Installation
Guide/User 
Manual, and a Sales Brochure/Executive Summary.

But there's always some clueless newbie that suspects that the Big Bad 
Contractor's trying to pull a fast one on them, and not giving them
enough 
documentation. So they reject the clear, concise, complete and useful
first 
draft for something that groans under its own weight, which only God
alone 
(certainly not the author) knows if it's complete or not, and which it
would 
take an army of thousands several decades to review properly. They then
spend 9 
of the 10 available days for review arguing about the exact meaning 
of "shall", "should, and "may" even though these have very specific and
well-
defined definitions in the standard.*

I've seen a fully grown Lieut Cdr of the US Navy tear pages out of
documents 
and eat them in frustration at one of these meetings. (Then he and I
adjourned 
for a few minutes, got a pen and some Corflu, went to the photocopier,
made a 
few changes while the Clue-Free Zone in the conference room gabbled on
about 
definitions, shook hands on it, so all was well in the end.)

I guess the only difference between Australia and the US is that in
Australia, 
$30 US per hour is a good rate for someone with 15+ years of experience,
not 
$300... FWIW I'm leading the software team doing the spaceflight
avionics for a 
6-payload scientific satellite, and I get less than $30 US per hour...
but I'd 
do it for less, it's fun!

* OK, here's the potted version.
Shall - means it shall be done this way.
Should - means it should be done this way, unless you find a better (or
much 
much cheaper that's almost as good) way.
May - means a suggested way, but there are probably others that are
better, and 
if you know of one, use that instead.

So the New Kil-O-Zap PDS System:
SHALL be able to successfully kill X standard targets in Y
seconds.(though X+1 
would be better!)
SHOULD use existing standard Navy components (unless KV-mart ones at
1/100 the 
price are even better, so we could refit the whole fleet)
MAY use a missile system as the kill mechanism (though a beam weapon is
fine if 
that's what's needed)

----------------------------------------------------------------
This message was sent using the AustarMetro Internet Web Mail System.
http://www.austarmetro.com.au/


Prev: Re: US CVs WW2 Next: RE: [FT] Military Overcharging