You are on page 1of 8

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/220093003

Maintenance-Oriented Design and Development: A Case Study.

Article in IEEE Software · January 2002


Source: DBLP

CITATIONS READS
6 406

3 authors, including:

Jose Zagal Raul Santelices


University of Utah University of Notre Dame
66 PUBLICATIONS 1,513 CITATIONS 34 PUBLICATIONS 1,078 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Jose Zagal on 03 June 2014.

The user has requested enhancement of the downloaded file.


focus
out of the box

Maintenance-Oriented
Design and Development:
A Case Study
José Pablo Zagal, Virtualia S.A.

Raúl Santelices Ahués, Blue Planet Software

Miguel Nussbaum Voehl, Pontificia Universidad Católica de Chile

eneral consensus says that maintenance efforts are the most time-

G and resource-consuming part of the entire software development


process.1–3 However, the importance of software maintenance is
greater now than ever before due to software’s increased complex-
ity, size, and lifespan.4 The way we think of maintenance is the source of our
neglect. The software development process basically covers three phases: de-
sign, implementation, and maintenance (see Figure 1a).5,6 By default,

maintenance is regarded as the last and least level as design and implementation, the en-
rewarding step of software development, tire software development process focuses
with most of the effort focused on the de- on the area that demands the most time,
sign and implementation. Thus, software money, and effort.3 This focus allows not
The authors use engineering tends to concentrate on a small only the development of better-quality soft-
a case study to part of the software life cycle.7 ware but also software that is more adapt-
What happens when we shift our per- able to subsequent changes. The software is
compare traditional
spective and embed the implementation easy to maintain simply because of the way
and maintenance- stage inside the maintenance step? Software it was designed and developed. This is espe-
oriented processes. development becomes an initial base design cially important when we consider that
Accepting the followed by maintenance because the initial maintainability is obviously related to the
importance of design stage now considers maintenance as skills of the maintenance team, the tools
maintenance, and the next step (see Figure 1b). The base de- available, the process’s maturity, and so on.9
focusing the sign specifies the design schemes and how Considering software maintenance before it
development they will handle quality assurance and re- is even implemented is akin to asking who
process toward it, quirement changes.8 This focus ensures that will use my software and how five years af-
produces software the software to be designed is maintainable, ter I develop it. In other words, maintenance
projects that are because once the base design is finished, begins where development begins.10
successful, on time, maintenance starts, even if there is nothing The case study project we present here is
implemented yet. an excellent opportunity to see if this kind
and on budget.
When we place maintenance at the same of approach reduces costs, shortens devel-

100 IEEE SOFTWARE July/August 2002 0740-7459/02/$17.00 © 2002 IEEE


Figure 1. The (a)
traditional approach
to software
Design Implementation Maintenance
development and
opment time, and increases software stabil- (a) (b) a shift in that
ity. Our objective is to compare and weigh perspective.
this paradigm against the traditional
method of software development in the
Base Maintenance
video game domain.
design
Implementation
Starting the project
Between 1996 and 1999, a multidiscipli-
nary team from the Schools of Engineering (b)
and Psychology at the Pontificia Universi-
dad Católica de Chile undertook a project
for developing handheld video games with projects. What is essentially different in this
educational content11 that used mainte- case is not how we solved these problems,
nance-oriented design and development. but how we viewed the software develop-
The project had an experimental focus and ment process. Our different perspective
was initially based on Nintendo’s handheld minimized the impact that these problems
GameBoy device. Seven different games would have in later stages.
with up to eight distinct content sets were The four challenges the project faced
developed with maintenance in mind. concerned changes to the software. Ac-
From the software development view- counting for the fact that maintenance is a
point, this project posed a series of challenges: process of change management,12 it made
sense to consider the software’s develop-
■ Because the project itself was experimen- ment from a maintenance viewpoint from
tal, our initial specifications were highly the beginning.
unstable. In fact, we derived most of
them in tandem with the project as we The project’s evolution
analyzed our results. This was because Initially, the project concentrated on de-
we had to derive the specifications for veloping a prototype game called Selva,
the user interface and game playability which would serve as an initial experiment
from the users (children) and the specifi- for playability and resource stress and pro-
cations for the experiment as well as the vide immediate feedback to the develop-
educational contents from the experi- ment team. This prototype’s construction
menters (psychologists and educators). followed the traditional approach to soft-
■ The hardware platform for which we ware development. We use this experience
had to develop the software was un- in this article as the control case, whose re-
known to us and not definitive. It also sults we will compare with our proposed
differed from traditional software devel- maintenance-oriented method.
opment environments in its lack of Once we completed this prototype game,
tools, the nature of its applications, and we had enough knowledge of the require-
the programming languages it used. ments and development issues involved so as
■ Because the software was to be used ex- to start the formal production of all the games
perimentally in a wide variety of scenar- needed (eventually seven games on different
ios, it was critical that it be easily mod- topics). Because we would have to carry out a
ifiable to rapidly adapt to a variety of maintenance process later, the part of the
different specifications and situations. team in charge of the games’ design and im-
■ Software stability was also an issue be- plementation analyzed the areas that would
cause failures could seriously affect the most commonly need maintaining:
credibility of our results as well as the
games’ classroom usage. The software’s ■ Modifications to the game levels (in-
embedded nature (stored in flash mem- crease challenge, update artwork, ac-
ory) also prevented on-the-fly correc- commodate technological limitations)
tions or modifications. ■ Modifications in each game’s dynamics
(make games more fun)
Most of these challenges are probably ■ Change interface (improve usability and
quite typical of most software development children’s comprehension of game)

