Case Study Symbian
Symbian's (www.symbian.com) mission is to set the standard
for mobile wireless operating systems and to enable a mass market for
Wireless Information Devices.
The configuration management challenge was to coordinate and control
the efforts of 300+ developers working on EPOC, Symbian's operating
system, around the world. They manage the development of over 100
components which are packaged up into a number of DFRD (device family
reference device) suites which are delivered to licensees (Ericsson,
Matsushita, Motorola, Nokia and Psion) for further customisation and
incorporation into products.
Using Perforce has allowed Symbian to significantly improve its
software development process including remote development sites, with
greatly increased performance and reliability.
Peter Jackson is the software architect, responsible for software
production process architecture within Symbian.
Symbian's EPOC technology provides the complete solution for OEM
manufacturers of Wireless Information Devices such as Communicators
and Smartphones. Owned by Ericsson, Matsushita, Motorola, Nokia and
Psion, Symbian aims to promote standards for the interoperation of
Wireless Information Devices with wireless networks, content
services, messaging and enterprise wide solutions.
With headquarters in London, Symbian has offices in Tokyo and
Kanazawa, Japan; Ronneby, Sweden; Cambridge, UK and San Francisco Bay
The environment is complex with many parallel developments underway
at any one time, providing for several release projects as well as
projects to produce significant new features.
Symbian is working with a single NT server and primarily NT clients.
Remote offices are supported via a VPN.
Development Environment at a Glance
- Company name: Symbian
- Headquarters: London, UK
- Industry: Hardware/OEM Licensees
- Type of application: Production of core operating system and applications for licensees.
- Perforce Software products used: Perforce 99.1
- Type of machines: Windows/NT server and Windows/NT or 9x clients
- Type of network: 100 Mbps; 10 Mbps hub
- Number of users: 300 (a mixture of developers, testers, documentation writers and Web developers)
- Number of development sites: Three (London, Sweden and Tokyo)
- Number of files: 18,000 in a single release, many releases
- Languages used C++, Java
- Customer since: August 1999
Symbian's EPOC is substantial, consisting of more than 18,000 and 100Mb
of code and source files. It is mission-critical for the licensees, and with
tens of thousands of PDAs and related items in the field running EPOC in ROM,
reliability is key.
EPOC comprises over a hundred components that are configured into complete
releases for licensees.
Extensive use of branching and merging helps keep big projects on track
without compromising the development of other features.
The requirements on Symbian's wishlist for a new SCM product were:
- Able to branch and merge code quickly and easily
- Provide support for remote sites
- Client/server architecture
- Integrated with Microsoft Developer Studio
- Usable from a command line to enable automation of tasks
- Easy to use so that documentation and testing teams could use the
Symbian spent months searching for a product that would meet its
requirements and conducted a comprehensive evaluation process.
Six products made it onto the list and were evaluated by Symbian
developers against agreed criteria. Three of those six were included on the
shortlist and the vendors were invited in to make a presentation to key
members of the build team.
In the final analysis, the team who were involved in the selection
commented "Do we want to carry on taking the train or fly?" when
comparing Perforce with the competition.
In addition, most of the other systems required that users mount a drive
in NT or on UNIX (shared across both platforms in cross-platform
environments), then read a proprietary database format. In other words, they
were not client/server.
Perforce Addresses the Multiple Release Headache
Symbian works on multiple releases of its products with complex
developments for more than one client on the go concurrently.
Perforce's natural way of representing parallel source code branches has
the management of concurrent releases much easier. Some significant thought
and planning went into creating codeline strategies to cope with individual
releases of many components and combining those into major product releases.
In addition, Symbian has development codelines where teams and individual
developers can work in an isolated way, controlling how they import changes
from the mainline, and how they migrate their changes into the mainline.
The information freely available on the Perforce web site was very
influential on the internal discussions within Symbian as to how their
development processes could be improved. The low key sales of Perforce,
letting the product speak for itself won many friends.
Enabling global access
Our developers in Sweden had been using Visual SourceSafe. They started
coming across increasing reliability problems and were very keen to switch to
Perforce. Using Perforce over a 256k link was not an obstacle to development.
Automating the build process
Each night Symbian builds and tests the main code line for all components.
Even during the evaluation phase our build engineers became very enthusiastic
about using Perforce in the build procedures, in particular for the
opportunities to improve the process as well as its speed and reliability.
Training and Implementation
Robert Cowham of Vaccaperna Systems worked closely and very successfully
with a number of Symbian staff including myself throughout the evaluation
process through to training and supporting the rollout. This include initial
brainstorming sessions to come up with appropriate branching strategies and
design of the central Perforce repository, through to him conducting more than
half a dozen 1 and 2 day training courses for our key developers seeded
through the organisation. In combination with a 2 hour presentation developed
in house, this has resulted in a straight forward cutover.
Symbian took advantage of the new ways of working supported by Perforce to
make a very significant improvement in their development processes and have
been very happy with the support and the tool chosen.
Back to the top
© Vaccaperna Systems Ltd