The Internet Encyclopedia (Volume 3)

(coco) #1

P1: c-161


SoftwareDesign WL040/Bidgoli-Vol III-Ch-24 June 23, 2003 16:25 Char Count= 0


288 SOFTWAREDESIGN ANDIMPLEMENTATION IN THEWEBENVIRONMENT

driven almost entirely by time-to-market; it is almost in-
variably more lucrative to deliver poor-quality products
sooner than high-quality products later. It is a well-known
truism that companies can often sell poor-quality first ver-
sions of software applications and then make more money
by charging for upgrades that contain more bug fixes than
new features. For most applications, there has tradition-
ally been little economic motivation for producing high-
quality software. In fact, there have often been economic
disincentives for creating high-quality software products.
Web-based software is in a completely different situa-
tion, one more akin to critical software such as aerospace,
telecommunications, and medical devices. One of the in-
teresting challenges is that Web software has extremely
high-quality requirements (Offutt 2002; Powell 1998).
However, there appears to be little or no brand-name loy-
alty (that is, “site loyalty”) for Web applications. Many
companies that sell through the Web depend on customers
using their sites, and most important, returning to their
sites. Others offer more traditional software services that
are available through the Web; these services will not be
used if the quality is too low because it is relatively easy
for users to switch to other services. Thus, unlike many
contractors, Web site developers will only see a return on
their investment if their Web sites exhibit sufficient quality
(that is, if the Web sites satisfy users’ needs). Unlike many
software vendors, if a new company puts up a competitive
site that customers perceive to have higher quality, cus-
tomers will almost immediately shift their business to the
new site. Thus, it is often advantageous to be “later than
and better” instead of “sooner but worse.” Although the
idea of “sticky Web sites” has been discussed and mech-
anisms to encourage customers to come back have been
developed (Menasc ́e, 2000), thus far the key mechanism
to bring repeat customers to Web sites is high quality. It
seems likely that this will continue to be true for the fore-
seeable future.
In software development, a process-driver is a factor
that has a strong influence on the process used to develop
the software. Thus, if software is required to have high
reliability, the development process must be adapted to
ensure that the software works well. When I have sur-
veyed the important quality process drivers for tradi-
tional software, developers always give a single answer
that stands alone far above the rest: time-to-market. But
when I recently made the same survey of Web software
development managers and practitioners, they claim that
time-to-market, although still important, is no longer the
dominant process driver. Instead, the three most impor-
tant quality criteria for success of Web applications (and
thus, the underlying software) were given as

Reliability
Usability
Security

An additional four important criteria that were listed are

Availability
Scalability
Maintainability
Performance

Of course, it would be foolish to claim that this is a
complete list of important or even relevant quality at-
tributes. Quality attributes such as customer service, qual-
ity of products, price, and delivery are also important but
not related to the software and thus beyond the scope
of this chapter. Nevertheless, these quality attributes
track closely with what is said in other books and arti-
cles (Constantine & Lockwood, 2000; Dustin, Rashka, &
McDarmid, 2001; Kassem et al., 2000; Murugesan & Desh-
pande, 2001; Powell, 1998; Scharl, 2000). Thus, there is
wide agreement that satisfying quality attributes is essen-
tial to Web software, and these seven provide a solid basis
for evaluating Web software. These quality attributes are
used as a basis for suggesting specific ways to engineer
Web site software, using the available technologies.
Before proceeding with the technology aspects of this
chapter, let’s explore the reasons these quality attributes
are so important. These quality factors will have a much
stronger impact on the profits of Web-based companies
than for most traditional software. The reasons for the
first three quality requirements—reliability, usability, and
security—may become obvious by analyzing some of the
new uses of this software. The most obvious is that of
direct selling to customers, that is, “B2C.” This includes
companies that sell books and other small items such as
Amazon, plane tickets such as Yahoo and Expedia, and
rental companies such as Netflix. Customers who buy
books from a Web site expect the same quality of service
that they would get from going to a bookstore at the mall,
but without the overhead of actually driving to the mall.
We expect to be able to find the books we want in a con-
venient way (usability), we expect to be able to make the
purchase without difficulty (usability), we expect the cor-
rect books to arrive at our house in the specified number
of days (reliability), and we expect the correct amount to
be billed to our credit card (reliability).
The issue of security of Web applications is getting
more important. One of the major concerns of security for
e-business, of course, has to do with security of data. Cus-
tomers expect their credit card and personal information
to be held in confidence. Identity theft, where a criminal
takes the entire credit history and assumes the name of
another person, is becoming more common and can be
done by taking advantage holes in Web software. The se-
curity also works in the opposite direction. Improper use
of cookies has opened up holes for users. One example is
that of Web software storing price information in a cookie
on the client-side, which allowed customers to change the
price of items they bought on the Web. As a field, we are
continuing to evolve our expectations of security and our
ability to support security.
The additional quality requirements are less obvious.
Whereas a bookstore on the corner (“brick and mor-
tar”) might expect to have customers form the neighbor-
hood Monday through Saturday, 8:00 a.m. to 7:00 p.m., a
Web-based company can expect customers from all over
the world. It might be 3:00 in the morning in Virginia,
but it’s the middle of the afternoon in Beijing! It might
be Thanksgiving holiday in the United States, but it’s
just another spring day in South Africa. Thus, Web sites
must have extremely high availability, not just 24/7, but
24/7/365.
Free download pdf