Aimetis
Headquartered in Ontario, Canada, Aimetis Corporation is a global leader in intelligent video technology. The company is propelling the adoption of video analytics as an integral component of integrated video management solutions for security surveillance and business intelligence applications. Based on innovative, open technologies, Aimetis products provide customers with a single platform for migrating from analog video to intelligent IP video solutions.
Business Need
When Dave Thompson first came on board in 2011 as the Vice President of Engineering, one of his primary missions was to improve the quality of the software Aimetis provides to customers to help them manage and analyze their video surveillance systems. To achieve this mission, one of the areas Thompson looked at first was the code review process.
“Our primary methodology was conducting over-the-shoulder code reviews, but this approach did not work as efficiently as we wanted, and it was challenging to track the progress of code reviews,” Thompson says. “We needed to improve the quality of our code in order to reduce defects, and formalizing the review process was a key step towards achieving this objective.”
The Aimetis software development team includes 19 users who develop and review code, collaborating with each other on multiple projects at a time. “In addition to helping us review code for correctness, we also wanted a tool that could provide an educational platform for our developers to learn from each other,” Thompson says.
The requirement for Thompson to succeed in his mission was paramount given that the company projected rapid growth in the coming years. Decreasing defects would be crucial in making sure software developers weren’t over-burdened and could continue to focus more time on future software enhancements.
Targeted Solution
To his pleasant surprise, the answer to Thompson’s need for improving the code review process was actually already in place at Aimetis. The company had previously purchased software licenses for SmartBear Collaborator but held off on using the peer code review tool as the software development team went through organizational changes.
“My previous company relied on Smart Bear Collaborator, so I already knew just how effectively the tool guides development teams through the code review process,” Thompson says. “’I’ve always been a big fan of code reviews and appreciate the way Collaborator works. A number of developers on staff were also very happy to hear we would start using Collaborator again.”
SmartBear Collaborator helps the Aimetis software development team work together to produce high-quality code. The tool allows developers to peer review code as well as user stories and test plans in a transparent, collaborative framework—while also keeping the team up-to-speed in real time on code changes. By enabling developers to work together more efficiently when reviewing code, Collaborator helps Aimetis catch defects before deploying software for customer video surveillance systems.
Aimetis also integrated Collaborator with Apache Subversion, the company’s code repository software. “We were easily able to connect the two tools,” Thompson says. “Over the past four years, we’ve never needed technical support from SmartBear—with an easy-to-use interface, everyone intuitively picks up how to use the tool.”
“SmartBear Collaborator helps our developers improve their coding abilities and learn our code base to a greater depth. This is helpful to existing team members who spend most of their time working on other parts of the code. It also helps new and less experienced coders see how experienced developers resolve tough coding challenges. Collaborator is a great educational and quality control tool.”
— Dave Thompson, Vice President of Engineering
Benefits and Results
Since Thompson and his team started using Collaborator, the code review process has worked flawlessly. With the new tool in place, 100% of all software code for Aimetis customers first goes through Collaborator.
“Collaborator has also improved the quality of the code that we develop for our customers, and we no longer have unresolved issues involving coding standards,” Thompson adds. “Over time, the entire internal team understands the code better, so we are getting closer to the point where it looks like all the code is developed by the same person, which makes software maintenance much easier.”
Thompson checks Collaborator code reviews periodically to ensure developers are making good comments, raising issues when they should, and escalating when necessary. When code debates occur, Aimetis relies on two designated “code czars” to arbitrate, and the team then moves forward with an agreed-upon resolution.
“There’s full visibility for everyone to see all the reviews,” Thompson says. “Any debates we have are resolved quickly.”
The way in which Collaborator has streamlined code reviews has played a key role in helping Thompson’s team achieve a 90% decline in customer-reported defects over the past four years—while at the same time the customer base increased by 500%.
“The reviews themselves are also improving,” Thompson says. “The group really likes using the tool, and new developers can pick it up quickly. Collaborator works well for everyone on the team and it’s helping us produce better-performing solutions for our customers.”
Business Challenges
- Formalize and enhance the code review process.
- Gain the ability to track the progress of code reviews.
- Improve quality of software provided to customers as company grows rapidly.
- Reduce code defects so developers can focus more time on software enhancements.
SmartBear Collaborator Solution
- Allows developers to peer review code more efficiently.
- Helps development team collaborate more closely to produce higher-quality code.
- Keeps team up-to-speed in real time on code changes.
- Provides full visibility for entire team to see all code reviews.
- Integrates easily with Apache Subversion code repository software.
Measurable Results
- Allows software development team to detect defects before deployment to customers.
- Provides educational platform for developers to learn from each other.
- Streamlines process for resolving coding standards issues.
- Helps team develop code more similarly so software maintenance is less time-intensive.
- Plays key role in achieving a 90% decline in customer-reported defects.
Conclusion
As Aimetis Corporation planned for a dramatic increase in the number of customers that utilize its intelligent video technology systems, the company wanted to reduce the number of software defects customers experienced. By deploying Collaborator, SmartBear’s peer code review tool, Aimetis reduced the number of reported defects by 90%, which freed up software developers to focus more time on future software enhancements. The team of 19 developers is also now developing code more similarly so that basic software maintenance has become less time-intensive.