Wim Van Hoecke is the Technology and Quality Engineer at EskoArtwork in Gent, Belgium.
Migration, Migration, Migration: Reasons to Use the Skills of Perforce Consulting
Many development teams who have gone through any kind of merger or acquisition process can relate to the challenge that EskoArtwork faced: integrating legacy software configuration management (SCM) systems, based on different platforms and operating systems. Due to the scale and complexity of the task at hand, EskoArtwork decided to call in the consulting arm of Perforce Software. Perforce orchestrated the amalgamation and cleaned up the existing systems to give EskoArtwork a solid and scalable SCM system for the future, which supports a development team spread across different locations worldwide.
EskoArtwork is a global supplier and integrator of innovative solutions for packaging, commercial printing, and professional publishing. Employing around 1,000 people worldwide, EskoArtwork provides designers and printing companies with software tools that ensure the final appearance matches the designer's original intent, enabling artwork to be turned into print-ready files as cost-effectively as possible.
Not surprisingly, software development is one of the core elements of EskoArtwork's business. Around 150 developers are currently spread across offices in Belgium, the UK, Czech Republic, USA, India and China. Different geographic teams tend to have their own areas of expertise—for instance, the Czech team focuses on prepress software solutions—but the whole team needs to be able to access much of the same source code.
Utilizing Version Control
Software configuration management is integral to the way EskoArtwork manages large volumes of different code projects, as Wim Van Hoecke, Technology and Quality Engineer, explains, "We have multiple applications that re-use multiple libraries, but not necessarily the same versions. For example, when we are developing new functionality, we want to be able to exclude those changes from our maintenance releases. We have many product lines and so to maintain order, we like to keep our approach to development as structured as possible.
Says Wim, "We like Perforce because it has a good interface to Macintosh and Windows, which is important for us as we develop tools and applications which run on both Mac and Windows, with a need to cross-compile for both. Also, employees already using Perforce were happy with its speed and functionality, so it was logical to carry on using Perforce."
EskoArtwork's relationship with Perforce dates back to around 2001, when a merger with another company meant two different Perforce servers were being used: one Linux Perforce server and one Unicode-enabled Perforce server running Windows. EskoArtwork managed the situation by carrying out manual code drops between the two servers.
However, having two different Perforce SCM systems was obviously not an efficient way for developers to collaborate, particularly as the repository was growing fast (by the end of 2010 it stood at approximately 300GB). "We also wanted to add new users, so it made sense to get everyone onto the same Perforce server. Also, by moving to the latest version of Perforce, we can access some of the new features that have been added in the past couple of years," says Wim.
The decision to consolidate onto one server was made. "However, we could see consolidating onto one Perforce server was going to be a big project: not all the documentation and back-up scripts for the legacy servers were available. Also, Windows is case-insensitive and Perforce was running in Unicode mode, while Linux is case-sensitive and Unicode was not enabled. So when synchronising, it would be easy to inadvertently lose the right version and make file branching very messy. This is why we contacted Perforce for advice, which led to us using their consulting services for the integration."
Sven Erik Knop, one of Perforce's principal consultants, says, "As companies evolve, we're seeing an increase in the need to amalgamate SCM systems. We're not just being asked to integrate Perforce systems—in many instances we help companies migrate from other vendors' legacy systems to Perforce. And it's not always because of separate companies coming together: sometimes it can be two or more different departments within the same organisation. It's possible for companies to do the integration in-house but it can be complicated, which is why legacy SCM systems migrations is one of the consulting services Perforce offers."
Managing Project Timescales
The original plan was for the project to take just four days. However, as Sven Erik explains, "When we started looking at what was on the servers, it was clear that this was a bigger task than anyone could have predicted." Adds Wim, "At the start of the fourth day, we decided we wouldn't be able to complete the exercise, so we discussed with Sven the best way forward. As a result, we decided to book an additional four days of consultancy. Friday was spent preparing, which left Saturday and Sunday for the actual merge, and Monday to carry out any clean-up work. By the end of Monday, everyone was on the same Perforce server." Says Wim, "We were very happy with the service that Perforce provided. Sven Erik was very honest with us and although he suggested choices, he made it clear what the best solution would be."
Reaping the Benefits
"We've also been able to take advantage of some of the new features of Perforce that were previously unavailable to us because we were using an older version. We particularly like shelving, which works in both Windows and Mac environments." Shelving enables users to store copies of open files temporarily on the Perforce server without checking them in. Shelving is useful for a variety of purposes, including taking and restoring snapshots of in-progress work and reviewing other users' code before it's checked in.
Wim concludes, "Our SCM is in a much better situation than before. We now have a system that will scale to meet our needs in the future. Integrating the two Perforce SCM systems was challenging but using Perforce's consultancy services made it far more straightforward than if we'd attempted it ourselves."
All trademarks or registered trademarks are property of their respective owners.