Comment Could it be the government agency's fault? (Score 4, Insightful) 185
Could it be that the way the government contracts are structured and micromanaged by government agencies is the problem and not the contractor or their programmers? I work for a company that provides government services under contract to the State of California and the government agency that oversees us micromanages us so much that it is often impossible to to develop systems properly. The 4 biggest problems I see are 1)constantly changing requirements that are written by government employees with little or no IT/web knowledge 2) contracts secured by being the lowest bidder which do not allow us to have the resources to properly design or test the system we are building 3) forcing us to work with other contractors including non-profit ones that are "donating" their services (very strange to me really) and that provide inferior IT systems we must use or integrate. 4) Requirements, features and design being dictated by government agencies or advocacy groups with little knoweldge of system design & development.
For example, we are currently forced to support an application written by one of these "non-profits" that uses ASP classic and violates every current IT standard. My company has the IT staff & talent to completely rewrite the application but we are not allowed to and must instead support and integrate the badly written one that was donated to the state. It is unclear why this non-profit is allowed to force the agency & us to use their product, but it seems they have political connections that make it so.
I believe also that government contracts almost always go to the lowest bidder and not the company with the most expertise. Often a contractor is the lowest bidder because they plan to cut corners and not follow good IT practices, or have not estimated costs correctly.
Also as a web developer for a company that works under government contracts, I cannot count the number of times we have received requirements for a website from people that have little or no computer skills, let alone web skills or experience. You would think in this day and age that the government employees providing requirements for government IT systems would have at least basic IT knowledge, but this is often not the case. I am not exaggerating that I have received requirements from people that have no Excel, Word or even email skills and have obviously barely even used the Internet. Many people in the top levels of government management are older (baby boomers) or were promoted for reasons other than great IT skills. They often have no professional experience with developing IT Systems, ADA or other required standards and yet they are the one writing the criteria for the contracts and the system requirements. State agencies also often demand that large amounts of money be spent on "usability studies" or other commitees where a lot of people discuss and dictate what the IT contractor should do in building the new system. The people running these studies often have very poor IT skills themselves and have little experience designing IT systems, but they often have an enormous say in how the system is designed. By the time the IT contractor's development staff is involved in the project, everything is already specified by non-IT government people and between that and the contractor management trying to save every dime (therefore not providing resource for testing), it is not really possible to build a quality system.
I say all of this inspite of the fact that the State of California actually has a good Department of Technology Services that provides great ADA compliant web templates. The California State government is so large that even with a good DTS department, the management and staff at specific agencies providing the requirements for a new system may have no knoweldge or interaction with that department and never involve them in creating the contract or project requirements.
I think the solution to this is the state should be involving its DTS department in creating all contracts and requirements for new systems projects and individual staff without IT experience should not be allowed to do this. They need a Project Manager in Chief to make sure designs & requirements are valid technically. I would also recommend doing all projects in smaller chunks - 10 $100,000 projects, not 1 $1,000,000 project, and awarding projects based on expertise and track record not the lowest cost.