Evaluation of Commercial Web Engineering Processes

Similar documents
Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

A System of Patterns for Web Navigation

Change Management Process on Database Level within RUP Framework

Adding Usability to Web Engineering Models and Tools

White Paper. Incorporating Usability Experts with Your Software Development Lifecycle: Benefits and ROI Situated Research All Rights Reserved

Applying ISO/IEC Quality Model to Quality Requirements Engineering on Critical Software

Architectural Blueprint

Work Environment and Computer Systems Development.

PREPARE FOR TAKE OFF. Accelerate your organisation s journey to the Cloud.

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Continuous Prototyping: Unified Application Delivery from Early Design to Code

Web OPEN-Integrated: Proposed Framework for Web Development *

A Study on Website Quality Models

Usability Evaluation as a Component of the OPEN Development Framework

A UML-based Methodology for Hypermedia Design

Rational Software White paper

Testing in the Agile World

INTRODUCTION. 2. User-centred interface design.

Unit title: Programming for Mobile Devices (SCQF level 6)

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Best Practices for Collecting User Requirements

A comparison of computer science and software engineering programmes in English universities

Foundation Level Syllabus Usability Tester Sample Exam

A Linear Regression Model for Assessing the Ranking of Web Sites Based on Number of Visits

Web Modelling Languages: The Gap Between Requirements And Current Exemplars

Software Development Methodologies

Heuristic Evaluation of Groupware. How to do Heuristic Evaluation of Groupware. Benefits

Transactions on Information and Communications Technologies vol 11, 1995 WIT Press, ISSN

Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures

Improving System Usability Through the Automation of User's Routine Intentions: an Image Edition Tool Case Study

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

A Framework for Reliability Assessment of Software Components

Me4DCAP V0.1: a method for the development of Dublin Core Application Profiles

Choosing the Right Usability Tool (the right technique for the right problem)

Building UAE s cyber security resilience through effective use of technology, processes and the local people.

Agile Accessibility. Presenters: Ensuring accessibility throughout the Agile development process

Responsible for the design of software, and for implementation and operation of effective software and tools.

THE JOURNEY OVERVIEW THREE PHASES TO A SUCCESSFUL MIGRATION ADOPTION ACCENTURE IS 80% IN THE CLOUD

Topic 01. Software Engineering, Web Engineering, agile methodologies.

DSDM Agile Professional Candidate Guidelines October I do it right

Project design process by Heartgrenade

MaramaEML: An Integrated Multi-View Business Process Modelling Environment with Tree-Overlays, Zoomable Interfaces and Code Generation

BCS Level 3 Certificate in Programming Syllabus QAN 603/1192/7

Introduction to Software Engineering

Foundation Level Syllabus Usability Tester Sample Exam Answers

Qualification details

BCS Level 3 Certificate in Software Development Context and Methodologies Syllabus QAN 603/1191/5

An Approach to Software Component Specification

Annotation for the Semantic Web During Website Development

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Prototyping Navigation in Web-Based Information Systems Using WebML

Process of Interaction Design and Design Languages

SEMANTIC WEB POWERED PORTAL INFRASTRUCTURE

UNIT-I Introduction of Object Oriented Modeling

McDonald, Andrew Gregory (2004) The Agile Web Engineering (AWE) process. Copyright and moral rights for this thesis are retained by the author

System Name Software Architecture Description

Process Patterns for Web Engineering

Retrofitting Security into a Web-Based Information System

COST ESTIMATION FOR DISTRIBUTED SYSTEMS USING USE CASE DIAGRAM

Overview of the course. User-Centred Design. Group. Practical issue. Writting the report. Project work. Fang Chen

Getting a Quick Start with RUP

Typical Training Duration 11 months

PUTTING THE CUSTOMER FIRST: USER CENTERED DESIGN

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014

THE MODELING OF E-SUPERVISED (E-SUV) FOR DISTANCE LEARNING CENTRE

Reference Framework for the FERMA Certification Programme

INSPIRE status report

THE STATE OF IT TRANSFORMATION FOR RETAIL

Personalizing Digital Libraries at Design Time: The Miguel de Cervantes Digital Library Case Study *

Issue Brief: Taking Quality Assurance Seriously in Carbon Markets

BCS Certificate in Requirements Engineering Syllabus

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

White Paper. Rose PowerBuilder Link

Web Engineering. Introduction. Husni

Business Analysis in Practice

An Integrated Approach to Documenting Requirements with the Rational Tool Suite

Web Engineering Curriculum: A Case Study of an Evolving Framework

HCI Research Methods

