Based on some of the feedback that I've gotten, I didn't make one point clear enough -- Bad Agile (like bad Waterfall) can and will fail. Specifically, several noted that in their experience Agile programs have lower product quality, or that Agile is only suitable for small, inconsequential programs.
My direct experience is different, and I think I understand why. Effective systems development, Agile or Waterfall, must be a disciplined process, a point that was made most effectively by the creation of the Capability and Maturity Model (CMM) by Carnegie Mellon back in the late 1980s. Lack of a disciplined process will cause a systems development program of any type to have problems. I think that both sets of observations, good and bad, reinforce that effective, decisive management is probably the most important determinant in program success.
[ Want more expert advice from government gurus? See Government IT Contract Wins: An Insider's Perspective. ]
To be fair to those who disagreed with me, Agile is still emerging in some organizations, and may be immature and guilty as charged. However, we shouldn't use these examples as our benchmark, as we have significant evidence to the contrary.
In the case of Agile -- mature, enterprise-level Agile -- code standardization, build automation and integrated testing are key components of our software development processes. If these practices are being executed right, it is impossible not to deliver higher quality. And that's been our experience in engagement after engagement.
Also, government projects face unique challenges at both the front and back end. Specifically, the initial funding and authorization hurdles take longer to clear, as do executing the certification & accreditation processes needed to secure authority to operate. As a result, the core argument for Agile -- keeping big, long-term projects on track by breaking them into easier to manage components -- is even more relevant in the federal sector, as the overall process is longer.
Let me be clear that it is impossible for Agile to be a panacea as it's not even a single methodology. However, it does provide the tools and frameworks needed to be successful. The challenge is having the discipline required to use these approaches effectively and consistently.