Jack be nimble...
Agile development certainly has it's advantages[*], but it's perhaps telling that the Wikipedia page for it states that "Large-scale agile software development remains an active research area". And I'd suggest that government contracts are generally as large-scale as they get!
For instance, one of the key statements of the Agile manifesto is "Working software over comprehensive documentation". That'll work well in an environment with tens of thousands of users with heavily varying IT skills...
Wikipedia also suggests that "Team size is typically small (5-9 people) to simplify team communication and team collaboration. Larger development efforts may be delivered by multiple teams working toward a common goal or on different parts of an effort". However, with non-comprehensive documentation and the probability of requirements change/rescoping, there's a high risk that the teams will experience problems in coordinating their development activities.
Also, the idea of rapidly delivering iterative slices of functionality is great in theory, but can cause problems: if you're delivering changes to an existing system, constant change can be very disruptive and costly, both in terms of customer buy-in, system outages and user training. And things get worse when you're replacing an existing system - users are unlikely to use/buy into the new system until it's feature set is on parity with the old system, thereby negating all of the benefits of the iterative development process.
Just to be clear: while the above may all sound negative, I think agile development is a good way to deliver functionality. I'm just not convinced it's the best way to handle large-scale government contracts...
[*] I've been involved in both small and large-scale agile developments - the latter involved an external customer, an international userbase and a six-week rolling deployment schedule. We kept things running relatively smoothly, but the logistics and processes were horrendous to manage, as you have at least 3 releases to monitor/manage at any given time: the one being developed, the one being prepared for deployment and the one which has just been deployed...