ebook img

McDonald, Andrew Gregory (2004) The Agile Web Engineering PDF

214 Pages·2013·25.55 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview McDonald, Andrew Gregory (2004) The Agile Web Engineering

McDonald, Andrew Gregory (2004) The Agile Web Engineering (AWE) process. PhD thesis http://theses.gla.ac.uk/4065/ Copyright and moral rights for this thesis are retained by the author A copy can be downloaded for personal non-commercial research or study, without prior permission or charge This thesis cannot be reproduced or quoted extensively from without first obtaining permission in writing from the Author The content must not be changed in any way or sold commercially in any format or medium without the formal permission of the Author When referring to this work, full bibliographic details including the author, title, awarding institution and date of the thesis must be given Glasgow Theses Service http://theses.gla.ac.uk/ [email protected] The Agile Web Engineering (AWE) Process Andrew Gregory McDonald Submitted for the Degree of Doctor of Philosophy University of Glasgow Department of Computing Science August 2004 Copyright ~ 1999-2004 Andrew Gregory McDonald Page 2 of212 Abstract During the late 1990s commerce and academia voiced major concerns about the problems with development processes for Web Engineering. These concerns primarily centred upon the perceived chaotic and 'ad-hoc' approach to developing Web-based applications in extremely short time-scales when compared to traditional software development. Based on personal experience, conducting a survey of current practice, and collecting supporting evidence from the literature, I proposed a set of seven criteria that need to be addressed by a successful Web engineering process: 1. Short development life-cycle times; 2. Delivery of bespoke solutions and different business models; 3. Multidisciplinary development teams; 4. Small development teams working in parallel on similar tasks; 5. Business analysis and evaluation with end-users; 6. Requirements capture and rigorous testing; 7. Maintenance (evolution) of Web-based applications. These seven criteria are discussed in detail and the relevance of each to Web engineering is justified. They are then used to provide a framework to assess the suitability of a representative sample of well-known software engineering processes for Web engineering. The software engineering processes assessed comprise: the Unified Software Development Process; Dynamic Systems Development Method; and eXtreme Programming. These seven criteria were also used to motivate the definition of the Agile Web Engineering (AWE) process. A WE is based on the principles given in the Agile Manifesto and is specifically designed to address the major issues in Web Engineering, listed above. A number of other processes for Web Engineering have been proposed and a sample of these is systematically compared against the criteria given above. The Web engineering processes assessed are: Collaborative Web Development; Crystal Orange Web; Extensions to the Rational Unified Process; and Web OPEN. In order to assess the practical application of A WE, two commercial pilot projects were carried out in a Fortune 500 financial service sector company. The first commercial pilot of A WE increased end-user task completion on a retail Internet banking application from 47% to 79%. The second commercial pilot of A WE used by an Intranet development team won the company's global technology prize for 'value add' for 2003. In order to assess the effect of AWE within the company three surveys were carried out: an initial survey to establish current development practice within the company and two further surveys, one after each of the pilot projects. Despite the success of both pilots, AWE was not officially adopted by the company for Web based projects. My surveys showed that this was primarily because there are significant cultural hurdles and organisational inertia to adopting different process approaches for different types of software development activity within the company. If other large companies, similar to the one discussed in this dissertation, are to adopt AWE, or other processes specific to Web engineering, then many will have to change their corporate goal of a one size fits all process approach for all software technology projects. Page 3 of212 Table of Contents Introduction -------------------------------------------------------------------------------------------9 1.1 Thesis Statement -------------------------------------------------------------------------------9 1.2 Research Method ------------------------------------------------------------------------------10 1.3 Overview----------------------------------------------------------------------------------------11 1.4 Research Contribution------------------------------------------------------------------------12 2 The Role of Process in Software Engineering and Web Engineering ---------------------14 2.1 A Working Definition of Process ---------------------------------------------------------14 2.2 A Working Description of Process -------------------------------------------------------16 2.3 Summary ---------------------------------------------------------------------------------------17 3 Characteristics of Web Engineering Projects-------------------------------------------------18 3.1 The Hunterian Museum and Art Gallery (HMAG) Web Site ------------------------19 3.2 The 1999 Web Site: Glasgow UK. City of Architecture and Design---------------21 3.3 The First Survey of Web Engineering in Practice ------------------------------------24 3.4 The Criteria for a Web Engineering Process-------------------------------------------31 3.5 Other Surveys of Web Engineering in Practice ----------------------------------------33 3.6 Summary ---------------------------------------------------------------------------------------34 4 The Criteria for a Web Engineering Process --------------------------------------------------35 4.1 Short Development Life-Cycle Times -------------------------------------------------36 4.2 Different Business Models ---------------------------------------------------------------36 4.3 Multidisciplinary Development Teams -----------------------------------------------40 4.4 Small Development Teams Working in Parallel on Similar Tasks------------------41 4.5 Analysis and Evaluation ------------------------------------------------------------------41 4.6 Requirements and Testing -----------------------------------------------------------------44 4. 7 Maintenance-----------------------------------------------------------------------------------45 4.8 Summary----------------------------------------------------------------------------------------46 5 Traditional Software Engineering Processes Support for Web Engineering ------------47 5.1 The Unified Software Development Process (USD)--------------------------49 5.2 Dynamic Systems Development Method (DSDM)--------------------------54 5.3 eXtreme Programming (XP) ------------------------------------------60 5.4 Summary ----------------------------------------------------------------65 6 Agile Web Engineering (AWE) Process -------------------------------------67 6.1 Requirements for an Agile Process ----------------------------------67 6.2 Derivation of the AWE Process ----------------------------------------------------69 6.3 AWE: Process Life-cycle and Phases -------------------------------------------------70 6.4 AWE: Deliverables ------------------------------------------------------------------------80 6.5 AWE: Activities ---------------------------------------------------------------------82 6.6 AWE: Roles ----------------------------------------------------------------------------85 6.7 AWE: Tools and Techniques ---------------------------------------88 6.8 A WE: Support for the Criteria for a Web Engineering Process ---------------90 6.9 How Agile is AWE? -------------------------------------------------------------91 6.10 Summary ----------------------------------------------------------------------------95 7 Other Web Engineering Processes Support for the Criteria -----------------------97 7.1 Collaborative Web Development (CWO) -------------------------------98 7.2 Crystal Orange Web (COW)------------------------------------l04 7.3 Extensions to the Rational Unified Process (Extended RUP) --------- 109 7.4 Extensions to OPEN (Web OPEN)-------------- ------- 114 7.5 Summary-------------------------------------- ----- 118 8 Developing Web Applications in a Fortune 500 Financial Service Sector Company 120 8.1 In-house Process Support for the Criteria for a Web Engineering Process --- 120 8.2 Pre-AWE Pilot Survey---------------------------- -------------- 126 8.3 Summary ---------------------------------------------------- 129 9 A WE's First Commercial Pilot-------------------------------------------- 131 Page 4 of212 9.1 Evolving and Maintaining a Retail Internet Banking Application ---------------- 131 9 .2 Post-AWE Pilot Survey -------------------------------------------------------------------- 135 9.3 Is the AWE Process Suitable for this Company? ------------------------------------- 142 9.4 Summary-------------------------------------------------------------------------------------- 147 10 A WE's Second Commercial Usage ------------------------------------------------------------ 149 10.1 Using AWE on an Identity Management Intranet Stream -------------------------- 150 10.2 Impressions upon an Intranet Development Team ----------------------------------- 152 10.3 Summary -------------------------------------------------------------------------------------- 157 11 Conclusions ----------------------------------------------------------------------------------------- 158 11.1 Research Question 1------------------------------------------------------------------------ 158 11.2 Research Question 2 ------------------------------------------------------------------------ 158 11.3 Research Question 3 ----------------------------------------------------------------------- 159 11.4 Re~earch Question 4 --------------------------------------------------------------------- 159 11.5 Further Work ------------------------------------------------------------------------------- 161 Appendix 1: First Survey of Web Engineering in Practice: Contractors' Questions & Answers ---------------------------------------------------------------------------------------- 162 Appendix 2: First Survey of Web Engineering in Practice: Outsourcers' Questions & Answers ------------------------------------------------------------------------------------- 171 Appendix 3: First Survey of Web Engineering in Practice: In-house Questions & Answers ----------------------------------------------------------------------------------------- 175 Appendix 4: The Agile Manifesto--------------------------------------------------------- 179 Appendix 5: Principles behind the Agile Manifesto --------------------------------------- 180 Appendix 6: Pre-AWE Pilot: Questions--------------------------------------------------------- 181 Appendix 7: Post-AWE Pilot Survey: Questions & Answers------------------------------ 182 Appendix 8: Survey of an Intranet Development Team: Questions & Answers --------- 190 Glossary ---------------------------------------------------------------------------------------------------- 197 References------------------------------------------------------------------------------------------------ 200 Index ------------------------------------------------------------------------------------------------------- 211 Page 5 of212 List of Tables Table 1. Summary of software engineering experimental approaches. Reproduced from Zelkowitz and Wallace (1998) ............................................................................................... 11 Table 2. Description of the Elements Used to Provide a Brief Overview of a Process ......... 17 Table 3. The Criteria for a Web Engineering Process ............................................................ 48 Table 4. USD Support for the Criteria for a Web Engineering Proces .................................. 54 Table 5. DSDM Support for the Criteria for a Web Engineering Process ............................. 60 Table 6. XP Support for the Criteria for a Web Engineering Process .................................... 65 Table 7. Summary ofUSD, DSDM and XP Support for the Criteria for a Web Engineering Process ................................................................................................................................... 66 Table 8. AWE Support for the Criteria for a Web Engineering Process ................................ 91 Table 9. Ideal Agile Process Model. Reproduced from Visconti and Cook (2004, p. 435) ... 91 Table 10. Ideal Agile Process Model-Mapping of practices for XP and Serum. Reproduced from Visconti and Cook (2004, p. 438) ................................................................................. 93 Table 11. Ideal Agile Process Model - Mapping of Practices for AWE ............................... 95 Table 12. The Criteria for a Web Engineering Process .......................................................... 97 Table 13. CWD's Support for the Criteria for a Web Engineering Process ......................... 104 Table 14. COW's Support for the Criteria for a Web Engineering Process ......................... 109 Table 15. Extended RUP Support for the Criteria for a Web Engineering Process ............. 114 Table 16. Levels of Software Method Understanding and Use (after Cockburn). Reproduced from Boehm and Turner (2003a) ......................................................................................... 115 Table 17. Web OPEN Support for the Criteria for a Web Engineering Process .................. 118 Table 18. Summary ofCWD, COW, Extended RUP and Web OPEN Support for the Criteria for a Web Engineering Process ............................................................................................ 118 Table 19. The Criteria for a Web Engineering Process ........................................................ 120 Table 20. In-house Process Support for the Criteria for a Web Engineering Process. ......... 126 Table 21. Results of the First and Second Set of Think Aloud Evaluations ........................ 133 Table 22. Levels of Software Method Understanding and Use (after Cockburn). Reproduced from Boehm and Turner (2003a) ......................................................................................... 144 Page 6 of212 List of Figures Figure 1. The HMAG Captain Cook Web Page ..................................................................... 20 Figure 2. Glasgow 1999: UK. City of Architecture and Design Festival Web site -The 'Good Buy Girl' exhibition ............................................................................................................... 22 Figure 3. Impact Exerted by the Software, Business and Domain Models Upon Each Other in Traditional Software Engineering Processes .......................................................................... 38 Figure 4. Impact Exerted by the Software, Business, Domain and Creative Design Models Upon Each Other in Web Engineering ................................................................................... 39 Figure 5. The Conventional Customer Community View in Processes for Traditional Software Development ........................................................................................................... 42 Figure 6. The Required Customer Community View in Processes for Internet Web-based Development .......................................................................................................................... 43 Figure 7. The Required Customer Community View in Processes for Intranet Web-based Development .......................................................................................................................... 44 Figure 8. The Required Customer Community View in Processes for Extranet Web-based Development .......................................................................................................................... 44 Figure 9. USD, DSDM and XP's Position on the Software Engineering Process Spectrum. 49 Figure 10. Models of the Unified Process. There are dependencies between many of the models. As an example, the dependencies between the use-case model and the other models are indicated. Reproduced from Jacobson, Booch and Rumbaugh (1999, p. 10) .................. 51 Figure 11. The DSDM Development Process. Reproduced from Stapleton (1997, p.3) ....... 56 Figure 12. XP Practices Support for Each Other. Reproduced from Beck (2000, p. 70) ....... 63 Figure 13. The AWE Process Life-cycle ............................................................................... 71 Figure 14. A Typical Iteration of the AWE Process Life-cycle ............................................. 73 Figure 15. An Iteration of the AWE Process Life-cycle with an Evaluation Phase ............... 73 Figure 16. A WE Process Life-cycle showing the Phases Involved in the Creation of a Test Plan. ........................................................................................................................................ 77 Figure 17. A WE Process Life-cycle showing the Phases Involved in the Creation of an Evaluation Plan ...................................................................................................................... 78 Figure 18. Life-cycle Phases Used to Enter the AWE Process .............................................. 79 Figure 19. N-tier Architecture showing Placement of Web-based Software Infrastructure Components with Reference to J2EE and .NET .................................................................... 82 Figure 20. The AWE Process Sphere of Influence ................................................................ 83 Figure 21. AWE Communication Channels on Large Web Projects ..................................... 85 Figure 22. Evaluation Criteria and Technique Evaluation Stages on an Iterative and Incremental AWE Project Life-cycle ..................................................................................... 89 Figure 23. The CWO Web Project Development Life-cycle and Phases. Reproduced from Burdman(1999,p.51) ........................................................................................................... 99 Figure 24. The Chain of Communication on a CWO Project Team. Reproduced from Burdman (1999, p. 80) ......................................................................................................... 102 Figure 25. The CWD Publishing Process or 'Flow of Content' on Large-Scale Web Site or Intranet Project. Reproduced from Burdman (1999, p. 119) ................................................ 102 Figure 26. Integrating the Creative Design Process and the Rational Unified Process. Reproduced from Ward and Kroll (1999) ............................................................................ 111 Figure 27. In-house Company Business Project Process and Technology Development Process. Reproduced from In-house Documentation ........................................................... 121 Figure 28. Overview of In-house Technology Development Process Phases and Associated Tasks. Reproduced from In-house Documentation .............................................................. 122 Figure 29. Technology Development Process Phases, Approval and Review Groups. Reproduced from In-house documentation, (key on the top added by the author) .............. 124 Figure 30. Home Ground Polar Chart. Reproduced from Boehm and Turner (2003a) ........ 142 Figure 31. Home Ground Polar Chart for a Typical Project and a Web-based Project ....... 146 Page 7 of212 Acknowledgements First and foremost I would like to thank my Mother (Kay McDonald), Father (Andrew McDonald) and my supervisor (Prof. Ray Welland), whose support, encouragement, guidance and tolerance made completing this dissertation possible. There are a small number of other individuals I would like to thank for assisting me during my research. Their names appear in no particular order: Jack Gibson, Andrew Massey, Huw Evans, Jim Devine, Noel Winstanley, Ted Cowan, Matthew Chalmers, Malcolm Atkinson, Alan Radcliffe, Alistair Hutton, Derek Gott, Paul Smith, Stuart Low, John Wilson, Richard Wilson, Marcia McDonald, Eva McDonald, Hugh Clarke, Hugh Maguire, Tracey Connor and Gerry Hodgett. In addition to the individuals who assisted with the research, thanks also goes to the individuals within the companies and organisations that participated in the surveys presented within this dissertation. In particular I would like to pay special thanks to the financial services company that employed me during my Ph.D. Internship. Page 8 of212 Declaration I hereby declare that this thesis has been composed by myself (Andrew McDonald), that the work herein is my own except where otherwise stated, and that the work presented has not been presented for any university degree before. The author's original work presented in this dissertation has formed the basis of a number of publications (McDonald & Welland 2001a, McDonald & Well and 2001b, McDonald & Welland 2001c, McDonald & Welland 2002, McDonald & Well and 2003, McDonald & WeIland 2004a and McDonald & WeIland 2004b) that have been co-authored with my supervisor Prof. Ray WeIland. SIGNED: _____________ DATE: _______ Page 9 of212 1 Introduction The growth of the World Wide Web (WWW) over the past decade has been phenomenal. The dramatic impact the WWW has had on business and society over the past ten years has forced a number of radical paradigm shifts in the way business and society function. In many countries the education, entertainment, financial services, health care and government sectors all now depend upon the functioning of Web-based systems as part of their primary operations. Spending on Internet, Intranet and Extranet applications has become a multi billion pound global industry, with estimated spending on e-business initiatives in 2001 averaging 17% of companies' IT budgets in the United States of America (Rubin and Butler 2003, p.200). Revenues from business to business (B2B) e-commerce sales in the United States of America alone are estimated to be over one trillion US dollars during 2004 (Rubin and Butler 2003, p.166). The sums of resources used to develop Web-based applications and the monies passing through these applications are growing in significance. Despite the critical role played by Web-based applications in many areas of modem society, a number of indicative reports McDonald & We11and (2001a), McDonald and Welland (2001b), Barry & Lang (2001), Lowe and Eklund (2002), Taylor et al. (2002a), Taylor et al. (2002b) and Zhou and StAlhane (2004) have emerged in the literature illuminating the ad-hoc and chaotic manner in which Web-based applications are being developed in practice. During the late 1990s a number of software engineers expressed major concerns about the way Web-based applications were being developed (Pressman et al. 1998), which helped to give rise to the birth of the Web engineering community (Murugesan et a1. 1998). These concerns are highlighted by the somewhat unusual characteristics that describe Web application development in comparison to traditional software development, and the seemingly poor suitability of traditional software engineering approaches and techniques to the development of Web-based systems (Pressman 2000a). The following quote from one of the earliest Web engineering papers (Murugesan et al. 2001) serves as a "broad objective" of this subject area: Web engineering is the establishment and use of sound scientific, engineering and management principles and disciplined and systematic approaches to the successful development, deployment and maintenance of high quality Web based systems and applications. Murugesan et a1. (2001) list a number of characteristics that differentiate traditional software development from Web-based development. These include the Web's legacy as an information medium rather than an application medium and the evolutionary nature of Web based applications. Deshpande and Hansen (2001) argue that Web engineering requires influence from a wide variety of disciplines in addition to software engineering, information engineering and computing science. Murugesan et a1. (2001) present the argument that Web engineering requires a process, to address the multidisciplinary nature of Web engineering (Deshpande, Murugesan & Hansen 200 1). The following four sections of this chapter comprise the thesis statement, the research methods employed, a dissertation overview and the research contribution presented within this dissertation. 1.1 Thesis Statement My hypothesis is that developing Web-based applications (Web Engineering) has specific characteristics that differ from those normally assumed for software development processes. Therefore, a different type of development process is required for Web engineering.

Description:
The software engineering processes assessed comprise: the Unified Software Development .. Reproduced from Jacobson, Booch and Rumbaugh (1999, p.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.