July/August 2002 IEEE SOFTWARE 101


Figure 2. The game
architecture.
Scenario Educational
editor content editor

Generate We decided to implement 2D, four-way


scrolling games, populated with objects
High-level sharing a set of standard properties and
specifications Game common behaviors. We created another ex-
perimental case (a second version of Selva)
Executes
that used our maintenance-oriented ap-
Domain Complements Additional proach, which we respecified using the tools
engine game logic we already developed. Figure 2 shows the
general game architecture that we defined.

The tools
■ Modifications to each game’s educa- A game is made up of a sequence of sce-
tional schema (change educational con- narios, each one containing a decorative
tents and adjust game’s self-regulation background, an infrastructure of static ob-
mechanism, which reacts to user skill) jects (such as floor, walls, and statues), and
a set of dynamic objects (such as protago-
Because it was clearly inefficient to sit nists and enemies). A content manager de-
down and work out a stable design for each cides when and what text and graphics to
separate game, we decided to delimit the do- show using any of the scenario constituents.
main of the games by establishing a base of Under this scheme, a particular game adds
common features and properties. We could its own specific logic, mainly by extending
thus develop a specific set of tools for each the funcionality of the objects shown. Fig-
domain as well as a game engine to support ure 3 shows the structure of the software
them. The purpose of these tools was to al- domain engine that executes the high-level
low better maintenance by providing an au- specifications from the editors in runtime
tomated and standardized specification mod- (explained further in the next section).
ification process. We designed these tools to
allow fast and efficient maintenance of soft- Scenario editor and validator tool
ware that wasn’t completely designed yet and The first three maintenance areas (game
to let each specific game developer easily test levels, game dynamics, and interface modifi-
his or her changes directly on the engine. By cations) are related in that they deal with the
working with high-level specifications and specification and modifications that redefine
covering a significant part of the final appli- different aspects of usability, playability, and
cations, these tools went one step beyond entertainment. We considered these areas
maintenance to support graphic design and when we developed the scenario editor and
implementation tasks. validator tool under a standardized scheme
all game designs could share. We developed
the scenario editor and validator tool to gen-
erate more automated code and data than is
generated in the traditional approach. This
Draws in
Background tool allows the specification of the standard-
ized virtual game world (or scenario) in
which the game takes place, including the
background and the objects with which the
protagonist can interact (such as the floor,
Static Draws in Content
Scenario boxes, and enemies).
object manager
Figure 4 shows how the designer specifies
the properties that a given visual object has
within the game. In Figure 4a, a palette lets
Draws in
us choose a graphic object (bitmap) from
Dynamic
object
those that are available. These objects’ at-
tributes are defined with the properties edi-
tor (see Figure 4b)—for instance, the ob-
Figure 3. The structure of the software domain engine. jects’ position in the scenario, the way the

102 IEEE SOFTWARE July/August 2002


