All the more reason I believe technical people need to be leading technology driven initiatives like this.
One of the things that shocked Burt and Park’s team most—“among many jaw-dropping aspects of what we found,” as one put it—was that the people running HealthCare.gov had no “dashboard,” no quick way for engineers to measure what was going on at the website, such as how many people were using it, what the response times were for various click-throughs and where traffic was getting tied up.
Like shooting for the moon without mission control.
HealthCare.gov had been constructed so that every time a user had to get information from the website’s vast database, the website had to make what’s called a query into that database. Well-constructed, high-volume sites, especially e-commerce sites, will instead store or assemble the most frequently accessed information in a layer above the entire database, called a cache.
Rule 2: “The ones who should be doing the talking are the people who know the most about an issue, not the ones with the highest rank. If anyone finds themselves sitting passively while managers and executives talk over them with less accurate information, we have gone off the rails, and I would like to know about it.” (Explained Dickerson later: “If you can get the managers out of the way, the engineers will want to solve things.”)
That false pretense that a manager should “know” more.
It turned out the engineers at both QSSI and even CGI, the contractor that attracted much of the blame for the site’s failure, did not seem nearly as defensive or hostile as Park and the others had feared. “These guys want to fix things. They’re engineers, and they were embarrassed,” says one of the members of Park’s gathering band. “Their bosses might have been turf conscious, but by then the guys in the suits really didn’t want to have anything to do with the site, so they were glad to let us take over.”
Humility, the saving grace.
Though he had carte blanche to add resources, putting 10 people on a fix that would take one coder 10 days doesn’t turn it into a one-day project. Coding doesn’t work that way.
Marius Eriksen, Twitter engineer:
Unfortunately, the tyrrany of consumer software is that it is marketed based on “features” without paying attention to what it is these features add. Accidental complexity abound, and we end up with software that is very powerful but also much too complex. You have no hope of understanding how it all works. Such software also tends to be monolithic: a big giant ball of features, all inconsistently tangled together. This makes it difficult to combine with other software. Put another way, consumer software tends to lack that wonderful combinatorial explosion you get when you put a few simple and well-thought-out abstractions together.
UNIX is a perfect example of a powerful system built from simple, elegant abstractions.