Reengineering the Systems Development Process for User- Centred Design

Software Engineering

Automated Cognitive Walkthrough for the Web (AutoCWW)

Integrating Software Lifecycle Models into a uniform Software Engineering Model

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

Dimensions for the Separation of Concerns in Describing Software Development Processes

Dilbert Scott Adams. CSc 233 Spring 2012

Designing Component-Based Architectures with Rational Rose RealTime

IT Expert (Enterprise Network and Infrastructure Architect)

Workpackage WP 33: Deliverable D33.6: Documentation of the New DBE Web Presence

2013 North American Software Defined Data Center Management Platforms New Product Innovation Award

Lecture 7: Software Processes. Refresher: Software Always Evolves

Incremental development A.Y. 2018/2019

Architecture of Business Systems Architecture and the Role of the Architect

Adaptable and Adaptive Web Information Systems. Lecture 1: Introduction

Systems Analysis and Design

Symantec Data Center Transformation

A Working Paper of the EastWest Institute Breakthrough Group. Increasing the Global Availability and Use of Secure ICT Products and Services

BCS Professional Certificate in Benefits Planning and Realisation Syllabus Version 1.3 December 2016

BCS Certificate in Requirements Engineering Extended Syllabus Version 2.5 May 2017

Course Information

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

Transcription:

Evaluation of Commercial Web Engineering Processes Andrew McDonald and Ray Welland Department of Computing Science, University of Glasgow, Glasgow, Scotland. G12 8QQ. {andrew, ray}@dcs.gla.ac.uk, http://www.dcs.gla.ac.uk/ Abstract. Over the past five years a small number of specific commercial processes and evolutions to traditional software engineering processes for Web Engineering have been proposed. The existing Web engineering literature focuses mainly on techniques and tools that underpin the process of building Web applications, with little or no focus on the commercial suitability of the Web Engineering processes themselves. Based on our experience and surveys of Web engineering in practice, we have defined a set of essential criteria to be addressed by a commercial Web engineering process. In this paper we present a systematic evaluation of a sample of commercial Web engineering processes against these criteria. None of the commercial Web engineering processes evaluated addresses all the identified criteria. Ultimately to address the criteria for a Web engineering process there is a need for a different type of process. 1 Introduction Our experience and that of others suggest that Web engineering requires different software development processes from traditional software engineering. From October until December 2000 we carried out a survey of commercial organisations involved in Web-based application development [1, 2]. Based on our personal experience, this survey and other surveys of Web engineering in practice, we have identified seven characteristics of Web engineering that we believe must be addressed by a Web engineering processes. These are support for: 1. Short development life-cycle times 2. Different business models (Business Process Re-engineering) 3. Multidisciplinary development teams 4. Small development teams working in parallel on similar tasks 5. Business Analysis and Evaluation with End-Users 6. Explicit Requirements and rigorous Testing against requirements 7. Maintenance Koch [3] in her comparative study paper identified several differences between the development of hypermedia systems and traditional software development. These included: different developer skills, taking into account aesthetic and cognitive aspects; augmented user role; and the more important role of the maintenance phase. She concluded in particular, some research is needed to improve and test methods that cover the complete life cycle of hypermedia applications and argued for better requirements capture and more focus on validation, verification and testing. N. Koch, P. Fraternali, and M. Wirsing (Eds.): ICWE 2004, LNCS 3140, pp. 166 170, 2004. Springer-Verlag Berlin Heidelberg 2004

