Jim Thompson, an Operations Manager in the Mentor Graphics Board System Division, manages software development for the Xpedition® Enterprise product line. Xpedition Enterprise offers the industry’s most innovative suite of PCB design flow solutions, providing integration from system design definition to manufacturing execution. The unique, patented technologies of Xpedition Enterprise can reduce design cycles by 50 percent or more while significantly improving overall quality and resource efficiency.
In 2012, Thompson began researching solutions to facilitate code reviews and assist design engineers in creating higher-quality software for customers that rely on Xpedition Enterprise solutions. “We wanted to make it easier to conduct code reviews so developers would consistently use the tool we selected,” Thompson says. “We also needed to give developers the flexibility to run code reviews on their own time-schedules and have the results recorded in a central repository to automatically provide feedback to the originator.”
Adding to Thompson’s challenge in finding a tool that could meet this requirement was the geographically-dispersed make-up of the development team—200 engineers spread across eight locations. Keeping the entire team on the same page and clearly documenting code review feedback in real time created an extra road block given that the engineers worked across multiple time zones.
“Previously, we managed code reviews informally, usually with people getting together as best they could,” Thompson explains. “But even if when relying on an online collaboration videoconferencing solution where the code can be displayed, it’s difficult to document conversations properly. We also found it a challenge to schedule an entire review team, which usually numbered four or five people, online at the same time.”
Another driver moving Thompson’s team toward a code review solution was the decision by Mentor Graphics to adopt Agile development methodologies, including continuous improvement. “We identified code review as an area in which we knew we could improve,” Thompson says. “From a development environment standpoint, we wanted to increase our efficiency in code reviews, which would lead to improvements in our software products.”