game’s protagonist and antagonists will in-
teract with the object (collision properties),
and other scenario-specific attributes. When
time- or event-driven dynamic objects exist, (a)
the designer uses the same properties editor
to specify aspects such as movement trajec-
tories, and simple behavior rules.
The scenario editor and validator tool
also allows the automatic management and
validation of system parameters such as
video RAM usage (amount of tiles and
sprites available) and ROM placement (au- (b)
tomatic paging). For example, it can indi-
cate the area with the greatest amount of
tiles used. We can also modify the hard- Figure 4. (a) Object
ware-dependent system parameters from selection palette;
within the tool. This lets the tool produce of reports for each game’s contents, detail- (b) object properties
game data for different hardware platforms ing all the design parameters. In essence, the editor.
in a highly automated fashion. tool allows for the specification of the de-
All these features help the tool generate sign information that is relevant to each
scenario specifications that a common soft- game’s educational contents as well as each
ware engine can run compatibly with all the exercise’s particulars.
project’s different game designs. This same This same tool, now considered from the
tool, from a maintenance perspective, lets maintenance perspective, lets us modify all
the designer adjust all kinds of game pa- the parameters and elements pertaining to
rameters such as artwork modification and the educational contents and exercises of
object properties. This quality of the sce- each game. The tool focuses on the whole
nario editor—integrating implementation maintenance phase instead of just the imple-
and maintenance in a common tool and mentation stage like a standard tool does,
process that provide deep automation—is and it has the same functionality and report
the result of looking at maintenance from generation abilities. The standardized educa-
the get-go. The only drawback in this case is tional scheme allows an automated and
the loss of flexibility in software design, due more stable content generation process for
to the generative approach taken. all possible games within the domain.
We developed this tool figuring that its
Educational content editor tool users would be mostly educators and psy-
We designed the educational content edi- chologists with no particular experience in
tor to manage the educational contents in- software development or this project’s spe-
cluded in each game, which is the remaining cial nature. Experience shows that, for
maintenance area to be addressed. This tool them, maintaining and developing was es-
and its scheme standardize and automate sentially the same—that is, they perceived
the educational aspects of all games, im- the entire development process as iterative
proving general maintenance and allowing maintenance.
for modifications of each game’s specific ed-
ucational schema. For example, the designer Comparative analysis
could specify general educational parame- In any video game process, there are two
ters such as how many different levels of ed- kinds of design. The first relates to the con-
ucational content (levels of difficulty and ceptual design, which produces a semifor-
different activities) to use and the exercises’ mal high-level specification of the game13—
maximal parameters. The exercise editor that is, a written or graphic script describing
determines each exercise’s actual contents; its characters, scenarios, and so on. This is
the editor allows for the definition of any the input for the software design itself,
particular characteristic pertaining to a cer- which consists of creating a software model
tain exercise. for the target platform.
Additionally, the tool permits generation Tables 1 and 2 show the respective phases

July/August 2002 IEEE SOFTWARE 103


Table 1 for both cases in our project, the control and
the experiment. The tables also list the kinds
Standard process tasks by project phase
of tasks that each phase includes.
(traditional approach) The design and implementation tasks are
Process phase Common tasks related to the static structure of a scenario
Design Conceptual design: story, characters, special objectives, (walls, floors, and background), the game’s
interactions, educational content’s presentation system dynamics (object movements, animations,
Scenario design specified in drawing tool and interactions), the educational content’s
Design of custom educational contents presentation scheme configuration (the
Implementation Game dynamics; testing and tuning rules for choosing exercises from the con-
Scenario data calculation and validation; testing tent database), and the contents themselves
Educational content’s presentation logic; testing (a pair of numbers to add and the alterna-
Educational content’s data testing tives to choose). They all must be repeatedly
Additional game logic; testing tuned and changed for experimental and de-
Design maintenance Conceptual design changes (major redesign decisions) bugging reasons. These tasks were easier to
Scenario design modifications in drawing tool fulfill in the maintenance-oriented process,
Changes to educational content or addition of new set because the tool automated them. This cre-
Implementation Game dynamics retuning ated a safer maintenance job because the au-
maintenance Modified scenario data calculation and validation; testing tomatically generated code was stable. Only
Educational content’s presentation logic modification; testing manually created data and logic were still
Additional game logic modification; testing susceptible to errors (after reaching tool and
Enhancement or refactoring of standard implementation tasks library stability), which, in this case, meant
less code was susceptible to errors than in
the control Selva (tools generated most of
the code and data). Also, the existence of a
common structure in the games made it eas-
Table 2 ier to localize a game’s changing points
when fixing an error. Additionally, timelines
Maintenance-oriented process tasks became predictable, process control im-
by project phase proved, and thus the project stayed on
Process phase Common tasks budget. However, the loss of flexibility im-
Common base Creation of scenario structure and game dynamics scheme
posed by the automation added restrictions
design Creation of educational contents and configurable
to the games that made finding a successful
(for all games) presentation scheme
final design difficult for some of them.
Tool design
We used these new tool-based games for
Specific base design Conceptual design under common scheme restrictions: story,
our experiment with the children. The exper-
characters, special objects, objectives, interactions, configu-
iment created the need for intensive testing,
tion of educational content’s presentation system configuration
which produced special maintenance needs
Design of overall scenario structure and game dynamics in Scenario
not present in the standard case—the mainte-
Editor; automatic error-free data validation and generation
nance approach’s benefits became more im-
Educational content’s presentation configuration in Contents Editor
portant than ever. These extra maintenance
Initial educational contents specified in Contents Editor
tasks produced phases that consisted of
Design maintenance Conceptual design changes, under common scheme
Editing of scenario’s static structure and game dynamics edition
■ comprehensive bug-finding sessions by
in Scenario Editor; automatic error-free validation and
game testers (before the children’s exper-
generation of new data
iment), reported to the development
Editing of educational content’s presentation configuration in
team for bug fixing and eventual redesign
Contents Editor
■ playability experimentation feedback,
Editing of educational contents in Contents Editor
sent to the development team for main-
Implementation Tuning of game dynamics specification
tenance updating of the software
maintenance Scenario data playability testing
■ evaluation of educational content based
Educational content’s configuration tuning
on teachers’ feedback and children’s
Calculation of educational contents’ data effectiveness
knowledge evaluations (to evolve con-
Additional game logic enhancement and changes; testing
tents into more effective exercises and
configurations)

