Case 5: Dragon - Object-Oriented Architecture of a
Global Customer Service System
The objectives of the Dragon project were the following:
- From a business perspective, the current Maersk Line customer
service systems are essential to the core business of Maersk
Line. To be highly competitive in the future, Maersk considers
it essential to develop a new system for Global Customer Service.
- From a research perspective there are the following challenges:
- User involvement in system development with highly distributed
- The use of object-technology for a global customer service
- Experiments with Rapid Application Development (RAD) based
- Testing a new object-oriented development environment developed
- Multi-user aspects and distribution
- Architectural issues of a large enterprise system
- Integration with database systems
- Concurrent development of a prototype as well as a production
The Dragon project has been carried out in two phases:
Phase one (1.2.97 - 30.6.97)
- The main goal for phase one was to develop a prototype that
could serve as a proof-of-concept for a new global customer
- From a research perspective the main purpose was to obtain
experience with user involvement, object technology, RAD /prototyping
and the test the devise tools in the setting of an organization
like Maersk Line.
Phase two (1.7.97 - 30.6.98)
The motivation and objectives for phase two were as follows:
- Further development of the prototype for a new customer service
system. As mentioned, the first prototype served as a proof-of-concept.
In phase two the focus shifted to develop an industrial prototype.
The industrial prototype should serve as a specification of the
production version and as the big picture for demonstration,
teaching and design purposes. In addition to identifying functionality,
usability issues were also taken into consideration.
- Due to the short project period of the first strand of the
project, the potentials of the research issues were not fully
explored. On the other hand, the practical objectives as well
as experiences gathered for significant research implications
were more than fulfilled. It was therefore felt highly desirable
to continue the project.
Major Activities and Results
The project was devided into two strands. The first focused
on the development of a prototype serving as 'proof of concept'
and the second on the development of a prototype serving the production
system for GCSS.
The first strand of work was centered on the production of
a prototype, Dragon, for a new global customer service system that
supports the customer service processes in Maersk Line. It was
developed in close cooperation with the ongoing Business Process
Improvement (BPI) program being carried out in Maersk Line.
The prototype was developed using techniques and tools developed
by the Devise group at Aarhus University. In particular techniques
such as user involvement (participatory design), and fast prototyping
were used. The prototype is developed on Windows NT using the
Mjølner System. The Mjølner System is an object-oriented
development environment for the BETA programming language developed
by the Devise group and Mjølner Informatics ApS.
The main results of phase one were:
- A proof-of-concept prototype for global customer
- An object model for part of the Maersk business.
- A large empirical base for research considerations.
The second strand of the project was part of the actual development
of a production system for a global customer service system. While
initiatives were taken within Maersk Line regarding foundation
work (e.g. network issues, migration issues, overview of existing
databases), the Dragon project concentrated on further developing the
prototype in order to elaborate, in particular, the client
side of the coming system.
first part of the project focus was on designing proof
of concept in that a functional but not very elaborated version
of all major parts of a potential GCSS was produced. In the second
part of the project, emphasis was much more attached to
the components/concerns previously identified. Looking at the
overall process, it may be noted that for any given component
there is a general movement in time from a focus on analysis,
over design, towards implementation. On the other hand, at any
given point in time, activities pertaining to analysis, design
and implementation took place (not necessarily on the same components,
though). This process structure was one of the key prerequisites
for the, at times, very fast development, for example in that
all competencies were involved and produced tangible results
all the time.
The role of the Dragon project and the prototype were two-fold:
- On the one hand, the prototype served as specification for
the production version.
- On the other hand, the prototype served as 'the big picture'
for demonstration/teaching/design purposes (the first production
version only covers two out of c. 15 major components within
The main results of phase two were:
- An industrial prototype for a global customer service
- A refinement of the object model.
- An even further empirical basis for research considerations
and a number of actual results based on this basis. From a research
perspective, it takes time to analyse, compare, and generalize
experiences obtained from a large project like Dragon. Research
results based on Dragon will therefore materialize in the near
future. In the next section, the research results as of today
The overall conclusion of the Dragon project is that it has
more than fulfilled its expectations. The main lessons learned
may be summarized as follows:
Multi-disciplinary, cooperative, and experimental system development
turned out to be a success in its application in quite a new context.
It involved diverse competencies as cooperative design, ethnography,
usability studies, object- technology from the developer side;
BPI, IT management, project management, requirements organization,
and customer service staff from the business side; and actual
design always took the form of cooperation and experimentation
among and between these.
- Evolutionary and experimental system development was proved
to be very useful in a large distributed organization.
- The Dragon project was an example of a successful cooperation
between industry and academia. The Dragon project has a number
of implications for the partners as described below:
From a business point of view:
- The close involvement of business people in a cooperative
and iterative development has proven a success, and will be employed
throughout the life of the global customer service system development.
This may also have implications for the way that future IT projects
within Maersk Line are structured
- Much of the new functionality in the Dragon prototype has
been proved feasible and either has been or will be incorporated
into the production application
- The common vision of a global customer service system will
continue to be represented by the Dragon prototype throughout
all regional and hierarchical divisions within Maersk Line
- Prototyping as proof of concept has proven successful, having
potential implications for future IT projects of similar magnitude
From a research point of view:
- A valuable experience has been made applying a multi-perspective
view on development of a large system. It is expected that this
experience will be further developed in terms of new methodologies
and techniques. Two of the developers of Dragon have started
a PhD study in this area. Preliminary experience is described
- For ethnography it provided valuable experience in working
as a constructive and on-going part of a design team - rather
than, e.g. doing investigations followed by a hand-over of results.
Work is in preparation for outlining approaches to bridge the
gap between ethnography's focus on the present and design's focus
on the future. See also [COT/5-4].
- For cooperative design it provided a host of experiences
regarding involving people at all organizational levels, on many
locations, and from various cultural backgrounds. On one
hand it showed that cooperative design is a powerful approach
also in such diverse and complex situations and, on the other hand
it provided material for improving and extending the role of
- For object-orientation: the Dragon project has showed new
possibilities for how to combine object-orientation with ethnography
and cooperative design in object-oriented analysis and design
- For usability studies it provided experiences and insights
regarding bridging the conceptual and practical gap between the current
practice and future use that users often experience in test situations
- For the Devise tools, the experience
was overall positive, but a number of suggestions for improvements
have been identified. Some of these improvements have already
been implemented in the Mjølner System as the interface
builder, CASE tool, code editor and compiler have been integrated
into one tool, and work is ongoing to integrate the debugger
as well. In addition work is ongoing to develop support for dynamic
compilation, and the first working prototype already exists
- The experience with the multi-user persistent store has led
to the development of a new and improved persistent store. The
goal is to develop a persistent store that can scale up
to significantly larger object stores than the current persistent
store. This work is carried out in an Esprit project involving
Devise and Mjølner Informatics, and in addition one of
the developers from Dragon has started a PhD study in this
February 1997 - June 1998.
- Ole Larsen,
Maersk Line, Esplanaden 50, DK-1098 Copenhagen K
Phone: +45 3363 3363,
- Ole Lehrmann Madsen,
Computer Science Department, Aarhus University, Aabogade 34, DK-8200
Phone: +45 8942 5670, e-mail:
Project members Aarhus University