Web Specifications: Rhetoric vs. Reality

Although many Web-development companies assure clients that they have certain development processes in place, they sometimes don't back up their claims. David Lowe (pictured) and Vassiliki Veros Elliott report the findings of their study on the real vs. reported processes of Web-development organizations.

A lack of detailed understanding of the client's own needs for the
system and the potential impact within the organization

There is a growing awareness in both the research literature and commercial
practice that these differences require changes in the development process that
is adopted). One of the key areas impacted is the way the needs of clients are
understood and system specifications are developed. Clients are often less aware
of aspects such as the potential capabilities and limitations of the technology,
as well as the ways in which possible solutions can change their business
practices and models.

As a result, the initial stages of the development process often become highly
exploratory, with the aim of using partial designs, prototypes, user focus groups,
and similar tools to develop an understanding of client needs and how they relate
to possible solution architectures. The latter stages of development then adopt
an incremental evolutionary development of the system. This is illustrated in
Figure 1.

In an earlier work (see the Journal of Web Engineering, "Client
Needs and the Design Process in Web Projects," by D. Lowe and J. Eklund,
vol. 1, p. 2336), we investigated these specific issues in more detail. In
particular, we utilized a comprehensive set of industry surveys and interviews,
and analyzed existing commercial Web specifications. The result was an improved
understanding of the issues impacting the specification activities in commercial
Web-development projects. We also identified the elements that should typically
be addressed within a Web specification.

One side issue that was hinted at in this earlier work was the perceived
significance that many organizations (both Web developers and their clients) put
on the existence of an appropriate development process. In particular, some
anecdotal evidence showed that clients often saw the existence of a process as
indicative of an improved development capability. Developers recognized this and
subsequently realized the potential importance of ensuring that their clients
(or prospective clients) were told of their claimed processwhether the
Web-development company actually followed that process or not.

As a result, many Web-development organizations claim to utilize a process.
However, there is a difference between claiming to use a process and actually
adopting that process in a meaningful way. In this article, we analyze the
available data from our earlier work to develop an understanding of industry
practice for how descriptions of processes are used. In particular, we examine
whether the publicly described processes reflect the true process as implemented
or whether they predominantly serve as a marketing tool that is not reflected in
actual practice.

We first consider the background, focusing on just why a modified development
process might be appropriate. Then we look at the research approach that we
adopted to gain insights into whether commercial practice reflects stated
processes. We also analyze the collected data and describe the subsequent
inferences. Finally, we explore future work and describe relevant
conclusions.

Background

A small but growing body of literature examines the differences between Web
systems and conventional software systems. In general, this literature
identifies unique characteristics of Internet-enabled systems that reflect
technical, usability, and organizational requirements. These include aspects
such as a tighter linkage between the business needs and the underlying
technology (typically through a more visible system architecture), increased
importance of usability and quality attributes (because applications are
typically more visible externally), open modularized architectures, and rapidly
changing technologies.

Many of the developmental characteristics, however, are more significant. In
particular, initial client uncertainty, rapidly evolving client needs, short
delivery time frames, and fine-grained evolution and maintenance all are likely
to impact the approach to the development. The first of these typically leads to
the need for an initial exploration of the problem before effective
specification and scoping can occur. We often end up with a process that might
be referred to as design-driven requirements, as developers use partial
solutions to clarify potential systems with the client.

Once we have an initial specification, the need for rapid deployment and the
likelihood of ongoing change make an incremental process involving tight interaction
with the client appropriatehence the claims by some authors that approaches
such as eXtreme Programming (XP) are appropriate. The result is typically a
process such as the one shown in Figure
1.

Although considerable work has been done on Web design methods and models,
only minimal research has focused on the broader Web-development processes. The
research that does exist tends to be relatively prescriptive and focuses on
management of the technological infrastructure). One exception to this is our
work on extensions to the OPEN (Object Process, Environment, and Notation)
process framework to make it more suitable for supporting Web-development
process (for details on this work, have a look at "OPEN Process Support for
Web Development," by B. Henderson-Sellers, D. Lowe, and B. Haire, in the
Annals of Software Engineering, vol. 13, p. 163202). In particular, this
work has identified additional tasks, techniques, and roles that are required to
support Web development. Although this work provides a framework for describing
Web-development processes, it does not provide insights into the actual
structure of processes as they are (or should be) carried out.

Nevertheless, both commercial developers and clients recognize that adopting
an appropriate development approach can have a major impact on the quality and
cost of the systems being developed. As such, many Web-development organizations
ensure that their development and adoption of a suitable process is highlighted
in the information available to their clients. Although the form of these
processes varies considerable, their existence is typically viewed as
important.

In our earlier work, we investigated the issues that impact the specification
activities in commercial Web-development projects and identified elements that
should be addressed within a Web specification. In this article, we consider the
related issue of the extent to which claimed processes appear to be adopted in
carrying out actual projects. In other words, we consider the extent to which
the described processes are simply useful marketing rhetoric, and to what extent
clients can rely on the veracity of the claims.