104 IEEE SOFTWARE July/August 2002


Metrics comparison Table 3
Table 3 shows effort in person-hours for
Scenario development costs for the
the different tasks involved in the life cycles
of the standard Selva (control case) and the control and experimental case
maintenance-oriented Selva (experimental Task Standard Selva Maintenance-oriented Selva
(person-hours) (person-hours)
case). First, we identify the costs of building
a complete Selva scenario in each case. In the Scenario specification from scratch 10 8
standard Selva, we used a commonly avail- Complete scenario coding, 80 0 (automated)
able drawing tool to build the static objects calculation, validation, and debugging
infrastructure and the dynamic objects of the Scenario design modification (tuning) 1 1
scenario from scratch, with almost the same Calculation, validation, and debugging 40 0 (automated)
facilities provided by the specific editing tool of modified scenario
used in the new Selva. This explains the sim-
ilarity in costs. However, the hand-coded dy-
namics and the almost hand-made postpro- Table 4
cessing of the scenario data in the standard
Selva involved the most significant cost dif- Contents development task costs for
ference from the maintenance-oriented the control and experimental case
Selva, as Table 3 shows, because the scenario Task Standard Selva Maintenance-oriented Selva
editor automated this task. (person-hours) (person-hours)
Analyzing the standard scenario modifi- Design of educational 10 8
cation, we see that the design change’s cost content and presentation
is generally minimal, but the compiler-level Implementation of content 40 1 (automated)
data calculation, validation, and debugging and presentation
make a difference again. Without the avail- Presentation or content modification 6 1 (implementation automated)
ability of the scenario editor, the team had
to redo an average of half the postprocess-
ing, given the fact that the scenario was ex-
tremely wide and short and that the mean
change was located in the middle of it. Con- ability, and the automated implementation
sidering that each game had at least three avoided the introduction of logic-related
scenarios and that implementation of the bugs in the process. Also, as we see in Table
common scenario scheme design and the 4, the modification tasks are highly opti-
tool construction debugging consumed mized in the maintenance-oriented case.
about 100 and 160 person-hours of work, For a stable version, the cost of developing
the maintenance-oriented approach was the scheme design and library implementa-
more economically feasible even for the first tion, along with the tool construction, meant
releases of the games. a total of approximately 160 person-hours.
The educational dimension is another Again, this investment was fully rewarded
major area of maintenance. Table 4 shows considering each game’s extensibility and
the costs of educational-content-related maintenance-driven life cycle and that there
tasks for each case. In the standard approach were at least four versions of each game with
(single-game production), the educational different contents and configurations.
content and its presentation were a single de-
sign task, specified in a text editor or spread-
sheet and then included in the game along
with the specific code needed. In the mainte-
nance-oriented approach, the standard

T
scheme separated the presentation configu- he maintenance-oriented approach
ration process from the content specifica- we adopted from the beginning of
tion, the latter being formatted according to the process contributed to a defini-
the configuration defined in the former. Al- tive gain in lower and standardized mainte-
though this diminished flexibility, the whole nance costs. Process control and software sta-
content design for a game took less time in bility were strengthened, because code was
this case due to the Content Editor’s avail- modified only in defined places and mainte-

July/August 2002 IEEE SOFTWARE 105


