Development of web based systems
This paper reviews literature related to the influence of methodology on web based systems design against literature on the influence of the background of developers on the development of web based systems. Web systems are socio-technical systems and the social subsystem must fit in the technical subsystem, but the developer background and development method seem to offer different approaches to this goal. The idea presented in this paper is that both developer background and methodologies fundamentally influence how web systems are experienced and valued.
Finally this paper will propose further research in integration of complementary web based systems design techniques drawn from different professions.
web based systems development, influence of disciplinary backgrounds, web engineering, contributing disciplines in Web design
Recently, researchers have shown an increased interest in systems development for web based information systems. Though web based systems have been present for over a decade, little methodology influences the development of web based information systems.
In 2006, Time magazine chose as its Person of the Year the millions of anonymous contributors of user-generated content to Wikipedia, YouTube, MySpace, Facebook, Second Life, the Linux operating system, and the multitudes of other websites featuring user contribution. The choice was personified simply as YOU. This is a simple example of the attestation of the amount of design and implementation power that developers from all backgrounds have on web based systems. One question that needs to be asked, however, is whetherthese developers use methods to develop their systems or are more influenced by their backgrounds. A vast majority of these applications continue to be developed in an ad-hoc way, contributing to problems of usability, maintainability, quality and reliability. While Web development can benefit from established practices from other related disciplines, it has certain distinguishing characteristics that demand special considerations: rapid growth of the requirements of Web-based systems, rapid development of innovation technologies, and the ability to maintain information and scale the Web site's structure and the functions it provides.
The web exemplifies a greater bond between art and science than generally encountered in software development. It can be argued that traditional life cycle stages are of no or little relevance to web systems design, or that they are followed haphazardly when designing web systems. Web based systems design requires an array of eclectic skills sets, such that it is rare for any single individual to be expert in all aspects.
Today's web-based application developers generally seem young, full of energy, conversant in new technologies, and as though they're enjoying themselves. In contrast, those in charge of corporate applications and systems generally seem weighed down by legacy systems (Deshpande et al, 2001). HTML authoring tools have eased the programming burden of web based systems. The key problem with HTML authoring tools is that they create complex code that may sometimes mix up appearance and contents, and different authoring tools can introduce complications in communication among developers. Yet, in industry many web designers are going about their business, successfully producing Web-based systems for, literally, the world to behold, without resorting to academic intervention. (Lang 2007)
Past experiences from Web and interactive multimedia development projects reveal that differences between the professional backgrounds of team members can cause major problems. The fact that many of the clients requesting the systems do not actually know exactly what it is they want, complicates matters even more.
Lang 2009, found that there are important roles required in the design, including those of graphic designers, brand design/marketing consultants, content producers, information architects, and human-computer-interface (HCI) specialists, notwithstanding the ‘more importantly viewed' software engineering and programming skills.
A considerable amount of literature has been published on these web system development teams. These studies show that the teams often bring together designers from a variety of backgrounds and are widely multidisciplinary. A strong relationship between developer background and approach has been reported in the literature. “A web designer's professional training and education can shape his problem-solving orientation and world view by indoctrinating certain values and conditioning him to think and behave in certain ways” (Lang 2009). Hence “it is reasonable to assume that values play an important part in guiding the designers' choice between different design alternatives. The values, needs and objective of top management and systems designers will influence the kind of technical, organizational and task structure alternatives they consider during the design process and the solutions they eventually choose”. (Kumar et al, 1990, Hedberg et al 1974)
A better understanding of system designers' values could provide clues for explaining design decisions in development projects, as the design process involves consideration of, and trade-offs between technical, economic, and socio-political factors (including organizational and job satisfaction factors).
Moreover, researchers such as Poh Lee et al (2006) suggest that there are gaps in agile software methodology for Web Services development, and observe that some Web Services characteristics and best practices are not captured in agile methodology and thus need to be extended and applied in an appropriate methodology.
There is a need to explore how problem-solving approaches drawn from the fields of graphic design and visual communications may usefully complement and extend “traditional” IS development methods. What we know about visual designers and software designers is that they are the two principal disciplines in development of web based systems, yet an interesting finding is that their relationship is typified by strain, often edging towards contempt. The historical practices in each field bring out differences in priorities and preferences which influence the design approach. For instance, the visual designers are generally considered to be lax with regard to requirements documentation, when compared to the software designers. This reveals the difference between the traditional design ‘brief' and functional software specification. The software designers are generally mostly comfortable with the idea of a systematic process for system design, such processes mainly being adaptations of traditional software development methods and techniques. The visual designers are also generally very loose concerning the use of ‘‘approaches'' and ‘‘methods''. (Lang 2007)
One study showed that older generation systems developers regarded web based systems development as being very traditional, and until recently, less challenging than conventional development (“proper programming”). They do acknowledge that present day web based systems requires application of the old rigorous programming method, but are still more concerned with functionality as opposed to look and feel. On the other hand, those with backgrounds in industrial design are keener on the interaction design. Those with backgrounds in film making and marketing design who are employed to develop functional database driven e-commerce systems are more concerned with the concept of connecting design with the audience and not the content of production.
We can infer here that if an organisation employs developers with similar backgrounds they are more likely to approach the development project with more emphasis on the aspects they are wired to view as the most important.
There are three perspectives that have been identified as the main problem solving views affecting web based design, each clearly shaped by the various priorities and orientations of the designers' respective disciplines. These are: web based design as the design of a functional software application (emphasis on back-end functionality); as the design of an interactive tool (emphasis on ergonomics); as the design of a directed communicational dialogue (emphasis on audience engagement); and as an extension of branded graphic design (emphasis on visual presentation). (Lang 2009)
In many cases user participation is the actual system development process being performed. It can also be stated that not all web-based systems desire or need the same level of user participation. One may suggest that new development methodologies such as agile may bridge the gap that has been formed by the different contributions that developers make. However, one criticism of much of the literature on such newer methodologies is whether there is need for extension to include best practices components previously ignored.
From the literature, it seems that there are two abstractions to web systems development. On the one hand, one abstraction is based on engineering rationality, where formal methods in software engineering, which present the whole process of software development as a succession of operations underpinned by formal logic. Studies have shown that majority of software designers whose backgrounds are in software related disciplines such as software engineering and computer science prefer this approach to web based systems design.
On the other hand there is a combination of the administrative rationality and the aesthetics rationality. Administrative rationality is concerned with effective organising for business and communal service purposes. Many web systems development organisations are supported by organizational infrastructure that is flat, and bureaucracy hardly exists therein. This structure supports a networked organization where the specialized roles for the performance of functional duties are fuzzy. This is generally favoured by the visual designers as it seems to allow for freedom in creativity. One may also argue that this approach is within aesthetics rationality, where the value that a web system adds to an organisation is found in how people experience these systems. This lends itself well to organisational theory. Ramirez has in his book”The beauty of social organization” (1991) argued that everybody experiences the beauty of an organization. That kind of experience is not something we can chose to have or not, the experience is always there when we encounter an organization and often so strong that is will form our opinion about that organization. And as most organizations have a web presence, this offers a visual representation and consequently a way for users to engage in experiencing the organisation without actually making a physical visit. Given that many organisations may not have a physical office, aesthetic appeal is of great importance. After all, our evaluations of the environment, including IT, are primarily visual.
And now software academics have innovated a new engineering rationality concept - web engineering. This is an engineering approach that places a strong emphasis on product and process modelling, and has been described as the application of systematic, disciplined and quantifiable approaches to development, operation, and maintenance of Web-based applications. (Deshpande et al, 2002)
There are several ways in which web engineering differs from traditional software engineering. The design of web applications must often be flexible enough to support adaptive changes caused in the lifetime of the application. Therefore, the demands of shortening the development life cycle of web applications have increased significantly. Meanwhile, due to the complexity of web applications, it is unrealistic for the system requirements to be fully captured ahead of development time. As a matter of fact, more requirements usually emerge when a running web system is formed. How to incorporate efforts spent on requirement anchoring and system development remains challenging. (Zhang, et al 2003)
To this end, web engineering offers a solution for the development of web applications in model-driven methodologies, to simplify and automate design and development. One example is mock up driven fast prototyping methodology - an incremental engineering process that dramatically enhances the productivity and reliability of web applications. (Zhang, et al 2003)
Even with these advancements, the need for Web Engineering is felt (or dismissed) according to perceptions of the developers and managers, their experiences in creating applications made feasible by the new technologies, and the complexity of Web applications. Web based systems have enormous potential benefits but what about the risks? The web is growing and evolving instead of being designed. Poor design practices could introduce latent defects that will make Y2K look like child's play. There could be threats to national economies that depend on the web. We will need to use a trusted foundation that considers recovery, security, privacy and protection from subversive attack.
Today's programmers are trying to escape the old school by blending art with engineering. Now more than ever web systems are socio-technical systems- the social subsystem must fit in the technical subsystem. Many developers are young and versatile and argue that web projects inherently have short lifetimes, so why engineer a system thoroughly if next month's technology makes it completely irrelevant? Seasoned developers would say that just as it doesn't take any longer to drive with your seat belt on, solid tools and practices take no longer to use on a daily basis. They appreciate these time tested habits.
The approaches to the rationalities provided are both valid. However there is a need to work out ideal models of behaviour depending on the nature of the web systems. We need to be able to compare the ideal behaviour with observed behaviour and find areas of deficiency then try to correct the deficiencies.
Tom Demarco substantiated in his software metrics books, that metrics in software engineering are good, and that more metrics are better than few, and that most are best. However, software metrics cost money and time, and many research findings have shown that for the past half century, designers have tortured themselves over their inability to finish a software project on time and on budget yet software development metrics are much less precise in capturing the things they set out to describe. Undeniably, many web based projects like Google earth or Wikipedia have proceeded and turned out to be successful, without this control. (DeMarco 2009)
With many changes occurring in the field of web design, another spanner in the works has emerged. An increasing number of organizations are embracing global IS development teams or relying on offshore outsourcing as a means to fulfill their software needs. This brings a different bearing to web systems development. A study carried out in Singapore and USA (Kankanhallia et al) showed that IS developers with individualistic or masculine (or both) inclination were found to possess stronger economic, technical, and socio-political values. Similarly, developers with collectivistic or feminine (or both) inclination tend to be less task oriented and more relationship oriented, favouring long-term relationship building among all team members, including end users. This will have implications for approaches and methodologies used by web systems designers.
One of the implications for practice is to determine how the web systems development approach affects the strategic position of the company, and whether a particular approach underpins the strategic positioning and capability of the organisation.
Web systems cannot be engineered in the conventional sense. Web engineering is a gallant approach but needs to be treated with much flexibility, based on the size of the web system to be engineered and the scalability required. Web systems are bested suited to socio-technical approach and semi formal approaches. Similarly, the web design world must also take cognisance of what has withstood every prior technology transition - plan before design, design before build
Software systems, and in particular web based systems, tend to grow like weeds. The better we are at keeping it simple, and perhaps finding a workaround for testing, which is seen as the most tedious bit of IS development and even less relevant in the fast paced web design world, the more capable we will be with coping with the changes imposed. Control in measurement of metrics is relative - in Tom DeMarco's words - we need to select projects where precise control won't matter so much. Then we need to reduce our expectations for exactly how much we're going to be able to control them, no matter how diligently we apply ourselves to control.
Due to the complexity and scalability of web systems, the supreme goal of engineering and in this case web engineering, should not be to complete a software project. The approach should be the application of information systems development methods that are less rigorous but more responsive to ‘users' or allow for flexibility and programmers' creativity; innovation as enacted in the practice of the work place rather than carefully pre-planned.
Recent studies show that conflict between Web designers from different professional backgrounds will be found not to be much of a problem in practice (Lang, 2007). In actual fact, once the rival factions of visual design and software design have worked together and over time learned to appreciate what each group brings to the table, they gain an appreciation of each others' perspectives and priorities and it is easier to separate the back end from the front end of web systems design. This differentiating of layers was much more difficult a few years ago.
Moreover, as Checkland reflects, ‘‘What we need is not interdisciplinary teams but transdisciplinary concepts, concepts which serve to unify knowledge by being applicable in areas which cut across the trenches which mark traditional academic boundaries''
One unanticipated but very welcome finding was that regardless of the professional backgrounds, the methods and techniques the designers had formerly used in their ‘‘native'' discipline transferred across very well to Web design.(Lang 2007)
Many organisations would benefit from using the following in web based systems design: collective code ownership; an emphasis on simplicity; the use of regular informal team briefings; insistence on a close working relationship with the client; the pursuit of continuous process improvement through reflective evaluation; and a general emphasis on people, communication, and working software over processes, documentation, and adherence to a plan.
Currently, development of web applications is driven by technology push in high speed innovative settings, and as such Web Engineering is a moving target. Web technologies are constantly evolving, making new types of applications possible, which in turn may require innovations in how they are built, deployed and maintained.
A useful direction for future research would be the integration of complementary web based systems design techniques drawn from different professions. More research on this topic needs to be undertaken before the association between graphics design and software design is more clearly understood.
On the role of IS professionals, recent evidence suggests that while IS personnel roles vary in web-based systems development with the specifics of the system, IS personnel continue to play a role that includes partnering with users in a variety of ways to provide systems with the greatest possible value to the organization (Ruppel, 2000). This partnership, and the relative roles of the stakeholders including developers and the organisation's power structure, will also provide an interesting area of study for IS researchers.
Atreyi Kankanhallia, Bernard C.Y. Tana, Kwok-Kee Weia, Monica C. Holmes, 2004, Cross-cultural differences and information systems developer values, Decision Support Systems, Volume 38,Issue 2
Checkland PB ,1976, Science and the systems paradigm. Intl J General Systems 3(2):127-134
Cynthia Ruppel, James Konecny , 2000, The Role of IS Personnel in Web-based Systems Development: The Case of a Health Care Organization, ACM,
DeMarco, T; 2009; Software Engineering: An Idea Whose Time Has Come and Gone?; IEEE Software Journal; pg 95-96
Deshpande Y, Murugesan S; 2002, Web Engineering; Journal of Web Engineering, Vol. 1, No.1 (2002) 003-017
Hedberg B., and Mumford E., 1974,The Design of Computer Systems, Man's Vision of Man as an Integral Part of the System Design Process. In Human Choice and Computers, E. Mumford and H. Sackman, Eds. North-Holland. Amsterdam,. pp. 31-59.
J. Zhang and J.Y. Chung, 2003, Mockup-driven Fast-prototyping Methodology for Web Applications, Proceedings of the 2003 Symposium on Applications and the Internet (SAINT'03)
Kuldeep Kumar and Niels Bjorn-Andersen, 1990, A Cross-Cultural Comparison of IS Designer ‘Values , Communications of the ACM, Volume 33, number 5
Michael Lang , Brian Fitzgerald , 2007, Web-based systems design: a study of contemporary practices and an explanatory framework based on ‘‘method-in-action''
Michael Lang, 2009, Web-based Systems Development: The Influence of Disciplinary Backgrounds on Design Practices, JIOS, VOL. 33, No. 1
Ramirez,R. ,1991, The beauty of social organization. Munich, ACCEDO.
San Murugesan, Yogesh Deshpande, Steve Hansen and Athula Ginige, 2001, Web Engineering: A New Discipline for Development of Web-based Systems, Lecture Notes in Computer Science, Volume 2016/2001
Siew Poh Lee, Lai Peng Chan, Eng Wah Lee, 2006, Web Services Implementation Methodology for SOA Application, Industrial Informatics, 2006 IEEE International Conference, pp 335-340
Time Magazine, 2006, http://www.time.com/time/magazine/article/0,9171,1569514,00.html, 18 November 2009
Yogesh Deshpande and Steve Hansen; 2001; Web Engineering: Creating a Discipline among Disciplines, IEEE Multimedia, April - June 2001 (Vol. 8, No. 2)pp. 82-87