Nexius Wireless Goes Agile Across the Globe with AccuRev
Users and Environment
- Agile/Scrum with AccuRev and JIRA managing stories, issues, tasks, and time tracking, along with associated source code changes.
- Several geographically distributed locations, with five to fifteen developers at each site.
- Fifty-five total developers who handle trial and production development for Xplore, the company’s flagship product.
- Vast amounts of component-based and database development.
- Development environment includes database, business intelligence components and a web based application interface.
- Issue tracking handled by AccuWork, the fully integrated change management solution.
- On the network side, Nexius has dedicated VPN tunnels, and its data center server has a dedicated 100 M-byte-per-second connection for inbound and outbound traffic.
AccuRev Success Highlights
- Accelerates the development process by at least 30 percent.
- Enables Nexius to be more responsive to customers’ needs.
- Faster code merges, saving one developer man-week per quarter.
- Automation for developers to detect conflicts and perform merges. Deep Overlap functionality helps detect conflicts ahead of time, even before code is promoted up to release streams.
- Flexibility offered by AccuRev makes customizing it to Agile/Scrum development needs easier.
- Streams provide private sandboxes to development teams and let them perform parallel development without stepping on each other.
Customer Profile
Nexius Wireless, an international company, builds and sells RF products and services for the fast-growing wireless industry. These tools help wireless operators, including CDMA and GSM providers, analyze data, develop reports, and easily and intuitively manage their networks via dashboards.Background
Like many of today’s top ISVs, Nexius Wireless has developers distributed throughout the world who contribute to its core product, Xplore, a business and network intelligence tool for wireless providers that turns reams of complex operational wireless network data into actionable information. Xplore is accompanied by a range of complementary products.All of these developers essentially work off the same code base, which makes coordination critical.
Nexius’s software tools are roughly four years old. Given growth in the market, there is a lot of demand but also tremendous competition, so Nexius has to stay one step ahead. As a result, the company decided to move to an Agile/Scrum methodology from waterfall six months ago. Nexius developers found that, with AccuRev, the architecture was already well suited to support their requirements.
Nexius developers needed to improve the core product proactively while also adding new features requested by customers. The answer has been an immense investment in parallel development. In fact, with developers in several countries, “Programming goes on more than eighteen hours a day,“ explains Atul Srivastava, director of software applications for Nexius.
The Challenge
For a while, using Microsoft Visual SourceSafe (VSS) for development at Nexius went smoothly. But as teams grew and parallel development increased, VSS failed to scale. More importantly, valuable development man-hours were spent doing too much manual work—much of this merging new code written by distributed developers into the core working code base or adding in bug fixes that could have been automated. For instance, if there was a problem ticket, the fix had to be manually applied to all code branches.Performing major merges took even longer. Developers have parallel projects running for the product’s core platform and modules, and similar threads for product trials, etc. At any given point in time there are ten to fifteen parallel development threads. With VSS, it was a challenge to maintain just two, even with a smaller team contributing.
“There was overhead incurred using VSS for every release. Looking back at our historical trend, we were spending about one man-week every quarter manually managing merges.“
- Atul Srivastava, Director Software Applications
Nexius needed an answer to the problem that worked with its waterfall development processes, and the logical choice was Agile/Scrum, the process Nexius had been following since January 2008. The new solution had to eliminate all of the wasted effort of managing branches, merging code, and dealing with code conflicts from across the globe.
A New Way of Doing Things
Before moving to Agile/Scrum, Nexius considered itself a typical waterfall model follower. Using VSS, development teams structured their code with two separate branches and two separate teams to perform the work. This physical separation caused problems every time the teams attempted new feature development in one of the branches, since the feature then had to be made available to the other branch quickly. Because the baselines of the branches were different, the merges were frequently difficult and problematic.
“AccuRev allows you to move from traditional
waterfall to Agile very easily."
After moving to AccuRev, the benefits materialized quickly. Nexius is now able to perform parallel development much more effectively, and developers are able to share code that is created in different workspaces and have it all merged together at one point in time. This gives the teams flexibility that was not there before the adoption of AccuRev.
“We no longer have any concerns from the code perspective running multiple projects in parallel, and I no longer hear about any code conflict and release management issues.“
AccuRev Architecture Well Suited for Agile/Scrum
Nexius’s AccuRev software development process is set up with functional areas at the top of the stream hierarchy. These areas are broken down into projects that are developed in parallel. There are multiple iteration streams within each project, and within the iteration streams are story-level streams where developers program.For every iteration, there can be anywhere from ten to twenty stories, and each stream has a group of developers assigned to and working on it. They perform their work, promote changes to their team stream, and then promote those changes to the upper-level integration level. Once the iteration is over, they snapshot that iteration so they have a baseline for what was produced at the end of each iteration, in case they have to go back. They keep doing that for each iteration, and at the end of the process, everything gets promoted to the project-level stream. Once it is past the quality assurance process, it actually goes to the release level. Another snapshot is taken at that point and a release number is assigned.
Ease of Use
Getting used to the new tool took only a few days.“AccuRev helped us tremendously from an ease-of-use perspective—the graphical interface is very intuitive. In my team of thirty-five (which handles core product development, and has production and platform development responsibilities and operations), no one has taken more than a few days to pick it up and run with it.“
