Everi Games
Everi Holdings Inc. (NYSE: EVRI), through its subsidiaries Everi Games and Everi Payments, is uniquely positioned as the casino industry’s only single source provider of robust payments solutions, vital intelligence offerings and engaging gaming machines that power the casino floor. Everi’s mission is to be a transformative force to casino operations by delivering reliable protection and security, facilitating memorable player experiences and striving for customer satisfaction and operational excellence.
Business Need
When Tim Moore joined Everi Games (formerly Multimedia Games) as a Technical Director, he was glad the company had already deployed SmartBear’s peer code review tool, Collaborator.
“We relied on Collaborator at the previous company that I worked for,” explains Moore. “Having made the purchasing decision, I knew full well just how powerful the tool is in helping development teams review code and manage the code review process. I also knew Collaborator would play a key role in helping me manage the development team at Everi.”
The Everi Games software team consists of approximately 80 developers and QA testers who work from the company’s gaming headquarters in Austin as well as gaming studios in Chicago and Reno. The development teams are primarily responsible for code reviews, but the QA team also conducts active reviews as part of the testing process. When Everi Games is close to releasing a new gaming software product or product update, the QA teams work closely with the code reviews to check the content and define the test cases.
Code review is an essential part of the Everi Games development process. “When it comes to improving code quality, the more eyes you put on the code, the more robust and healthier it gets,” Moore says. “There’s also value in increasing the institutional knowledge of developers, especially when it comes to complex systems with a lot of moving parts. We have SMEs for each product and require code review to help others get a view into the expertise those SMEs have put into each product.”
The Everi Games development team codes approximately 150 releasable game products per year. Because of gaming industry regulations, Everi Games must apply checks and balances to make sure developers have not introduced any new security exploits or potential threat injections. In some cases, code is audited by an impartial third party, so Everi Games needs to document all the steps the developers take to assure compliance.
Targeted Solution
SmartBear Collaborator helps the Everi Games software development team work together to produce high-quality code. The solution allows the team 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.
Moore and his development teams use Collaborator to track the progress of code reviews across several gaming products, each with its own lifecycle. “Our gaming systems are generally healthier because each team can take a close look at the code during the design phase, and more people understanding the moving parts makes each product holistically superior,” Moore says. “Collaborator also enables us to break down knowledge silos—our intellectual properly is not isolated on each developer’s desktop.”
Relying on Collaborator helps Everi Games achieve its policy of dual-authentication: a minimum of two people must review all code, and in many cases, a second team reviews and authenticates code created by another team. “This is particularly critical given that we are in a heavily-regulated industry,” Moore says. “Our systems impact people’s money every time they hit the play button.”
One of the key areas in which SmartBear Collaborator stands out in comparison to other code review tools that Moore has seen is in reporting and metrics gathering. Moore and the other software development managers can easily review the status of each code review and identify cases where reviewers need to take a more extensive look at the code.
“We have many options in the report views we can generate,” Moore adds. “For example, I can quickly see the number of defects per project as well as the open defects per developer or per team on the same project. Because we can access information instantly, it’s much easier to determine why defects have occurred and isolate root causes, which could be the developer, the project specs, or communication between two teams.”
“In cases where we see a spike in defects from an experienced developer, SmartBear Collaborator helps us analyze whether we might be rushing development, or perhaps the requirements are nebulous so that the developer is struggling to fulfill them. The issue might also be due to two groups that may not have a good feel for each other’s style and syntax. With Collaborator, we can more easily identify the specific cause.”
— Tim Moore, Technical Director
Benefits and Results
In addition to making it easier for developers to review each other’s code, Collaborator allows Moore to review the overall code review process to make sure it’s working well and to identify any issues that need to be resolved. He can then easily see if anything is breaking down or needs escalation.
Moore adds that Collaborator also helps determine if issues are style defects as opposed to defects representing broken code. “This alerts us to the possible need of analyzing our code style conventions and how we want to resolve them,” Moore says.
By relying on Collaborator, the Everi Games development team can also identify code that might be out of compliance and can then document the process for how the team fixes such code. Collaborator lets the developers wrap a process around code submissions that are highly important in relation to regulations.
“We can also automate the enforcement of policies such as preventing code from being submitted until it’s reviewed by the appropriate people,” Moore says. “We sometimes find the design is fine, but that we opened a door to a potential security threat.”
Proving compliance to customers and industry regulators is a critical function that the Everi Games development and QA testing teams must fulfill. An internal compliance team is assigned to this task and uses Collaborator to identify areas of change.
“This team also interacts with external compliance teams that act as agents of the industry,” Moore adds. “We frequently provide the results of the code reviews to both the internal and external teams. Collaborator documents how code changes, and we can prove what we did to correct something to prove compliance. In our industry, this is a vital capability.”
Conclusion
As a company that provides electronic games to casinos and race tracks, Everi Games must ensure its software performs reliably and conforms to gaming industry regulations. To address this challenge, Everi Games deployed SmartBear Collaborator as its peer code review tool. Developers and QA testers can now work together more efficiently, and their managers can more effectively oversee the code review process. These capabilities help ensure Everi Games always produces robust software that complies with the strict regulations of the gaming industry.
Business Challenges
- Streamline software code reviews so more developers review code.
- Facilitate code review management and reporting.
- Check code content and define test cases during the QA process.
- Ensure developers do not introduce security exploits or potential threats.
SmartBear Collaborator Solution
- Tracks progress of code reviews across multiple product lifecycles.
- Enables knowledge sharing of code developed by experienced developers.
- Ensures dual-authentication policies are enforced.
- Generates metrics to identify when reviewers need to conduct more extensive reviews.
Measurable Results
- Allows managers to oversee code reviews to identify issues that need to be resolved.
- Helps determine if defects are style defects or broken code.
- Identifies code out of compliance.
- Automates enforcement of internal code review policies.
- Documents code changes to prove compliance to internal and external auditors.