IXOS Software AG
Manfred Heiss is a manager in the development department at IXOS Software AG, Munich, Germany.
IXOS was founded in 1988 with the idea of developing and marketing document management systems. As is typical for a young, fast-growing software company, the different development teams at IXOS were all using different software configuration management (SCM) systems. As a reputable company that sells worldwide, IXOS was having problems synchronizing the different development teams as they grew. What IXOS needed was a solution that would easily integrate and replace all of their present SCM systems. That is why IXOS came to Perforce.
IXOS is the worldwide leading provider of software solutions for the management of business documents in the R/3 environment. IXOS-ARCHIVE, the company's Business Document System (BDS), automates the imaging, archiving, retrieval, sharing, delivery, and reuse of business documents across large organizations and between business partners. Capable of managing high volumes of documents and data and designed to be deployed globally, IXOS-ARCHIVE provides an enterprise-wide business document solution to users on industry-standard clients, servers, and intranets.
IXOS-Mobile/3, the first mobile solution integrated with R/3, offers immediate remote access to business documents and information, thereby improving customer service and lowering the overall cost of service. IXOS also provides professional services, including consulting, implementation, projects, and training, to assist its customers in rapidly maximizing the benefits of its BDS.
IXOS shares are listed on the Neuer Markt segment of the Frankfurt Stock Exchange and trade under the symbol "XOS". IXOS's American Depositary Shares (ADS) trade on the NASDAQ National Market under the symbol "XOSY".
IXOS products were developed for different platforms (Windows 95/98, Windows NT, SUN Solaris, HP-UX, IBM AIX, Linux, Mac OS, etc.). Some are developed with common source over different platforms. Therefore we wanted an SCM system that would be available on all of these platforms. At present, IXOS provides five products, each with more than one new version a year. In total, this adds up to more than 120,000 files and several million lines of code. All of the development teams work with one Perforce server (SUN UltraSPARC), which is designed as a twin, mirrored once a day to another identical SUN workstation, to protect from failure. The Perforce Server twins are coupled by fiber optics.
Managing the development of five products and a large development team like ours requires a fast product that will keep development on track and allow us to reproduce every version of every product easily and quickly. Before making a decision, we collected a list of main requirements for an SCM system:
- Fast and good performance with more than 200 users
- Quick backup and recovery (at best incremental, which means file-oriented storage)
- Available on all supported platforms (Windows 95/98, Windows NT, SUN Solaris, HP-UX, IBM AIX, Linux, Mac OS, etc.)
- GUI for Windows
- No language dependency (C, C++, Java, Perl, scripts, binaries, dll, MS Word, etc.)
- Support automatic production with scripts (UNIX shell scripts, makefiles, Perl scripts, etc.)
- MSVS integration
- Labeling with meaningful names
- Support of product versions and different products (branching)
- Less administration
- WAN and ISDN support (compression)
- Server for UNIX with no proprietary file system for storage (meaning quick availability on new version of the operating system)
- Tracking and tracing of every action (at best with email notification)
- Import sources from all present SCM systems (SCCS, VSS, CVS, PVS)
- Support keywords in source files (for version, date, etc.)
We made a pre-selection of products that met most of our requirements during two trade fairs. We came up with five SCM systems from different manufacturers. Three of them were introduced for a demonstration and only two made it to the last round, one of them Perforce. When it comes to the pricing, Perforce beats its competitors. It is safe to say that Perforce offers the most functionality for the same price.
The whole selection took us about 5 months of hard work. But it was worth it.
The Perforce Solution
After the decision, we bought 150 licenses for our Munich-based development team. One of the most experienced developers, Mr. Gabriel Grebenar, was heavily involved in the choice and took to task introducing Perforce. He spent nearly a month studying the administration of Perforce, configuration, branching, structuring, and more.
We then introduced Perforce to a 20-person development team that was using SCCS. With Gabriel as the acting trainer and coach for the team, we discovered how quick and easy the switch to Perforce could be (for the team, not for Gabriel). Gabriel installed a new SUN UltraSPARC as the Perforce Server, and imported all of the source files from this team onto the server during a Sunday afternoon session, and set the present SCCS tree to read-only. First thing Monday morning, Gabriel led a two-hour Perforce class for the team. From the first moment, our team used Perforce with great success. Everyone was delighted with Perforce for its speed improvements over SCCS and the pleasant GUI. Once a week for the next two weeks, we held half-hour Q&A workshops about Perforce. After a month, all team members were experienced Perforce users.
We introduced Perforce in four more development teams with the same procedure and met with the same success. Our numbers came up to 50 trained Perforce users. After that, all the rest of our developers became curious and wanted to migrate their projects to Perforce as soon as possible. We had no further problems introducing Perforce or winning acceptance for the new SCM system. Everybody likes it and wants to migrate projects to Perforce.
Even our developers, working part-time in home offices over ISDN lines (64 Kbps) with our Perforce Server, are satisfied with it. With the Perforce compression mode, there are near-zero problems with working in home offices via phone lines.
The good reputation with the developers satisfied even people outside of the development department. Our manual writers (PI, Product Information) introduced Perforce for their own use, even though we didn't require them to do so. Now, ten months after our decision to implement Perforce, we will buy another 100 licenses for Perforce users to integrate our branch offices and departments that were not added in our first head count (i.e. the writers from PI).
With Perforce we don't have to shut down to have an automatic daily build process for our product IXOS-ARCHIVE. At the moment, about 90% of the product source code for the last two versions are being managed by Perforce. We have set up an automatic build process on five computers (two Windows NT, one SUN Solaris, one HP-UX, one IBM AIX) that gets the latest versions of all necessary files out of Perforce every night and compiles and builds the last two versions of IXOS-ARCHIVE at the same time. I am sure that we will come up with 100% of IXOS-ARCHIVE created out of Perforce by the next version of IXOS-ARCHIVE. And it will take only a little longer to do the same with our other products.
This saves us much time and money in getting new versions finished and tested. During the final system tests done by the Quality Management (QM) department, we especially take seriously the fact that only important bug fix changes make it to the new version, in order to prevent changes in already-tested parts of the product. Therefore, the Perforce branch for a new product version is closed with the handoff of this version to QM. Only with the permission of the version manager is it possible for developers to check-in bug fixes and every fix checked-in is described and can be tracked within Perforce. Great.
Perforce presents itself as very reliable and stable, which is absolutely necessary for us, because 150 developers depend on this system. We had not one day of downtime during the last year and we made only one support call during this time. And, believe me, this is much less then we have had with every single SCM system in former times.