As we began to plan this book, we worried that it would become lost in the
hundreds—no, thousands—of volumes that have been written on “Web design,”
HTML, Java, XML, or any of the myriad technologies that must be understood
to build successful Web-based systems and applications (WebApps). To our surprise,
we found that one crucial topic—the process through which each of the other
technologies is applied—has received relatively little coverage. We call the process
Web engineering, and we believe people who apply it have a higher likelihood of
building WebApps that satisfy users’ needs and provide real benefi t to their clients’
businesses or organizations.
It has become a cliché to state that WebApps can be pivotal to the success of
virtually all businesses and organizations. And yet, many WebApps continue to be
built in an ad hoc manner with little regard to the fundamental principles of problem
analysis, effective design, solid testing, and change management. As a consequence,
many WebApps fail to meet the needs of their users and the objectives of
the business that has commissioned them.
Today, we’re making the transition from an old-school approach to Web engineering
in order to meet the challenges posed by the next generation of Web-based
systems and applications. The industry is moving toward a more pragmatic Web
engineering process—one that exhibits agility and adaptability. At the same time,
the process must deliver the integrity of a disciplined approach.