Corovan
Since 1948, Corovan has provided quality moving and storage services to California businesses. As the largest family-owned and operated commercial moving and storage company in the Western US, Corovan offers the industry’s most comprehensive suite of moving, storage, furniture and tech relocation services for businesses of all sizes and industries. The company employs as many as 10,000 people depending on seasonal demand.
Business Need
Sean McNeill, a Software Architect for Corovan, collaborates with a team of 12 professionals in developing software that customers interact with to manage office moves and storage as well as applications that internal end users rely on to run the company. When McNeill was first hired, he was asked to design a system architecture for developing sustainable software and to standardize coding patterns. Prior to his arrival, development projects were individually executed and developed without the influence of an enterprise perspective.
“All of our developers are highly-skilled, but the coding practices and patterns were inconsistent,” says McNeill. “This led to a heavy dependency on individual developers for each project and islands of isolated information. The output was superior, but we needed better coordination of coding practices.”
The previous approach made it particularly challenging to move developers from one application to another when the need arose to focus more resources on a specific project. Newly-hired developers also found it difficult to jump in and maintain previously-developed applications.
To take on this challenge, McNeill first implemented a standardized, best-practice call stack between databases and application consumer tiers. While this was a great start, the implementation of these standards also required a code review process to ensure sustainability efforts across all projects were consistently reviewed, documented and maintained. Code reviews are key because McNeill and his team need to work with a predictable API to produce the software features customers want, and the company’s executives need to know how quickly the team can release new software changes.
“We need to know how changes impact the final go-to-market time for applications, and we know code reviews help identify when someone goes off the path,” explains McNeill. “We are open to change, but want to be deliberate when we do.”
Targeted Solution
Having previously worked as a release engineer earlier in his career, McNeill understood the benefits of code review: “This was a critical step for us to take in completing our efforts to develop sustainable software and standardize coding patterns.”
To deploy the code review process that Corovan required, McNeill found the answer in SmartBear Collaborator. From one single interface, Corovan can leverage the solution across the design, development, test and deploy phases to review user stories, requirements and code as well as communicate across the team and deliver quality software.
During the product evaluation phase, McNeill discovered that SmartBear Collaborator functions efficiently within Corovan’s application lifecycle management process and integrates easily with the other tools that his team relies on. These include the Microsoft .NET software framework, Apache Subversion for source control management, and Atlassian JIRA for tracking project tasks and defects.
“In addition to Collaborator, we also evaluated several open source code review projects as well as Atlassian Crucible,” McNeill says. “Collaborator is the best solution for what we need. In addition to how easy it is to integrate within our software development lifecycle, the complete set of integration add-ons makes Collaborator all the more versatile.
In addition to an interface and experience that are intuitive and natural for the team to use, McNeill also points out that getting Collaborator to work and run properly without jumping through hoops is another key differentiator. “The documentation is very clear and concise,” McNeill says. “With some of the other tools we attempted to evaluate, we could not get them to work, or they left us wondering what to do next. Collaborator’s ease-of-use is key because everyone on our team has little time for research and discovery when using tools.”
Another factor that sets Collaborator apart from its competitors is the SmartBear support team. “SmartBear is responsive to our needs, not only in helping us to utilize Collaborator to its full capabilities, but also in listening to our feedback on possible ways to enhance the solution,” McNeill points out.
“Our coding is also continually evolving. We are always finding better ways to code. But we need to make sure we establish and stick to a pattern for consistency in our output. If someone wants to change a call stack going forward, there has to be a good reason, and we need to understand the impact and how we will implement the change. Using a tool like Collaborator makes it easier to achieve this objective.”
— Sean McNeill, Software Architect
Benefits and Results
With any process, adding procedures is always difficult to implement. “But SmartBear Collaborator makes it easier,” says McNeill. “We can add a platform from which peer code review best practices can be formally introduced as part of application lifecycle management—with little effort and time. And the integration between Collaborator and Atlassian JIRA makes it much easier to support our new process.”
The solution also removes project-based developer dependency and creates an enterprise-centric, intelligent dependency that Corovan can apply across the development operation. This is critical in helping make sure developers adhere to standards and best practices regardless of the project. “In addition to giving us more flexibility to move developers from project-to-project when necessary, we can also more easily bring in newly-hired developers,” says McNeill.
The Corovan software team is driven by customer demand, so development timelines are always under a crunch, and there’s pressure to do more work with fewer resources. That makes it imperative to maintain a consistent coding philosophy to meet the tight deadlines.
“Our coding is also continually evolving,” McNeill adds. “We are always finding better ways to code. But we need to make sure we establish and stick to a pattern for consistency in our output. If someone wants to change a call stack going forward, there has to be a good reason, and we need to understand the impact and how we will implement the change. Using a tool like Collaborator makes it easier to achieve this objective.”
Looking ahead, McNeill projects that software projects on the horizon will get bigger and more complicated, given all the emerging technologies his team will have to take into account.
“We already have the architecture and a nice call stack in place, but it’s still a challenge to stay consistent with our coding, and that’s where Collaborator will be a big help,” says McNeill. “Developers know their code will be reviewed, so they will be more painstaking about what they code, and they will avoid taking short cuts. At the same time, when our developers come up with great ideas, we want to implement them across the board so that anyone of our developers can be put on any project and expected to deliver—without doing eight hours of research to discover what’s going on.”