Evaluation of Commercial Web Engineering Processes 167 2 Evaluating Commercial Web Engineering Processes Over the past five years a small number of specific processes and evolutions to traditional software engineering processes for Web Engineering have been proposed. Processes specifically for Web engineering include Collaborative Web Development [4] and Crystal Orange Web [5]. Evolutions to traditional software engineering process include extensions to OPEN [6] and to The Rational Unified Process [7]. This section provides a short introduction to each process, followed by a table describing our analysis of how each of the processes supports our criteria for Web engineering processes. Each process evaluated is given a rank against each of the criteria, points 1-7, listed above, indicating how strongly a particular process supports each criterion under the following scheme: none, weak, partial, strong or very strong. The Collaborative Web Development (CWD) process [4] is based on Burdman s extensive experience of developing Web-based applications. However, she comes from a technical and creative writing background and this is strongly reflected in the process she describes. The CWD process life-cycle is plan-driven, with four phases: Strategy ; Design and Specification ; Production ; and Testing and Launch. The communications model proposed is very hierarchical and appears rather heavyweight for Web-based applications. Table 1 describes our analysis of CWD s support for the criteria for a Web Engineering Process. Table 1. Collaborative Web Development s support for the Criteria for a Web Engineering Process 1. Partial CWD prohibits any changes being incorporated during the production phase without cost implications. This approach is only suitable within contracting projects with fixed requirements. 2. None No support for impact into business and domain models from the software model. 3. Partial CWD only supports the creative design and development roles, ignoring the business and domain experts. 4. Weak Team structure is the same regardless of the size of the project and there is no inter-team communication model for parallel development. 5. Weak There is some support for business analysis in the Strategy phase but a lack of explicit focus on Evaluation within CWD. 6. Weak The Design and Specification phase, combining requirements and design to produce a technical specification in CWD is known to be problematic [1, 2]. Conventional testing by development team only. 7. Partial CWD maintenance focus is on software and creative design models, ignores business and domain models. Crystal Orange Web (COW) [5] is part of a family of agile processes developed by Alistair Cockburn. Crystal processes are: people- and communication-centric ; intended for development teams that are collocated within the one building and are not designed for safety critical systems. Crystal methodologies should be adjusted to fit a particular setting and Crystal Orange Web is an application of the Crystal methodology used to deliver a Web-based application for ebucks.com. Table 2 describes our analysis of COW s support for our criteria.

168 A. McDonald and R. Welland Table 2. Crystal Orange Web support for the Criteria for a Web Engineering Process 1. Strong COW recommends two-week development cycles, with a further recommendation that each team must deliver something useful to the public every four weeks. 2. Weak COW encourages business owners to consider the business processes required for software failure or errors. However there is no explicit encouragement to discuss the potential benefits that may be derived by reengineering business processes. 3. Strong One of the objectives of COW is that ideally, the programmers, user interface designers, testers, business owners, marketing experts, et al. should sit in cross-functional teams. 4. Weak There is an absence of support for concurrent development in COW, although other Crystal processes show strong support for this criterion. 5. Weak Business analysis involves the business owner writing a business use case and a system use case brief. COW does not mention end-user involvement during the development life-cycle before live delivery of software. 6. Partial Requirements are supported by business analysts producing detailed use cases and data descriptions. COW emphasises support for testing by the developers. 7. Partial There is no mention of long term maintenance and evolution issues within COW, the focus is on rapid short-term evolutionary steps. Web OPEN is based on Object-oriented Process, Environment and Notation (OPEN) [8], an object-oriented process framework developed and maintained by over thirty five members of the OPEN Consortium. A recent paper [6] describes how OPEN can be extended to fully support the new demands of website construction and the delivery of business value on the Web. In assessing the suitability of Web OPEN we have considered the explicit extensions to the basic process [6] and also where the extended process depends upon the foundations of the OPEN process framework. Table 3 describes our analysis of Web OPEN against our criteria. There are extensions for Web application development with IBM s Rational Unified Process (RUP) [9], a well known plan-driven software process product which is widely used for the development of object-oriented systems. A Rational white paper [7] describes how the RUP can be extended for Web-based application development. This paper focuses particularly on the front-end of the lifecycle, and how to integrate the creative design process with the software engineering process of the Rational Unified Process. In assessing the suitability of the extended form of RUP we have considered the explicit extensions to the basic process [7] and also where the extended process depends upon the foundations of the RUP process. Table 4 describes our analysis of how the proposed extensions to RUP support the criteria for a Web Engineering Process. 3 Conclusions Using the criteria for the evaluation of Web engineering processes we have evaluated a number of commercial Web engineering processes using the available literature.