nance did not introduce new code. Unfortu- 6. R.S. Pressman, Software Engineering: A Practitioner’s
Approach, 4th ed., McGraw-Hill, New York, 1997.
nately, though, variability in game design de- 7. I.D. Baxter and C.W. Pidgeon, “Software Change
We believe this creased. For this approach to be successful, through Design Maintenance,” Proc. Int’l Conf. Soft-
the software domain must be carefully cir- ware Maintenance, IEEE CS Press, Los Alamitos, Calif.,
paradigm is cumscribed and defined so that you can use
1997, pp. 250–259.
8. J. Han, “Designing for Increased Software Maintain-
still well suited the same tools throughout the software cycle. ability,” Proc. Int’l Conf. Software Maintenance, IEEE
CS Press, Los Alamitos, Calif., 1997, pp. 278–286.
We believe this paradigm is still well
to software suited to software development scenarios in 9. M. Ramage and K. Bennett, “Maintaining Maintain-

development which there is a large degree of instability in


ability,” Proc. Int’l Conf. Software Maintenance, IEEE
CS Press, Los Alamitos, Calif., 1998.

scenarios in the initial specifications, as well as those in


which the hardware platform is being mod-
10. T. Pigosky, Practical Software Maintenance, Wiley
Computer Publishing, New York, 1997.

which there is ified or is unknown in the software devel-


11. “Learning by Playing,” Schools of Eng. and Psychology,
Catholic Univ. Chile, 2000; www.ing.puc.cl/sugoi.
a large degree opment phase. It is also appropriate for 12. N.G. Schneidewind, “Characteristics of Software Main-
tenance,” Encyclopedia of Computer Science, Macmil-
those cases in which the software’s operat-
of instability in ing conditions are uncertain and lots of
lan Reference, London, 1999.
13. A. Rollings and D. Morris, Game Architecture and De-
the initial changes and modifications will have to be sign, Coriolis Technology Press, Phoenix, Ariz., 2000.

specifications. made. It is particularly useful when these


modifications are to be handled by people
with little technical experience regarding the
software in question.
Our approach might seem similar to the
evolutionary model of software develop-
ment (from the viewpoint of rapid prototyp-
ing).5 However, we are less ambitious: we For more information on this or any other computing topic, please visit our
simply propose the development of main- Digital Library at http://computer.org/publications/dlib.
tainable software.

About the Authors


José Pablo Zagal is director of online
community development at Virtualia S.A. His re-
search interests include human–computer inter-
actions, computer game design and develop-
ment, computer-assisted education, and online
communities. He received a BS in engineering
Acknowledgments and an MSc in computer science from the
The Chilean National Science Foundation Catholic University of Chile. Contact him at
(FONDECYT) grant number 1000520 partially Kennedy 5757, Office 1502, Las Condes, Santi-
funded this work. ago, Chile; jp@virtualia.cl.

Raúl Santelices Ahués is a software


engineer at Blue Planet Software. His research
interests include virtual reality, computer game
development, and real-time artificial intelligence.
He received a BS in engineering and an MSc in
computer science from the Catholic University of
Chile. Contact him at Vasco de Gama 4702, Dept.
64, Las Condes, Santiago, Chile; rasantel@
References ieee.org.
1. J.R. McKee, “Maintenance as a Function of Design,”
Proc. Am. Federation of Information Processing Soci- Miguel Nussbaum Voehl is a full pro-
eties Nat’l Computer Conf., AFIPS, Reston, Va., 1984, fessor of computer science in the School of Engi-
pp. 187–193. neering at the Catholic University of Chile. His
2. T. Guimaraes, “Managing Application Program Main- research interests include knowledge engineer-
tenance Expenditures,” Comm. ACM, vol. 26, no. 10, ing, artificial intelligence in human sciences, and
Oct. 1983, pp. 739–746. technology applications in education. He received
3. M. Hanna, “Maintenance Burden Begging for a Rem- his EE from the Catholic University of Chile, an
edy,” Datamation, Apr. 1993, pp. 53–63. MSc in computer science from Georgia Institute
4. N. Gross et al., “Software Hell: Special Report,” Busi- of Technology in Atlanta, and a PhD in informat-
ness Week, 6 Dec. 1999, pp. 38–44. ics from the ETHZ, Switzerland. Contact him at Pontificia Universidad Catolica
5. I. Sommerville, Software Engineering, 5th ed., Addison- de Chile, Escuela de Ingenieria, Departamento Ciencia de la Computacion,
Wesley, Reading, Mass., 1996. Casilla 306, Santiago 22, Chile; mn@ing.puc.cl.

106 IEEE SOFTWARE July/August 2002

View publication stats

You might also like