As the discussion over what went wrong with the initial rollout of HealthCare.gov website continues, one key trend that has emerged is that the incident underscores the challenges and complexity of software deployments in today’s environment. In an age in which software is everywhere and is a defining feature in any industry, projects have ballooned in complexity and require substantially more organization to guarantee the various components of a program come together smoothly, Dave West, chief product officer at Tasktop Technologies, noted in a recent InformationWeek column. To avoid buggy rollouts at a time when a product like a luxury car may have 100 million lines of code, companies need better processes and tools to manage development and catch errors.
“The HealthCare.gov website disaster is perhaps the most public reminder yet that modern software is not supplied by a few key vendors,” West wrote. “Rather, it is the collective work of an almost mind-boggling array of companies, individuals, vendors and open source projects. Additionally, the problems being solved by software today no longer lend themselves to linear or sequential process models, where software is designed and then used. Instead, modern software development requires frequent delivery, rapid feedback and the opportunity for change.”
In that complex ecosystem, West explained, it’s easy to lose track of what kind of testing has been done for which components. Documentation can easily become siloed and inconsistent. Vendors, therefore, need tools that facilitate collaboration.
Making peer code review part of the process
One easily implemented step toward improved collaboration is the use of code review tools and processes for locating and tracking errors. By leveraging tools that allow stakeholders throughout the project to look over code, help developers find bugs and document changes, teams can increase the oversight of their project while boosting its overall quality. Peer code review also helps share knowledge across the team and teach new skills to developers, software executive Lorinda Brandon wrote in a post appearing on Geeklist. In fact, sharing knowledge was the second most-cited benefit of code review in one recent study, with 74 percent of organizations pointing to it as a goal.
“One of the greatest benefits of tool-assisted code reviews is the documentation of the process itself – allowing everyone to learn from each comment and correction made,” Brandon explained. “The other significant advantage is the ability to have code reviewed by developers who don’t happen to be sitting next to you. If you have a development team spread across the globe or a crazy colleague who only works from 1-5 a.m., a code review tool will track any reviews done for authors to view at their convenience.”
Equipped with peer code review tools, companies can start breaking down some of the barriers to collaboration and improving coordination among the various parts of complex software projects.
Software news brought to you by Klocwork Inc., dedicated to helping software developers create better code with every keystroke.