Sunday, November 24, 2013

Obama, Silicon Valley, and Learning by Testing

There were PhDs working as low paid data managers during Obama’s ’08 campaign and top product managers developing interactive during ’12 campaign. There are many talented developers/product managers/data modelers who would take a pay cut to work on something they believe in. Especially for those with enough life experience to know how important the Affordable Care Act is, even if it’s not an ideal solution.
The quote is from a comment on a very interesting essay about the failure of the website.  Part of the essay's point is the danger, in IT projects and elsewhere, of a particular approach to doing large projects:
The preferred method for implementing large technology projects in Washington is to write the plans up front, break them into increasingly detailed specifications, then build what the specifications call for. It’s often called the waterfall method, because on a timeline the project cascades from planning, at the top left of the chart, down to implementation, on the bottom right.

Like all organizational models, waterfall is mainly a theory of collaboration. By putting the most serious planning at the beginning, with subsequent work derived from the plan, the waterfall method amounts to a pledge by all parties not to learn anything while doing the actual work. 
It occurred to me that the comment, combined with that point, raised an issue that had probably not occurred to the commenter. The Silicon Valley people who worked to reelect Obama were acting on their view of Obama and his policies. The arguments of the essay imply that they ought to be willing to revise that view and alter their political activities accordingly as further evidence comes in.

If, as many sources seem to suggest, Obama did not realize that was not going to work, and if the reason he did not realize it was that he had created a culture around him in which people did not feel free to pass on bad news to their boss, then he is not, and was not, competent to be President. If, as Obama himself implied in contrasting the failure of to the success of the IT efforts of his reelection campaign, government is very bad at doing this sort of thing, that is at least some evidence that the ACA was a mistake, likely to make health care worse rather than better.

I wonder how willing his supporters in Silicon Valley will be to apply the "test and revise accordingly" approach to their own political views.


Unknown said...

Observing Hofstadter's Law and Friedman's Law - this could become one of the most exepensive and time consuming IT projects of all time.

Anonymous said...

I read somewhere that IBM was one of the companies that bid, but lost. They probably asked for more money, at least more money than the initial projected cost.
But as a proper engineering firm, who has made some of the most important contributions to how software projects should be run, they would have been unlikely to roll over and obey some technically incompetent WH politicians.

I know it is wishful thinking as well, but everything I know about software management tells me that this project is dead.

Rob Szarka said...

IMHO, the correct conclusion, either way, is that government is very bad at doing this sort of thing. That people in an organization like the US government don't feel free to pass on bad news to their boss is an application of Celine's Second Law: "Accurate communication is possible only in a non-punishing situation."

Perry E. Metzger said...

Re: the claim that IBM would not roll over and obey:

I have great respect for IBM and once worked for the company. That said, I have seen IBM consultants fail to get across messages like this to their de facto managers at some firms because said managers were not interested in hearing the bad news, and they've slogged along anyway.

It is very, very difficult to get clients or managers who do not understand engineering challenges and do not want to be informed about failures to revise their behavior without completely alienating them. making them pay attention usually means doing things like saying "the written record of the fact that you were informed in advance of the likely failure of the project, which you then ignored, will likely result in your being fired". Telling your manager or client that will likely result in you yourself never working again. That is why, of course, people generally fail at informing such people of such events.

The advantage of private enterprise is that companies that behave this way die and the resources are reallocated to more intelligently run competitors. The disadvantage of the state is that it is a monopoly and there is no real connection between its putative products and its revenue.

Indeed, I will note another comment I've seen made about the disaster. One does not simply set out to be and succeed. Hundreds of firms had business plans that said "we will produce a wonderful and successful online marketplace". All these companies tried their best, but almost all failed to do it well. An evolutionary process sorted through the vast numbers of failures, allocated freed-up resources to the best competitors, and ultimately handed us a good service. The people who set out to create believed, with enormous hubris, that they could simply set out to become equivalent to the most successful competitor out of a large set of initial attempts on their first try, and in spite of, as Shirky put it, a pledge that they would never learn anything new about how to do the work during the course of the project.

