Why Helix Was the Best Fit for Sepura

Sepura, a global leader in TETRA digital radio products, chose Perforce as it provides the best fit for its version control needs and supports a development team operating across multiple locations.

What Stood Out about Helix


Ability to track changes across dispersed teams


Seamless transition


Easy to manage

Significant cost savings

Third-party tool support

Basically, wherever code is involved, we use SCM. In today's development environments, it would be unthinkable to work without SCM.

Perforce meets our needs today and has the ability to scale if our requirements evolve in the future."


Development Environment at a Glance

  • Company name: Sepura plc
  • Headquarters: Cambridge, UK
  • Industry: Terrestrial Trunked Radio
  • Perforce customer Since: 2006
  • Number of Helix users: 120
  • Number of development sites: Reading, Bristol and Cambridge in the UK in addition to outsourced support
  • Number of files: 100GB (45,000 files)
  • Number of part-time administrators: Two
  • Client platforms: Solaris and Linux


Keeping Collaboration On Track

TETRA (Terrestrial Trunked Radio) has become the de-facto professional radio standard for simultaneous mobile voice and data communications for many professionals, particularly in the public sector. Established in 2002, Sepura has risen to own 48 percent of the European market, employing over 300 people.

Daniel Sherwood, a software specialist in Sepura's Device & Drivers Development team, explains some of the challenges its developers face: "There is on average one major new software release per year, but the number of tailored products we need to support keeps us pretty busy. Customers may need a particular product configuration ahead of the new release. We also need to be able to support legacy products, so sometimes there is a code refresh on an old model."

"This means that there are a variety of different code branches and variants, so it is vital that we can capture these accurately into the coding history."

One of the main ways Sepura's embedded software development team keeps track of these demands is through version management. Version control systems record all versions of all files that have ever existed in a project. The system tracks changes to each and every file and controls access so individual team members know who has edited, or is currently editing, any file in any project.

When Daniel first started working at Sepura, there were several separate development teams using different versioning systems. The decision was made to amalgamate these into one, but spread across several different locations. This prompted the decision to adopt a common version control framework that would support collaboration across the entire team, regardless of individual members' locations.

"The selection criteria were simple: the version control system needed to be able to support multisite work and it had to be able to provide proper support for a merge history. None of the products we were using at the time were scalable enough, so we evaluated other options."


Helix Is Best Fit

After careful evaluation Sepura chose Helix. Daniel explains, "Some products didn't provide the functionality we needed, while others were too expensive in terms of ongoing hardware and support costs. Helix was the best fit for our needs."

The ability to track changes across dispersed teams proved to be a winning advantage. Daniel adds, "Helix enables us to collaborate across UK sites — including Reading, Bristol, and Cambridge — and outsourced support. Helix Proxy Server keeps a local cache of the files that developers need so they always get a fast response from the system. Helix also gives us the merge history capabilities we require."

Daniel was impressed with how well the implementation went. "The transition proved pretty seamless — all our developers are familiar with the principles of version control and Helix is easy to use. We've been using it for around five years now."

"We have around 120 users and most of those are developers, although managers do have access to the system for reporting and planning purposes. Because Helix has a web interface, it is readily available to those who need it, regardless of their location."

A typical scenario might be a developer working on a task that involves five or six different variants. Within Helix, the interrelationships of those actions can show, for instance, where a bug fix needs to be propagated. Developers and managers can easily track and resolve bugs as Helix enables a complete audit trail to be preserved within the system.


Minimal Maintenance

Apart from supporting merge histories and multiple sites, Helix is relatively easy to manage and provides significant cost savings compared to some other 'high end' versioning systems. "Helix involves minimal additional hardware, managed by just a couple of people and doesn't need someone managing it full time— that's important for us." Sepura's Helix repository consists of approximately 45,000 files, equating to around 100 GB in size.


Supporting Third-Party Tools

Most of Sepura's development work is conducted using both Solaris and Linux operating systems, Microsoft solutions for testing activities and support tools, plus other third party tools for modeling and build management. Daniel says, "We also use Helix to synchronize all the other tools we need in the development process. So when users go into the system, they are presented not just with the code they need, but with all the other tools and development environments required."

The tools Sepura currently uses include Matlab (a high-level technical computing language) and Simulink for simulated modeling. The company has just begun using UML, the Universal Modeling Language and also use TeamCity, the distributed build management tool, in conjunction with Perforce Helix.

Daniel adds: "We've taken advantage of the APIs that Helix supports to build our own scripts. For instance, we have one that defines workspaces, so we can control how they are utilized and others that assist with code reviews."

"Basically, wherever code is involved, we use version control. In today's development environments, it would be unthinkable to work without version control. Helix meets our needs today and has the ability to scale if our requirements evolve in the future."

All trademarks or registered trademarks are property of their respective owners.