You first of all need to go into the procurement process. This pretty much starts with the principle that you need to know whose fault it is when it all goes wrong which kind of sets the tone for everything.
To be able to cope with the procurement you need quite a large and bureaucracy heavy setup to start with - the emphasis is on accountability not performance. Also the government moves very slowly - it is a very large organisation with few of the commercial pressures we in the private sector are used to - this leads to delays - which in turn lead to costs. The type of company that can cope with doing business with the government has a lot of overheads.
Secondly the government side is quite hampered with rules and regulations to prevent what you might characterise as corruption. This means a lot of stuff has to be done formally and that often brings delays (and expense). (I don't want to portray this as a bad thing - corruption is bad - but it does prevent a lot of agility IMO)
Thirdly the people on the government side often don't know what a successful IT project looks like and the people doing the procuring frequently won't be people who know anything about what they are buying (and the actual end users of the system will likely not be consulted until long after the procurement). To be fair to the procurers they really do try and get value for money - but way things are setup normally means that this can't be done in sensible ways.
It's one of those "well you wouldn't start from here" type things - and whats worse they do keep starting from here and it keeps going wrong.