I think we agree here. I meant my statement more as a critique of the way the government does business. I will say that so far, nobody has quite cracked the code on how to do Agile hardware and deal with the imposed linearities imposed in the process. For instance, you may be able to develop a GUI without having full functionality of the software behind it. I can't swap out a diesel generator without removing the piping and hull plating in the way. That all takes time and is subject to slippage.This description shows more about what's fucked up in shipyard maintenance than it does anything to critique Agile. If you're working in Agile, this is a time problem, not a scope problem. The idea that a "partially delivered warship" is on the table assumes that someone is going to come back to you and say "no more, you're out of money" when you've been interacting with them every one month to two weeks, showing them the latest progress, and updating them on your best estimate of when shit is going to be done.
The great fallacy of waterfall methodologies is assuming that your initial estimate is anything approaching right, when you're making it at the point of maximum ignorace. In software as in ship maintenance, you don't know what you don't know until you crack the shit open and start working. So your initial estimate of scope, time, OR cost will be at best plus or minus 33-50 percent off. Agile junks the Gantt chart in environments like this. There are too many variables that you can't hold constant, or even measure at all. Which means predictions beyond about three months are useless. So get to work, learn what's actually there, and refine your plan based on what you know now, not what you knew at the beginning or two weeks ago.
Google the Cynefin framework and its differentiation between "complicated" and "complex." Waterfall is designed for things that are complicated, like making a Swiss watch or building a building. Agile is designed for things that are complex. Software systems are complex. Politics is complex. It sounds like shipyard maintenance is complex. The weather is complex. We don't ask a weatherman what the weather is going to be like on one day 6 months from now, because we know he'd laugh in our face and say he doesn't have any way of knowing beyond some vague range.
The fact that the government sucks out loud at Agile doesn't make Agile a bad idea when it's appropriate to use it. That's like looking at the Browns' and Lions' 0-16 seasons, and drawing the conclusion that no one can ever play football. In the words of consultant Ron Jeffries, you tried baseball, and it didn't work. If you can't make Agile work in software, well, frankly you work for an organization that's fine with being mediocre. Even the medical and financial fields are looking hard at how to mesh their compliance requirements with Agile. It absolutely can be done.
My comments were mainly highlighting the same failures yours are. We aren't flexible with our messaging and roadmapping/scheduling. That's because there are hard statutory restrictions that prevent us from being flexible. Changes to these statutory restrictions would literally take an act of Congress. It all goes back to the money and the fact that being flexible with our scheduling makes it difficult for the bean counters to tie funding to milestones or project completion.
All of this goes back to the fact that the regulations, organization, and processes that we use within our military industrial complex is stuck in the 1980s and needs to be completely overhauled.