As the government tries to fix federal health-care portal Healthcare.gov, politicians and spectators have tried to identify how things got to this point. Health and Human Services Secretary Kathleen Sebelius testified before Congress on Wednesday, accepting responsibility for the botched website launch and vowing to fix the problems. One technology company isn't surpised by the site’s instability, and they’ve offered to help identify problems in the service pro bono.
Load Impact, a widely used load testing service, announced this week that they could help get Healthcare.gov back on track – all the government has to do is contact them. The company says they can provide more than enough simulated traffic -- the equivalent of hundreds of thousands of concurrent users -- to demonstrate where the website’s bottlenecks are.
Reports that the website was not tested until a couple weeks before launch was one thing that led the company to make the offer, said Ragnar Lonn, founder and owner of Load Impact. “If that is true, I would say a lack of testing has been a big problem for this project,” Lonn said. “It’s not unusual that people test late in projects and that’s a problem that the whole industry is having today. It’s a maturity problem, but more and more people are realizing that testing and load testing is important to do at an early stage.”
As iterative design approaches like agile development begin to replace traditional waterfall methodologies in software development, more organizations are seeing the value in adapting their software’s architecture early in the development process to avoid problems like the ones HealthCare.gov is now experiencing, Lonn said. Regular bug testing and load testing should be done as early as possible in the development process. “That’s what I would expect from a large project like this – that people would do load testing early and frequently throughout the development and not as an afterthought just before release. Because then it’s too late to fix things, anyway,” he added.
Healthcare.gov is now in the position of fixing something that should have been identified as a problem very early on, and in situations like this, developers sometimes must throw away months of work to fix critical problems, Lonn said. But if scalability problems are identified early with load testing, the software’s architecture can be adjusted so development time is not lost later on.
Minimizing unnecessary processes, like calls to a database, is one way to optimize Web-based software, Lonn said. States like Minnesota, for example, avoided launch-day crashes by not requiring users to create an account to browse health-care plans. By contrast, the federal portal made last-minute design changes that did the opposite – upon launch, users of the federal portal were not able to browse plans without first creating an account, which put extra stress on the website, compounding bandwidth problems.
It would be fairly easy to load-test each component of the website and identify where the problems are, Lonn said, although how easy it will be to fix them is unknown to him.
Load Impact General Manager Charles Stewart explained that Healthcare.gov's issues are not unique. One of its clients, the California Franchise Tax Board, also experienced problems stemming from insuffient load testing in advance of the launch of an online payment feature that made its debut on tax day. “Not surprisingly, they were overwhelmed by the number of people who wanted to pay their taxes,” Stewart said. “This year, they have a public bid out for load testing to make sure that doesn’t happen again next year.”
Although a lack of testing early on is a fairly common occurrence, organizations are beginning to come around, Stewart said, particularly since the cost of load testing has come down. What would have previously cost a medium-sized organization hundreds of thousands of dollars can now be had for a few hundred dollars per month for an unlimited subscription. With government project budgets frequently reaching hundreds of thousands of dollars, there’s no reason not to invest in it, he added.
Rather than react to problems after they happen, load testing software is basically providing a predictive engine that can be used to adjust the design process as needed throughout development, according to the company. “It’s now the norm,” Stewart said. “It’s not something that is optional – it’s now mandatory.”