Last year's local election fiasco was caused by votes being missed as they passed through a transform program to render them into XML, a report says.
Consultancy KPMG says the votes were missed because of a contention issued caused by several instances of the program running on the same data.
However, the problem was compounded by a lack of basic alerts and crosschecks in the process and by an overall lack of poor project control, the KPMG report says.
The poll was the first local authority election conducted under STV (single transferable vote), a system which requires voters to rank candidates in order or preference and requires some fairly complex calculations to produce a result. The software was developed and run by NZ Post subsidiary Datamail under contract to electionz.com.
Raw data from the voter forms, after cleaning and resolving of ambiguities, enters the transform program, which converts the votes into XML form. They are then passed to the STV calculator.
In a test run at the Wellington City Council mock election in August last year, the transform process was found to be running too slow and the system was rejigged with several iterations of the transform program accessing the common database. This is thought to have been instrumental in the contention problems at the real election, though KPMG, on the evidence it gleaned from developers and the records of events on the day, is still not sure what kind of contention was involved — whether it was network access collision, database availability or record lockout within the database.
In the actual election, when the contention problem became evident, the system was again reorganised to run in “distributed” node with an instance of the application and a separate database for each local authority and DHB’s processing.
“However because the datafile and XML tables were located on separate machines the fact that the same number of votes were not processed was not identified until the subsequent investigations commenced on 10 October 2004,” says KPMG.
The mismatch was not picked up because error routines that would have raised an alarm were absent. There were also no control totals, manual or automated built into the process. “From a systems development perspective this is an expected control feature, especially when processing large volumes of data,” the report says.
The failure was influenced by a lack of proper project control and by an attitude among Datamail staff that the company knew how to do elections and that this one, despite the fact that it involved STV, was essentially nothing new, KPMG's report says.