HealthCare.gov: Resources and Invention

The NY Times piece examining the perilously flawed rollout of HealthCare.gov is balanced and detailed. It is worth a read. It deconstructs the mad scramble to fix a problem that never should have happened given the resources applied to this big, but solvable problem.

Some details are in the NY Times article and countless blogs, and of course only those engineers involved know the real story. And despite the many educated guesses about the real net cost of the project, perhaps we can all agree a lot of the budget is waste blown on consultants and processes that didn’t make an iota of positive impact. In fact, a lot of the cash likely introduced risk by adding layers of management and friction that tend to dilute engineering focus.

I’m basing this on years of observations of large companies, agencies, consultancies and quite a ton of startups. It comes down to how cash and people are deployed, paced and exhausted. In large teams with virtually unlimited resources, waste creeps in before you can say “SCRUM” or “lean” or “iterate.” This is why “Lean” and “Agile” consultancies can charge a premium to swoop in and make big organizations more efficient. Don’t take the quotation marks as sarcasm- they undoubtedly can and do build effeciency where is is most needed. When resources are limited, one uses them efficiently out of the gate and knows when they are too costly to sustain. And most importantly, one spends the scarce dollars to ensure measurable progress and feasibility of the end goal. It seems to me the massive Healthcare.gov teams did neither.

The Healthcare.gov software cannot have been complex enough to justify even the smallest of the expenditure estimates I’ve seen. Let’s call it an even $100,000,000.00 before the rescue missions began in November. Now let’s refine that with a gross oversimplification: staff the project with 200 engineers at a cost of $500,000.00 each. With these folks, I’m quite sure a v1 of nearly anything can be built, launched and adequately monitored. I’ll further guarantee that this team can build a Healthcare.gov that supports at least hundreds of simultaneous enrollments and displays useful error messages beyond its capacity. What happened instead is shameful; embarrassing to the administration and inflammatory to we taxpayers who shelled out for it.

Technology can be hard. Coupled with government regulations and supercharged politics it must be really hard. But necessity (scarce resources) is the mother of invention. Invention yields systems that work. Predictably. Healthcare.gov was given virtually unlimited resources, and judging by the HTTP 500 error I saw only yesterday, its architects still have quite a bit of inventing to do.

Patience and Pacing

Recently I had the good fortune of connecting with Dušan Omerčević, VP of Engineering for Zemanta who visited NYC from their engineering center in Slovenia.

Dušan wrote a terrific post inspired by our conversation here, and it is worth a read.

We talked a lot about how important patience and pacing are in an engineering organization, especially when building yours from scratch or pivoting an existing one with new hires, new processes, and new focus. Our tendency as engineers is to fix what we can fast and get things moving. We want to focus on code, and through code right everything and release fast. But there is a discipline to learn around letting some things run their course while very precisely controlling others. In mentoring team members, for example, it is often essential to stand on the sidelines and allow some hard but harmless lessons to be learned, while at other times one has to steer a less experienced developer away from failure with words and examples.

It was fascinating to compare engineering cultures and practices, and I came away feeling once again that common sense, a foundation in solid engineering process, and indeed patience are the basic ingredients for a winning productive development team. No matter what it’s size or location.

Living Room UX, not SUX

The Web is abuzz this week with anticipation of the upcoming Apple Television rollout and how it’s going to revolutionize the way we interact with television programming from the couch.

While I agree that’s going to happen, I think the reasons are not as intuitive as the analysts believe. Apple isn’t going to do something we haven’t seen before, at least not yet. And, the living room TV content revolution has largely already happened.

Cable TV is a giant set of brotherly monopolies in the US. As Henry Blodgett points out, there is a history lesson to be taken from the fate of the newspaper industry. But that’s already an old story-  what the market wants is on-demand content with a great user experience (UX). It’s sad and infuriating that there is no competition in unified set top boxes or a way to accomplish delivery of all TV content. I’d pay for this, and so might you. For years innovation in television UX has taken a back seat to everything else in television while every other manner of consumer device has benefitted from faster hardware and smart interaction design. But how revolutionary can entrepreneurs be when the very core of the content ecosystem is locked? Just ask Boxee, Logitech, Roku and many others. Consumers have a binary choice: deal with crappy cable boxes or “cut the cord.”  More and more are cutting the cord. And getting everything they need from their screens.

So Apple can’t solve this. But- if they have partnered with cable providers as the swirling rumor mill supposes, Apple will be able to bring a decent user experience to television, in a way that the $99 Apple TV in my living room fails to do. Google failed at this marginally, too. Cable company set top boxes fail at it spectacularly.

One has to wonder who is responsible for cable box UX in OEM deals with Cablevision and Time Warner. Are they given shoddy second-hand hardware to work with? Terrible design teams? A mandate to frustrate their end users? Perhaps a crash quota of 2 kernel panics per week? Craziness, right? And yet, this is how much cable company television user interfaces suck.

