Web Specifications: Rhetoric vs. Reality
Web systems have a unique combination of characteristics that differentiate them from more conventional applications. In particular, they tend to have these characteristics:
Complex but open component-based architectures
Tighter linkage between the business needs and the underlying technology
Increased importance of usability and quality attributes (because applications are typically more visible externally)
Rapidly changing technologies,
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.
Figure 1 Typical Web-development process.
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. 2336), 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 processwhether 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 appropriatehence 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. 163202). 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.