The Atlantic has an interesting article about signals and control in NYC's labyrinthine subway system. Well into the article we find these paragraphs about a major software system they commissioned back in the 1990a:
The MTA thought that they could buy a software solution more or less off the shelf, when in fact the city’s vast signaling system demanded careful dissection and reams of custom code. But the two sides didn’t work together. The MTA thought the contractor should have the technical expertise to figure it out on their own. They didn’t. The contractor’s signal engineer gave their software developers a one-size-fits-all description of New York’s interlockings [electromechanical controls at switch points], and the software they wrote on the basis of that description—lacking, as it did, essential details about each interlocking—didn’t work.Gaffes like this weren’t caught early in part because the MTA “remained unconvinced of the usefulness of what seemed to them an endless review process in the early requirements and design stages. They had the perception that this activity was holding up their job.” They avoided visiting the contractor’s office, which, to make things worse, was overseas. In all, they made one trip. “MTA did not feel it was necessary to closely monitor and audit the contractor’s software-development progress.”The list goes on: Software prototypes were reviewed exclusively in PowerPoint, leading to interfaces that were hard to use. Instead of bringing on outside experts to oversee construction, the MTA tried to use its own people, who didn’t know how to work with the new equipment. Testing schedules kept falling apart, causing delays. The training documentation provided by the contractor was so vague as to be unusable.You get the impression that the two groups [the MTA and the software contractor] simply didn’t respect each other. Instead of collaborating, they lobbed work over a wall. The hope on each side, one gathers, was that the other side would figure it out.
Yikes! How much gray hair was created by this project?