If it takes the magical shimmer of Apple’s Television to break free, so be it. Apple doesn’t need to do more than provide a decent, modern touch-friendly experience to push the cable guys out of the UI business forever. But let’s hope and do our best to ensure that we don’t trade a bunch of regional monopolies for an international one. Give TV consumers a choice of great UX’s from which to choose, and I think they will continue to pay for cable subscriptions and suffer the advertising that makes the whole think tick. At least for a while.

Bring on great living room experiences powered by innovators who care about responsiveness, intuitive design, and have studied the art of user experience. Give me UX, not SUX.

Thoughts on Pycon

I spent much of last week soaking in all the inspiring developments in the Python community at Pycon 2012. A huge thanks is due Jesse Noller @jessenoller and his team for organizing an engaging, well-paced conference and for executing it flawlessly. Impressive.

I played a small part with a Poster Session on Sunday, the final session day. I talked about how and why we arrived at a Python codebase for my new project, Happify. My poster, below, is an unscientific look at various startup-friendly languages across axes like hiring, readability, produtivity, and performance. I spoke about the state of the NYC startup scene, how Python is on the rise, and why it’s a particularly good fit for small teams that require each member of the team to contribute at every layer of the stack. It was very well-received, sparking some vibrant post-session conversations on everything from Positive Psychology to creative use of Python decorators. My short intro video is here. You’ll see clearly I’d had insufficient sleep ond more-that-sufficient caffeine.

But the best aspect of Pycon for me was getting to know the community of folks that make the language thrive. For years I have been intrigued by the differences between various self-organizing open-source technical communities, with first-hand knowledge of the groups driving Ruby, Python, Scala, Java, and PostgreSQL. I have in mind a long post which will explore their similarities and differences, but I will pen a few words about Python here.

Python has a long history as a utilitarian “get things done” language. It’s wide adoption by academic and scientific programmers, as well as the web application startup scene has proven that its readability, lack of magic, and productivity are important to anyone writing code. Perhaps even more important than out-of-the-gate performance and concurrency. This cross-cutting eye toward utility is very clear at Pycon. Talks and Posters surrounding my own included explorations of computer vision, artificial intelligence, asynchronous evened programming, web frameworks, and even my favorite “Militarizing Your Backyard with Python: Computer Vision and the Squirrel Hordes.” Get the language out of your way, and you can do anything from shooting rodents to making people happier through gaming.

Anyway, I’m excited to be a small part of the Python community.

And a PDF version: PyCon 2012 Poster

PyCon 2012

I am excited to be in Santa Clara this week for company business and for PyCon 2012.

In recent years I have seen a tremendous lift in the size of the Python community and the innovation coming out of it, and I am thrilled to be a part of it. On Sunday I’m giving a “poster” presentation on this very topic; I’ll be engaging with the community here on why a Python-based stack is the right fit for our efforts at my new startup, Happify.

Beyond the obvious energy and creativity coming out of Python, my thesis is that NYC is becoming a center of great Python work in startups. Thanks to open-source frameworks like Brubeck.io, a growing talent pool of xooglers and Bay-area expats, and the sheer number of funded early-stage companies embracing Python (for it’s readability, productivity/fun, and good-enough performance), it is a natural and solid choice for NYC startup efforts. I am jazzed about becoming more involved with the NYC Python scene and contributing wherever I can.

If you are at PyCon, please say hi. I’ll post about my experience here when I am back in NYC.

Dusty

Looking back over the few posts on this dusty old blog, I’m amused and chagrined to see that I’ve mostly written about leaving old opportunities to pursue new ones. And here I am writing that post once again. But this year I’ll be writing more here.

I spent 2010/2011 building the technology platform and team at Bookish, and it was an amazing experience. But, for me it came to an end. I miss the team and the irreverent vision we shared, and the inspiration it brought me. As is always the case, ideas are cheap, money is out there and the hardest part is surrounding yourself with the right set of amazing collaborators.

Last year was busy.

  • We worked our butts off on Bookish.
  • I started the NYC SproutCore meetup and hosted several events.
  • I pursued speaking more aggressively, notably at MySQL Conf and Surge.
  • I was quoted in the WSJ and featured on GigOM with a headline that included the words “Harsh Mistress.”
  • I mentored at SeedCamp NYC and IBM SmartCamp.
  • I wrote a bunch of code outside of work and learned some new stacks and tools for the hell of it.
  • I got pretty excited about these wind synthesizer patches and wrote some music, soon to be released into the wild I think. I was quoted on the developer’s site.
  • I kept off the 15 pounds I lost in March.
  • I learned a LOT.

But there are a lot of things I didn’t do. I didn’t play or write enough music. And although I talked about it a lot and was on the scene, I didn’t found a company. Well, not until mid-December, so that doesn’t count.

So in 2012 I’ll do both those things, and write about my experiences here at least 12 times. I hope you’ll read and comment. Happy New Year!