Based in Quebec, EXFO provides next-generation, test and service assurance solutions for wireless and wireline network operators and equipment manufacturers in the global telecom industry. The company offers innovative solutions for the development, installation, management and maintenance of converged, IP fixed and mobile networks. With a staff of approximately 1,800 people in 25 countries, EXFO supports more than 2,000 telecom customers worldwide.
The application development team at EXFO needed to validate new code followed the company’s application framework standards. Achieving this would lower software maintenance costs and improve code readability. By turning to SmartBear Collaborate to address this challenge, EXFO reduced app development costs with the ability to identify code defects earlier in the process. The application development team also increased its capacity to complete reviews 5X while accelerating the workflow timeline for reviewing, revising and completing code reviews.
The internal software development team in the EXFO Wireline Transport & Datacom Division strives to constantly evolve customer-facing applications by adding new features while maintaining the performance of existing features. Achieving this mission makes it easier for customers to conduct business with EXFO.
As the company grew in recent years and hired several additional software developers, gaining the capability to efficiently conduct application code review became more critical.
"Since any new software developers we bring on board are not familiar with our applications, code review is crucial for us to validate framework standards are followed," said Stéphane Pineault, a Software Manager for EXFO. "By making sure the code we develop follows standards, we lower our software maintenance costs and improve code readability. Gaining this capability also encourages reuse of the code—nobody wants to cut and paste a defect into multiple files."
EXFO also realized an effective code review solution could serve as an alternative way to train inexperienced developers while also reducing the cost of repairing defects. "The ability to identify defects early is critical," Pineault said. "It’s much more costly to address defects found in verification compared to the cost of identifying problems during the development stage."
Previously, EXFO executed code reviews manually through e-mail and verbal discussions. The process proved to be so inefficient, costly and painful that EXFO decided to automate the process. "Contextualizing each comment is particularly painful when comments need to be entered about a specific part of a big algorithm," Pineault said.
EXFO reviews became extremely complex when requiring multiple iterations. Sometimes, reviewers lost track of what they already reviewed and had to start the review all over again. Reviewers and authors also found it difficult to clearly see when all comments were addressed.
"We found it difficult to reference reviews after completing code updates, and management had no visibility into the status of reviews," Pineault added. "When sending a second iteration of a review, developers often had to create a new e-mail or change the list of files included in the patch, making it difficult to follow the flow of the review."
To take on these challenges and improve its ability to efficiently conduct code reviews, EXFO closely examined three possible solutions including SmartBear Collaborator as well as Review Board and Crucible. After the evaluations, both the application author and reviewer groups unanimously selected SmartBear Collaborator.
"SmartBear Collaborator is by far the most intuitive tool we evaluated," Pineault said. "The cost of the software is higher than the alternatives we considered, but because Collaborator is very stable and requires no support to understand how it works, the value the solution delivers over the long term makes it well worth the initial cost."
EXFO chose Collaborator based on a combination of usability and features. "The user interface is one of the most efficient we have ever seen—every operation is simple, and the review flow can be understood easily," Pineault said. "We sent the Collaborator server link to our developers with no instructions. They understood immediately how the solution functions without any questions."
With the review window in Collaborator, EXFO code authors and reviewers know exactly which files contain comments and the specific lines the comments pertain to. Authors and reviews can also see which comments have been addressed, and Collaborator ensures the team doesn’t approve new code until all comments are properly addressed.
"Collaborator comes with so many functions built in that the cost savings outweigh the upfront cost," Pineault said. "We don’t have to do any customization, so the ROI case is much stronger than the alternatives we considered."
"Since deploying SmartBear Collaborator, we discovered the software actually saves us money given its capability to detect defects earlier in the code development lifecycle. Our cost in terms of resource time to repair defects has gone down considerably."
— Stéphane Pineault, Software Manager
Benefits and Results
"Since deploying SmartBear Collaborator, we discovered the software actually saves us money given its capability to detect defects earlier in the code development lifecycle," Pineault emphasized. "Our cost in terms of resource time to repair defects has gone down considerably."
Pineault added that the Collaborator user interface is very fast, and comments are always accessible through every step of the review. This capability makes it easy for the development team to trace and document code decisions.
"In the past, we sometimes made code decisions and lost track of the reasons," Pineault said. "We did not have time to transcript the reasons on a Wiki, and sometimes the reasons were bound to the code. But we have now improved our productivity to execute reviews. We conduct 4-5 times more reviews with Collaborator, and each review is more complete—with all code-decision reasons clearly documented."
EXFO also benefits from the ability of Collaborator to support both pre-commit and post-commit reviews, and Pineault’s team can now upload pending local changes to create a review without the limitations of the patch systems used by all other code review tools."
Collaborator also handles bitmaps very efficiently," Pineault added. "The solution provides a way to add annex files to the review, and we can annex graphical design document pages to explain the context of reviews."
Other key benefits that SmartBear Collaborator delivers include the ability to document decisions while executing reviews, which increases reviewer productivity dramatically. "Our reviewers and authors can thus complete more tasks outside the review process," Pineault said. "And because the software is so easy to use, we can find more defects during the review phase—where the cost to apply fixes is dramatically less than when discovered during the verification phase."
- Validate new code follows application framework standards
- Lower software maintenance costs
- Improve code readability
- Streamline training to bring new developers up-to-speed faster on the code base
- Improve ability to contextualize, track and reference code reviews
SmartBear Collaborator Solution
- Features intuitive, user-friendly interface and requires no training
- Enables code reviewers to easily detect changes to moved files
- Traces code design discussions through live chat that are saved and can be audited
- Enables users to quickly accept changes and reviews as well as update comments
- Highlights stalled and poor reviews along with activity statistics for each user
- Reduces app development costs by identifying code defects earlier in the process
- Increases capacity to complete reviews by as much as 5X
- Tracks code review status and whether comments have been properly addressed
- Eliminates time required for code review training
- Accelerates workflow timeline for reviewing, revising and completing code reviews