Evaluation of Commercial Web Engineering Processes 169 Table 3. Web OPEN support for the Criteria for a Web Engineering Process 1. Weak The OPEN framework requires process engineers to create a process instance particular to their project or organization. There is therefore a strong dependency on a skilled process engineer, Cockburn level 3 [5], to ensure that the process is sufficiently tailored to deal with the time-to-market pressures experienced in Web engineering. It is unlikely that most Web projects will have access to such a skilled process engineer. 2. Weak The Web OPEN process does not address impact from software model back into the business and domain models nor does it not mention business process re-engineering. The OPEN process framework does however provide a Phase within the Enterprise Lifecycle known as Business Reengineering. 3. Partial Web OPEN includes the creative design and developer roles but there is no mention of the business or domain expert roles. 4. None There is no mention of how teams are coordinated or work together within a large Web engineering project. 5. Partial The OPEN framework includes business modelling but it is not clear how this relates to business analysis. Web OPEN does not mention an Evaluation phase or the involvement of end-users during development. However, OPEN provides a number of work products for Usability Testing, although we could find no discussion of where, how or when these should be applied in Web development. 6. Strong OPEN provides a focus on requirements engineering and Web OPEN provides specific focus on testing through the Web Site Testing Task. 7. Strong There is explicit focus in Web OPEN on a new Activity known as Web Site Management dealing with the bringing together of all the issues regarding the development, maintenance and management of a corporate website which may or may not include access to back-end transaction processing systems Table 4. RUP and extensions support for the Criteria for a Web Engineering Process 1. Weak Process is too predictive and heavy weight, requiring the development of a Full Web User Interface prototype, (six documented deliverables), to be produced covering all use-cases, before the construction phase. Recommends re-use of use cases from previous Web projects to address time-to-market. 2. None The impact reflected within the process is from the business and domain model to the software and creative design models, as opposed to just the software model as in vanilla RUP. There is no mention of impact back into the business and domain models from the software model. 3. Partial Focus on the increased visibility of the creative design role when building Web solutions. There is explicit mention of a wider diversity of stakeholders required to build Web solutions than in traditional software engineering, but no integration of these roles into the development process. 4. Weak No mention of parallel activities or coordinating many small teams. 5. Partial RUP includes business modelling workflow before deriving software requirements. No explicit mention of evaluation with end-users or how to support this activity within the process. 6. Strong Explicit focus on capture of all types of requirements including functional (use case model) and non-functional, including those specifically relevant to the creative design model. The testing element is contained within vanilla RUP but there is no explicit mention of Web site testing. 7. Partial No explicit mention of maintenance issues. However a number of documented deliverables are produced within the creative design and software models. Our analysis shows that Crystal Orange Web is the only process that explicitly addresses the crucial criterion of short development life cycles. There is clearly a need

170 A. McDonald and R. Welland for stronger support for different business models and business process reengineering, reflecting impact back from the software model into the business and domain models. COW is the only process to incorporate the wide range of development roles required in Web engineering. None of the processes provide a mechanism to support scalability to a number of small teams working in parallel. There is a need for stronger focus on addressing the customer community view (endusers and those impacted by the project deliverables) within commercial Web engineering processes and particularly end-user participation throughout development and evaluation. With respect to requirements, testing and maintenance the extensions to traditional software engineering processes provide stronger support because of their software engineering process foundations. Our original motivation for doing this work was to identify criteria for Web engineering processes that would underpin our research in developing a new Web engineering process. Our work on the Agile Web Engineering (AWE) process has been described elsewhere [10]. However, we believe that these criteria for evaluating Web engineering processes are much more widely applicable. Further empirical evidence will either strengthen or modify our assessment of the essential criteria, which can then be used to evaluate other Web engineering processes, both commercial processes and those proposed by other researchers in the field. They can also be used as the starting point for further research into Web engineering processes. References 1. McDonald A. and Welland R. (2001) 'A Survey of Web Engineering in Practice', Department of Computing Science Technical Report TR-2001-79, University of Glasgow, Scotland, 01 March. 2. McDonald A. and Welland R. (2001) 'Web Engineering in Practice', Proceedings of the Fourth WWW10 Workshop on Web Engineering, Page(s): 21-30, 01 May. 3. Koch, N. A Comparative Study of Methods for Hypermedia Development, Technical Report 9905, Ludwig-Maximilians-Universität München, November 1999. 4. Burdman J., Collaborative Web Development: Strategies and Best Practices for Web Teams, Addison-Wesley, 1999, ISBN: 0201433311 5. Cockburn A., Agile Software Development, Pearson Education, Inc, Feb 2002, Page(s): 117, ISBN: 0201699699 6. Haire B., Henderson-Sellers B., and Lowe D., Supporting web development in the OPEN process: additional tasks, Proceedings of COMPSAC'2001: International Computer Software and Applications Conference, Chicago, Illinois, USA, October 8-12, 2001. 7. Ward S. and Kroll P., Building Web Solutions with the Rational Unified Process: Unifying the Creative Design Process and the Software Engineering Process, Rational Software Corporation, 1999, http://www.rational.com/media/whitepapers/76.pdf 8 Henderson-Sellers B., The OPEN Website, OPEN Consortium, Feb 2004, http://www.open.org.au/ 9. Kruchten P., The Rational Unified Process: An Introduction, Addison Wesley Longman, Inc., 2 nd ed. March 2000, ISBN: 0-201-70710-1 10. McDonald A. and Welland R. 'Agile Web Engineering (AWE) Process', Department of Computing Science Technical Report TR-2001-98, University of Glasgow, Scotland, December 2001.