Академический Документы
Профессиональный Документы
Культура Документы
Chapter XII
ABSTRACT
After years of research and experimentation with information systems
building, delivering high-quality systems remains a largely elusive objective.
Since the prophetic assertion of Fred Brooks that the essential difficulties
of software engineering would frustrate the search for a silver bullet
to slay the legendary werewolf that beset its quality, IS delivery has become
more difficult, and organizations have magnified the struggle to overcome
what has been called the software crisis. There is unlikely to be a silver
bullet. Only the disciplined, effective management and selection of
appropriate approaches by knowledgeable and committed participants in
the delivery process are likely to increase the odds of producing highquality software products. This article discusses a variety of available
user-centered and process-oriented systems delivery methods, philosophies,
and techniques, which may be used in innovative permutations to tranquilize
the dragon beyond its capacity to generate terror. The application context
for these approaches, their strengths and weaknesses as indicated by the
research literature, and reported practitioner experiences are also discussed.
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
254 Duggan
INTRODUCTION
Despite the information technology (IT) innovations of the past several
years, the persistent theme is that there is an information systems (IS) delivery
crisis1 resulting from the failure to exploit IT capability to produce high-quality
systems (Brynjolfssen, 1993; Gibbs, 1994). Many organizations have established
successful IS; however, several have not obtained the expected benefits from
their large investments in software products, and even successfully deployed IS
consume a disproportionate share of systems development resources for maintenance activities (Banker, Davis, & Slaughter, 1998; Hoffer, George &
Valacich, 2002). Consequently, organizations (and eventually the national
economy) seldom derive commensurate benefits from IT investments. This,
presumably, has contributed to the perception of a productivity paradox, which
was first insinuated by economist Robert Solow.
Brooks (1987) suggested that software engineering problems emerged from
both accidental and essential difficulties. According to him, accidental difficulties derive from the incidental properties of the delivery environment; they are
controllable. However, there is no solution for the essential difficulties and no
silver bullet existed or was imminent to slay this werewolf. Brooks attributed
essential difficulties to four factors: (1) conformitythe need for new software
to conform to organizational politics and policy and other systems, both social and
technical; (2) changeabilitythe corrections, adaptations to business process
changes, and extensions that software experiences in delivery and evolution; (3)
invisibilitythe inability to create visual models to make intangible design
products appreciable; (4) complexitythe inherent difficulty involved in working
with and communicating about this largely intangible product.
None of these problem factors has disappeared. In fact, the complexity of
IS delivery has increased (Al-Mushayt, Doherty, & King, 2001). As organizations rely more on IT to enable their strategic priorities and support value chain
operations, advanced IS are required to apply sophisticated information and
communications technologies, to accommodate a variety of data distribution and
application architecture strategies, support cross-functional business processes
and global operations, and mitigate the information security risks that now attend
the greater movement of data. This increased reliance on IT accentuates the
challenges that face IS developers and other stakeholders to interact more
effectively (Vessey & Conger, 1994).
It is generally acknowledged that there is no painless therapy for software
development maladiesno single silver bullet. However, Cox (1995) asserted
that the werewolf may be slain by those who will summon the tenacity to shift
from the software building paradigms that we have embraced. Such a shift
requires more focused preproject analysis to select the appropriate combinations
of approaches that are best suited to the IS delivery context. IS developers may
have to emulate the resilience of the organizations they serve. Most are forced
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
256 Duggan
tems delivery are used in the literature to describe the process of establishing and
deploying computer-based information systems. IS delivery is the preferred term
in this chapter, used generically to incorporate all available means of obtaining
IS such as in-house development, acquisition, or outsourcing. In this delivery
process, stakeholders are supported by the adopted paradigms, methodologies,
methods, and tools (Robey, Welke, & Turk, 2001) described in Table 1.
There is general agreement that the parameters that shape expectations
about IS value are scope, schedule, cost, and quality (Friedlander, 1992). These
interdependent factors may be traded off against each other but one cannot be
adjusted independently without repercussive effects on the others. IS quality is
widely recognized as a critical yet elusive organizational target (Kitchenham &
Pfleeger, 1996); however, unlike the first three, there is considerable diversity
of views about what it constitutes, what its determinants are, and how to assess
it (Ravichandaran & Rai, 1994). Some researchers define IS quality in terms of
inherent system attributes; others use usage parameters.
Garvin (1984) identified five views that have contributed to the definition of
IS product quality: (1) the transcendental view of quality as recognizable but not
definable; (2) the product-based view, which sees quality as identifiable in
measurable characteristics of the deliverable; (3) the user-based view of quality
that refers to the products capability to satisfy stated or implied needs its
fitness for use; (4) the manufacturing-based view that measures quality by the
degree of conformance to specification and requirements; and (5) the valuebased view of quality as its economic worth to buyers.
ISO/IEC 9126-1 software quality model defines six discernible quality
characteristics of a software product2functionality, reliability, usability, efficiency, maintainability, portability (ISO/IEC 9126-1, 2001) that enables it to
effectively satisfy implied user needs and goals. These characteristics, which
are intended to cover the range of quality dimensions that are of interest to IS
Description
Common distinguishing features of a
family of life cycle approaches
Examples
Waterfall model;
incremental/Iterative models;
Reuse-based models
Systems development
methodology
Information Engineering;
Method 1; Navigator, RUP
Systems delivery
method
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
F u nc tio na lity :
M a tu rity
S u ita b ility
A c c u rac y
In terop e rab ility
S ec u rity
F au lt T oleran c e
R ec o v era b ility
P o r ta b ility :
A d ap tab ility
In s tallab ility
C on fo rm an c e
R ep la c ea b ility
M a in ta ina b ility :
C h an g eab ility
S tab ility
T es tab ility
U s a b ility :
IS Pro d u ct
Q uality
E ffic ie nc y :
T im e B eh a v io r
R es o u rc e B e h av ior
A n aly z a b ility
users, involve both internal and external attributes (each with several subattributes)
that influence quality-in-use (Figure 1) and can be used to motivate design
decisions during development. Internal attributes refer to the intrinsic properties
of the software product that are implemented. They are the prerequisites of
external attributes that reflect the manner in which the system interacts with a
potential user.
It may be inferred from the combined indications of the various positions
outlined above and the perspectives of other scholars (Erikkson & McFadden,
1993; Grady, 1993; Hanna, 1995; Hough, 1993; Palvia, Sharma, & Conrath,
2001) that IS quality is discernible in the features and characteristics that bear
on the satisfaction of perceived needs and the delivery of expected benefits. A
high-quality system should reliably produce required features that are easy to
access and use with a high probability of correct response and consistently
acceptable response times. Such a system should produce business value; it
should be delivered on time so that the solution remains relevant beyond
deployment, and the overall benefits should outstrip life-cycle cost of ownership.
Defects discovered in field use should be easily isolated and corrected. The
system should be scalable both with regard to functionality and usage, and should
be portable to other operating platforms.
ANTECEDENTS OF IS QUALITY:
PARTICIPATIVE AND
USER-CENTERED APPROACHES
There has been significant focus on the quality-enhancing capability of
participative approaches. These are rooted in socio-technical systems (STS)
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
258 Duggan
Source
Organizational
Characteristics
Deploy
User Impact
Association
with
IS Delivery
Business
Processes
Structure
Organizational
Systems
Culture
Acceptance
And Use
Of IS
IT Capability
Correct
Adapt
Perfect
IS Evolution
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
Systems success is not only determined by technical validity but also by affective
and behavioral responses of the intended beneficiaries (Markus & Keil, 1994;
Newman & Robey, 1992); effective employee involvement is also a prerequisite
for eventual system use (Barki & Hartwick, 1994). This has prompted other
scholars to include actual usage as a measure of software quality (Lyytinen,
1988; Markus & Keil, 1994).
Many IS problems in organizations originate in the complex social structures
in which they are executed (Fox, 1995) where people organized into work units
interact with technology to satisfy some instrumental (work-related) objective;
equivalently, the technology embedded in the social (sub) systems may generate
affective responses that contrive obstacles to system use (Shani & Sena, 1994).
STS analysis therefore juxtaposes affective and instrumental elements of IS
delivery to cogenerate social, and technical requirements and STS design
principles seek to balance the human, organizational, and technical elements of
the implementation environment (Al-Mushayt et al., 2001; Palvia et al., 2001).
This practice allows the impact of different technical solutions to be assessed
against potential social obstacles to system use and helps to preidentify ethical
issues with technology implementation before critical incidents arise (Doherty &
King, 1998); this influences systems quality (Fox, 1995; Shani & Sena, 1994).
User-Centered Approaches
STS objectives are incorporated in IS delivery by involving users throughout
and employing user-centered approaches such as prototyping, joint application
development (JAD), participatory design (PD), and quality function deployment
(QFD) to facilitate effective user-developer interactions and promote other STS
goals.
User Involvement in IS Delivery
The value of involving users in systems delivery has been well recognized
(Barki & Hartwick, 1994). Involved users often endorse system goals, which
increase their perception of the usefulness of the system (Carmel, George, &
Nunamaker, 1995). This positive identification in turn produces a high level of
commitment to system outcomes (Borovits, Ellis, & Yeheskel, 1990). However,
empirical research results have not consistently confirmed this theory of positive
correlation between user involvement and system success (Carmel et al., 1995).
Barki and Hartwick (1994) attributed these inconclusive findings to inadequate
definition of user-association constructs. For example, they distinguished between user participationthe intellectual occupation with the accomplishment
of assigned tasks and user involvementthe psychological state that attaches
significance to the affiliation with a systems delivery project. User ownership
transcends user involvement and motivates pride of possession and a sense of
responsibility for the success of the system. The quintessential state of associa-
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
260 Duggan
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
262 Duggan
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
management (CIO Magazine, April 2001). The trend has been to employ formal
process assessment instruments such as the capability maturity model (CMM)
to gauge IS process competence and structured systems development methodologies to establish process repeatability and predictability so as to reduce
reliance on individual and project group heroics for quality outcomes.
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
264 Duggan
ANTECEDENTS OF IS DELIVERY:
DELIVERY MEHODS
Traditional systems development life cycle (SDLC) models, embodied by
the waterfall method, are characterized by the sequential execution of life cycle
phases and the complete specification of information requirements up front.
Robey et al. (2001) distinguished between two other IS delivery paradigms that
have helped to improve systems quality by reducing the cognitive and technical
complexity of the waterfall method. They identified the iterative/incremental
paradigm and the software reuse paradigm. The waterfall model is well known,
has longevity, and has been described ad infinitum; it will not be elaborated in this
chapter.
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
266 Duggan
may be errors per thousand lines of code (E/KLOC) or mean time to failure
(MTTF). If the pre-established quality standards are not attained, the module is
discarded and reconstructed.
Several authors have cited successful CSE applications that have improved
software quality (Agrawal & Whittaker, 1993; Hausler, Linger, & Trammell,
1994; Head, 1994; Trammell et al., 1996) and significantly increased development productivity (Gibbs, 1994). Practitioners have also reported greatly reduced errors per line of cleanroom generated code (Jerva, 2001) of eight to ten
times less than the average for other processes (Spangler, 1996). Indirect
benefits that may accrue from the reduction of software failure in field-use
include longer product life and the reduction of systems development resources
devoted to maintenance activities. Opponents of the cleanroom technique have
mainly focused on the methods philosophical aversion to traditional testing
techniques (Beizer, 1997), mathematical complexity, and the high demand for
human resources (Jerva, 2001), which may account for the relative sparseness
of cleanroom applications.
Agile Development Methods
Agile development methods are a family of similar software development
methods, which seek to minimize process impediments to early IS delivery and
promote expeditious delivery of small increments of software functionality at
regular intervals. Proponents have developed a manifesto5 that outlines agile
principles. These methods are touted to be human-oriented (requiring extensive
customer involvement), fast and efficient, small and nimble, and giving a higher
priority to people than process. Agile methods embrace simplicity: Requirements
determination is based initially on partial knowledge, system features are
delivered in small releases, the development team is small and interacts closely
with intended system users (interactive development), and testing is continuous
(Beck, 2000).
XP, Adaptive Software Development, Feature Driven development, Crystal Clear Method, Dynamic Systems Development Method (DSDM), and Scrum
are examples of agile methods. XP is probably the most popular of these methods
and was therefore elected for further elaboration. It is typically used by small,
co-located teams to quickly produce small-scale systems that are constructed by
two-person programming teams (Beck, 2000). System builders (Development)
and business domain experts (Business) engage in a planning game followed
by iteration planning game that is played by Development alone; both involve
a three-step process of exploration, commitment, and steering6 (Hoffer et al.,
2002).
Some systems development pundits are skeptical about this approach,
claiming that some XP terminology are euphemisms for questionable systems
practicesfor example refactoring, the XP concept of continuous design for
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
rework (Glass, 2001). But proponents of the approach attest to its efficacy
particularly in stabilizing systems quality and delivering applications rapidly in
environments of high business processes volatility (Paulk, 2001). They also
refute the claim that XP does not subscribe to modeling and documentation.
While admitting that both are deliberately light (moderate) in XP, they say this
is a deliberate strategy to disencumber the process (Paulk, 2001). XP supporters
also concede its unsuitability for developing large multi-site (or global) applications with large development teams (Glass, 2001).
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
268 Duggan
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
the largest reason the problem endures. In this pursuit, each new technique, like
the Pied Piper, attracts a following of dancers who sometimes abandon timetested waltzes. The dominant message of this chapter is that a well-considered
amalgam of user-centered techniques, systems delivery methods, and process
techniques, selected appropriately to match the context of the problem environment, is required to overwhelm the creative complexity of the software delivery
process. Instead of treating alternative methods as competitors, we should
identify their boundary conditionsthe perimeters of their applicabilityand
seek to exploit synergistic combinations of available approaches in flexible ways.
No method is inherently better than another under all conditions.
Figure 3 illustrates that some development methods are associated with
particular paradigms. However, process management techniques and the variety
of IS delivery tools discussed may be used by any method and under any
paradigm. It may be possible to combine IS delivery methods within and across
paradigms to effect a more useful project-context fit and establish comprehensive systems delivery process support within a variety of development environments. For example, some XP practices may be gainfully incorporated into RAD,
or cleanroom techniques in OOD. The flexible integration of IS delivery
approaches, called a method mix, has fairly wide support among researchers
(Broady, Walters & Hartley, 1994; Fitzgerald, 1998; Hocking, 1998; Jaakkola &
Drake, 1991; Korac-Boisvert & Kouzmin, 1995; Lee & Xia, 2002; Meso &
Paradigms:
Waterfall
Incremental/Iterative
Reuse
Development
Methods:
Structured
Techniques
- CSE
- RAD
- Agile Methods
- OOD
- CBD
IS Delivery Tools:
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
270 Duggan
Medo, 2000; Saberwal & Robey, 1995; Vessey & Glass, 1998; Vlasblom,
Rijsenbrij & Glastra, 1995).
Table 3 summarizes the salient features of the systems delivery approaches
discussed. It provides synoptic statements about the primary objective, the
condition most favoring the applicability of, and any major caveat associated with
each approach. The approaches are by no means exhaustive. Typically, they are
the precursor (and probably the best known) representatives of a family of
similar approaches. They are still widely used and have extensive name
recognition. For example, rapid application development (RAD) was discussed
in detail, but not dynamic systems development method (DSDM) its derivative,
which is very popular in the UK, with claimed improvements over the original
methods (Barrow & Mayhew, 2000; Beynon-Davies, Mackay & Tudhope,
2000). Similarly, the capability maturity model (CMM) is elaborated but not
Capability Maturity Model Integrated (CMMI), its successor. However, space
Objective
Applicability
Major caveat
User Ownership
Prototyping
Difficult to discover
requirements
Requires powerful
development environment
JAD
Pooling of knowledge,
heterogeneous
stakeholders
PD
Worker participation in
decision making
QFD
CMM
Organizational assessment of
systems delivery process
No immediate impact;
cost
SDM
Multi-project environment
May be cumbersome if
followed religiously; high
learning curve
RAD
Expeditious solution
implementation
CSE
XP
Process-light user-developer
interaction with co-located teams
Development rigor
OOD
Complex projects;
reductionism
Understanding the OO
philosophy
CBD
User-developer
environment
Socio-Technical
Features
Process
Management
Methods
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
REFERENCES
Adamopoulos, D. X., Haramis, G., & Papandreou, C. A. (1998). Rapid prototyping
of new telecommunications services: A procedural approach. Computer
Communications, 21, 211-219.
Agrawal, K., & Whittaker, J. A. (1993). Experiences in applying statistical
testing to a real-time, embedded software system. Proceedings of the
Pacific Northwest Software Quality Conference.
Agarwal, R., De, P., Sinha, A. P., & Tanniru M. (2000). On the usability of OO
representations. Communications of the ACM, 43(10), 83-89.
Al-Mushayt, O., Doherty, N., & King, M. (2001). An investigation into the
relative success of alternative approaches to the treatment of organizational issues in systems development projects. Organization Development Journal, 19(1), 31-48.
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
272 Duggan
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
274 Duggan
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
276 Duggan
Ravichandran, T., & Rai, A. (1994). The dimensions and correlates of systems
development quality. Proceedings of the Annual SIG Computer Personnel Research Conference on Reinventing IS, Virginia, (pp. 272-282).
Ravichandran, T., & Rai, A. (1996). Impact of process management on systems
development quality: An empirical study. Proceedings of the Americas
Conference on Information Systems.
Ravichandran, T., & Rai, A. (2000). Quality management in systems development: An organizational system perspective. MIS Quarterly, 24(3), 381415.
Roberts, T. L., Gibson, M. L., & Fields, K. T. (1997). Systems development
methodology implementation: Perceived aspects of importance. Information Resources Management Journal, 10(3), 27-38.
Robey, D., Welke, R., & Turk, D. (2001). Traditional, iterative, and componentbased development: A social analysis of software of software development
paradigms. Information Technology and Management, 2(1), 53-70.
Sabherwal, R., & Robey, D. (1995). An empirical taxonomy of implementation
processes based on sequences of events in information systems development. In G. P. Huber & A. H. Van de Ven (Eds.), Longitudinal field
research methods: Studying processes of organizational change (pp.
228-266). London: Sage.
Schmidt, D. C., & Fayad, M. E. (1997). Lessons learned building reusable OO
frameworks for distributed software. Communications of the ACM,
40(10), 85-87.
Shani, A. B., & Sena, J. A. (1994). Information technology and the integration
of change: Socio-technical system approach. The Journal of Applied
Behavioral Science, 30(2), 247-270.
Silver, M. S., Markus, M. L., & Beath, C. M. (1995). The information technology
interaction model: A foundation for the MBA core course. MIS Quarterly,
19(3), 361-390.
Spangler, A. (1996, October-November). Cleanroom software engineering:
Plan your work and work your plan in small increments. IEEE Potentials,
29-32.
Sparling, M. (2000). Lessons learned through six years of component-based
development. Communications of the ACM, 43(10), 47-53.
Szyperski, C. (1998). Component software, beyond object-oriented programming. New York: Addison-Wesley.
Trammell, C. J., Pleszkoch, M. G., Linger, R. C., & Hevner A. R. (1996). The
incremental development process in cleanroom software engineering.
Decision Support Systems, 17(1), 55-71.
Vessey, I., & Conger, S. A. (1994). Requirements specification: Learning
object, process, and data methodologies. Communications of the ACM,
37(5), 102-112.
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
278 Duggan
Vessey, I., & Glass, R. (1998). Stong vs. weak approaches to systems
development. Communications of the ACM, 41(4), 99-102.
Vlasblom, G., Rijsenbrij, D., & Glastra, M. (1995). Flexibilization of the methodology of system development. Information and Software Technology,
37(11), 595-607.
Weinberg, R. S. (1991). Prototyping and the systems development life cycle.
Information Systems Management, 8(2), 47-53.
Welke, R. J. (1994). The shifting software development paradigm. Database,
25(4), 9-16.
Wetherbe, J. C. (1991). Executive information requirements: Getting it right.
MIS Quarterly, 15(1), 51-65.
Wood, J., & Silver, D. (1995). Joint application development. New York: John
Wiley & Sons.
ENDNOTES
1.
2.
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
3.
4.
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
280 Duggan
5.
6.
7.
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
Copyright 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.