Mentor Graphics
Based in Oregon, Mentor Graphics Corporation (NASDAQ: MENT) is a world leader in electronic hardware and software design solutions—providing products, consulting services and award-winning support for the world’s most successful electronic, semiconductor and system companies. Established in 1981, the company reported revenues in the last fiscal year of nearly $1,090 million.
Business Need
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.”
Targeted Solution
One of the first tools Thompson and his team considered was a freeware solution offered by Review Board. But after discovering the installation and configuration would require too much resource time, Thompson began researching alternatives.
“We checked with colleagues at other companies, and SmartBear Collaborator kept coming up as the preferred choice,” Thompson says. “We found it very easy to install, so we could start running code reviews immediately, and we could see it meets our needs very well. Adding in the low cost, it did not make sense to invest time in looking at other solutions.”
As a full-featured code review solution, SmartBear Collaborator is the only code review tool that also enables reviews of other project deliverables such as user stories, test plans and user documentation. Collaborator transforms code reviews into easy and efficient tasks for developer teams, which leads to greater adoption of code reviews as a best practice and to improve upon code development.
“The key is the user experience,” Thompson adds. “Collaborator allows other members of the team to easily and collaboratively provide feedback, and for the author to track and take action against each comment.” Read on about this on our blog, When Code Review Audit Trails Pay Off.
For the 200-person Xpedition Enterprise engineering team, 15 developers within the group use SmartBear Collaborator throughout each day. “We tested it on our own for about a month and then met with SmartBear to answer general questions about how to fully leverage the tool,” Thompson says. “The solution has worked smoothly since the beginning, and new developers joining our team can easily pick up how to use Collaborator.”
“When considering the cost savings of discovering software bugs early in the development cycle compared to when applications are in production, the ROI that SmartBear Collaborator delivers is immeasurable.”
— Jim Thompson, Operations Manager
Benefits and Results
SmartBear Collaborator has met the primary requirement of helping the Xpedition Enterprise team at Mentor Graphics collaborate more efficiently on code reviews across the eight locations at which design engineers work on the product line. “Collaborator is an excellent tool for any software development team that needs to facilitate code reviews among developers across multiple locations,” Thompson says. “We also appreciate how Collaborator assists in the project management process—by queuing up code reviews so each developer and reviewer can manage code projects efficiently.”
For one specific code review project, three developers discovered they were reviewing the same piece of code at simultaneously. Each developer could instantaneously see each other’s comments and communicated with other in what transpired into a virtual chat-mode session.
When developers wait for software builds to complete, SmartBear Collaborator also shows them the other code review projects they need to work on. “The solution provides several capabilities like this that streamline workflows,” Thompson says. “As another example, developers can set up an e-mail alias to easily track a project. They can assign who they want to conduct each specific code review and then see the trail of responses. With multiple people reviewing code at different times, it’s important to track who says what and the chronological order.”
With code reviews proceeding more efficiently and with higher quality, Mentor Graphics now finds more code issues earlier in the development cycle compared to the previous approach they applied. “Where code fixes cost more to fix the further into the development cycle that you discover them, every bug that does not get out to our customers saves us an inordinate amount of development resource costs,” Thompson emphasizes.
Thompson adds that his team hears comments all the time about the value SmartBear Collaborator delivers: “We started out thinking we would conduct code reviews only for new code and significant changes,” Thompson says. “But Collaborator gives us such an easy way to effectively identify bugs that we now run code reviews on every change we apply—no matter how small. We have found enough issues we need to address that it makes sense to always rely on Collaborator.”
Business Challenges
- Facilitate code reviews to enable creation of higher-quality software.
- Provide easy-to-use code review solution to increase developer use of the tool.
- Allow developers to run code reviews on their own time-schedules.
- Save results in central repository and provide feedback to originators automatically.
SmartBear Collaborator Solution
- Enables more efficient and easy management and processing of code reviews
- Supports documentation of other project deliverables that support code reviews.
- Helps developers adhere to Agile methodology, including continuous improvement.
- Installs quickly and provides easy configuration to facilitate immediate use.
- Facilitates greater adoption of code review as a best practice.
Measurable Results
- Helps dispersed development team collaborate efficiently on code reviews.
- Streamlines project management by queuing up code reviews for each developer.
- Facilitates simultaneous code review discussions.
- Identifies code issues early in development cycle to reduce resource repair costs.
- Provides practical tool for running code reviews—even for small changes.