jimbino said...

The problem is that the programmers competent enough to do the job were libertarians working away in their dorm rooms and garages who would not sit for drug screening.

Perry E. Metzger said...

David asks: "I wonder how willing his supporters in Silicon Valley will be to apply the "test and revise accordingly" approach to their own political views."

I would guess "not very". My experience is that a majority of people, even very intelligent people, adopt their political beliefs based on the convictions of friends and family, which is to say, to demonstrate tribal affiliation, and not on the basis of rational consideration.

This may also be the case for many engineers, but as the marketplace rapidly punishes such behavior, it matters little since it is rapidly selected out.

Anonymous said...

Perry, thanks for your input. I was also thinking that a company like IBM has enough backbone to raise their voice and enough reputation to lose to have to do it.

jiimbo: One needs good people on a software project, but they need to be dependable. Software engineering is the coordination problem from hell. It is a bit like trying to write a symphony as quickly as possible. Ideally, only one person should do it, but one cannot wait ten years, so more people need to be added.

Putnam & Myers "software equation" says that

cost ~ size^3/(Time^4 I^3)

I is a process productivity index, how good a company is at doing software.

So if you double the size, the project costs 8 times as much.

If you half the time, the project becomes 16 times as expensive. In reality, you cannot halv the time though, because the maximum staffing on a project is dependent on the number of tasks that can be carried our independently.

Gerald Weinberg, "Quality Software Management - vol 1 - Systems Engineering" is highly recommended. It contains no code and can profitably be read by anyone.

Weinbergs "Introduction to General Systems Thinking" ought to be good, but I haven't yet read it. It is not limited to software.

Anonymous said...

It might interest readers in the US to look into the problems of computer records in the NHS (the UK's socialised healthcare service).

A troubling statistic from that page, ' Officials involved in the programme have been quoted in the media estimating the final cost to be as high as £20bn, indicating a cost overrun of 440% to 770%'

Friedman's law and then some!

Tibor said...

Perry: Friends and family surely play a huge role in the "initial orientation" (in this way, political beliefs are similar to the religious ones). However, if presented with a lot of information and a lot of arguments against their current position, I would say intelligent people - at least those who do not have much of their life entangled in their political belief, so this excludes politicians - reconsider their views. It may take some time and there will be some resistance, but they do. A lot of smart people supported communism once, now none do.

If one project goes wrong, it can be bad luck. If in your experience 10 government projects in a row go wrong, it might make you think about what is wrong with the government.

A friend of mine has always been rather on the left, close to what is in the US called a liberal. We have been talking about these things when we occasionally meet in a pub and he made some good points that made me think why I have these and those opinions much more carefully. Eventually though, he agreed with me on more than I expected (but that was over the course of several months and also, since we are friends he or I never had the feeling we have to "defend our point" least not as much as if a stranger "challenges" them). In the last elections he voted for what is the czech analogue of the libertarian party. And I learned quite a bit as well - mainly I realized where the limits of my arguments were, I might have not changed my position much, but in a few cases I changed the reasons why that is my position. Mostly along the lines of "ok, free market has quite a lot of flaws in this particular problem, more than I realized, so it makes no sense to argue that it is perfect...but government solutions are even more flawed, so free market is still preferable".

I wish people (including libertarians...I almost want to say especially some libertarians but that is probably because I dont get to talk to fanatics from other sides as much) were less tribal and more open to ideas of other people, not considering them to be a priori evil or stupid. It would help both sides of any debate.

Anonymous said...

"...he had created a culture around him in which people did not feel free to pass on bad news to their boss..."
I read a couple of books on both the Chernobyl and Challenger disasters, your sentence reminded me of them. I conclude, this is how bureaucracies work.

Rex Little said...

I wonder how willing his supporters in Silicon Valley will be to apply the "test and revise accordingly" approach to their own political views.

If they're anything like his supporters outside Silicon Valley, not very. My brother sends out links like this to the rest of the family. (If you can't or don't care to follow the link, the headline reads "The myths of Obamacare's 'failure'".)