As you probably recall, I've been unhappy with the "Ada Mandate" for
many, many years. I'm also in the camp that says the customer should
decide the WHAT, and the contractor should decide the HOW. If the
customer wants reliability and maintainability, then if Ada is indeed
the best means to effect these ends, Ada will be chosen. And if Ada
is *not* the best means, it won't be chosen, which is exactly right.
However, that said, the present situation finds me deeply distressed.
For I believe that what is going to happen is that the DoD will abandon
its insistence on the HOW, and replace it, not with an insistence on
the WHAT, but rather with nothing.
Will future software products delivered to the DoD be assessed for
reliability, maintainability, and the other *essential* -ilitites?
I rather think not. I see no evidence that the DoD has any competence
in such assessments, nor much evidence it even realises it *needs*
such competence, and very badly.
Even if such products were assessed, would the assesment have teeth?
Can we really visualise the DoD rejecting a software product that
bears a billion dollars of sunk cost, merely because it doesn't work?
Look at the track record. Even within the Ada world, how many cases
can we all cite of DoD funded developments that continued to eat funding
long after it was palpably obvious they would never work?
Again, I fear that such projects will be deemed "too big to fail", "too
critical to fail", "too visible to fail", and the assessment will be
fudged to allow us to pretend that failure is success.
If the Ada mandate is to be abandoned, it must be replaced with something
*more* effective at ensuring the DoD receives software that has the
attributes necessary to support its mission. In particular, the software
acceptance criteria must be comprehensive, rigorous, *and enforced by an
independent authority*. An authority with the power, and the clout,
of, for instance, the range safety officer at a missile test station.
Without at least this much, I fear we are indeed heading back into