Here are several of the relevant documents I received from the Government Accountability Board as part of my open records request regarding the Campaign Finance Information System (CFIS). Some may find these useful and would want to look into the documents themselves.
CFIS Contract (PDF)
RFP Summary (.doc)
Project Milestones (.doc)
RFP Scored Summary (.xls)
PCC Technology Group Technical Response (.doc)
I live in the Washington Heights neighborhood of Milwaukee, WI with my wife Jen, our daughter Emerson, and sons Carter and Colton.

Dan, this is awesome. Thanks for posting it.
But, I mean there it is, right? Look at the RFP response. It’s easy to focus on the code as the only deliverable, but that’s not what the state asked for. They asked for everything from project management to an issue tracking methodology to a training plan and 3 different sets of training materials to ongoing technical support to audits to (and this is surely a big one) data conversion from the legacy system.
“1st /Initial data pull: Data extracted during this pull is used to analyze the current data structure and format. Conversion routines are developed based on the analysis of the data during this pull”
That means the current system is undocumented and they are reverse engineering the data structure/format. The 1 guy who wrote this old legacy system probably retired 5 years ago and all of his COBOL variable names are named after Monty Python skits. They estimate 2-4 weeks, and it’s hard to believe they can do it that quickly unless we’re talking about a small set of data structures in a legacy relational-like data store.
They then talk about rounds and rounds of data cleansing activities. They estimate 14-16 weeks, which sounds about right to me.
They also seem to have 3 other sources of data that need to be converted and integrated. I was not able to get a feel for how bad this task is, but it’s usually not simple.
Finally, they specify a 12 month warranty after user acceptance signoff. This means all bugs found between user acceptance signoff and 12 months from then are fixed at no charge. It may surprise you, but warranty is not a common thing. Occasionally you will see a go-live-plus-90-days type deal just to weed out bugs that arise at full user load, but the whole idea of UAT signoff is the client is saying the product meets all stated requirements and is production quality. That’s it. That’s supposed to be their last chance. To turn around and say they actually have 12 more months to identify anything and that will be fixed for free is assuming a lot of risk and a lot of cost. How likely is it that the 1 person who worked on conversion quits in that 12 months or is otherwise occupied on another project? 50%? 10%? If it happens, fixing any issue related to conversion is going to cost the company a ton. Not to mention that no matter how well you define “bug” to not include “requirement never defined by the client”, inevitably you end up doing a majority of that scope-creep-style stuff as “bugs” in order to keep the client satisfied with the end product. After all, they didn’t state that requirement because you didn’t ask the right questions to them, right?
And you can bet that PCC isn’t eating that cost; it’s being passed on in an expected-value, insurance-style scenario to the client. (They ask for it, they pay for it. It’s another CYA by government officials that sounds great when you ignore its cost.)
Anyway, I won’t belabor the point here. To call this a glorified blog is a serious understatement and doesn’t acknowledge that the new software code isn’t the only deliverable. It ignores data conversion from undocumented systems. It ignores project management. It ignores all the communication the state is requiring. It ignores the development of training materials and training plan. It ignores the insanely long warranty.
I know everyone would love to rip on a company for “stealing tax money”, but if you want to rip on someone, it should be the governments who are almost always a decade plus behind the times and should have moved off of their legacy systems 15 years ago, or followed sane documentation procedures, or utilized standard formats, or a hundred other things that you (Dan and many others) have been rightfully advocating for years and years.
From my reading of the RFP response, $2m sounds about right, and I’m surprised it’s not $2.5m-$3m just to cover the uncertainty of what would come up over the 12 months of warranty. Sounds to me like your RFP reviewers did a good job of negotiating an attractive deal to finally bring their costly legacy system into the 90s…
a) There is a lot of justice in Matt’s comments. Since seeing this the first time, I have talked to several other people in the industry, and the responses were consistent: The government is an unwanted client, not because of the site requirements, but because of other considerations. They’re viewed typically as a luddite client that is very demanding, doesn’t care about what’s hard and what’s easy to do, that is always unilaterally moving the goalposts, and that is about as flexible to deal with as cast iron. (The Warranty bit in particular is a howler; software neither decays nor degrades over time. If it works today, it will work next year exactly as well. A good acceptance test renders a warranty nonsensical; I wonder what, precisely, would be covered under such a thing? Features that the gov’t didn’t think to ask for originally, would be my guess.)
b) That having been said, however, to deliver such an underpowered, underdone website as has been delivered so far is pathetic, even under those conditions.
It’s almost tempting to set up a citizen-powered website to deliver the same kind of information, just to see who’s view of reality is farther off the mark.
Dan, Jay Weber just discussed your research on the 2 million dollar website and named your website. I thought right wing radio was blindly partisan in its thinking and not worthy to discuss something that was discovered by a left leaning person such as yourself.