Web Application Development Processes Re
Web Application Development Processes Re
Abstract: - Web applications have certain unique inherent characteristics that make Web application
development considerably different and possibly more difficult comparing to the traditional software
development. In this paper, we will demonstrate the critical requirements for the Web project development
process and check the suitability of the software development process models to meet the critical requirements for
the Web projects.
1 Introduction
Today, Web-based systems and applications provide a development process concerns the organization of the
complex range of varied contents and functions to a software development activity [4].
large number of heterogeneous users. With the Requirements play a critical role in the development
increase in the dependency on the Web-based systems process of the Web projects. There are consensus on
and applications, the importance of their performance, the importance and value of the defined requirements
reliability and quality have become very significant to meet the schedule, budget and quality [5]. At the
[1]. Consequently, the expectations and demands same time, there are problems in the concrete
placed on the Web applications have increased adaptation and use of available processes, elicitation
significantly over the years. On the other hand, the methods, notations and tools.
development, deployment and maintenance processes Web projects are significantly different from the
of the Web-based systems which have become more traditional software projects in several aspects which
and more complex and difficult to manage, have not influence the suitability of the conventional software
progressed at a sufficient rate to meet these demands development process models, which we will discuss in
and challenges [1]. next sections. Prior to that, the critical requirements
Even though a great number of projects, through a for the Web project development process which had
great amount of Web development work have been elicited from the literature review on Web
continued to take place, most of them are carried out applications development processes will be discussed.
in an ad hoc manner, resulting in poor quality Web
applications that are difficult to maintain and Web
projects that are not finished on time or within 2 Specifics Requirements for Web
budget[2]. The main reasons for such problems can be Project Development Process
traced to an inappropriate development process and There are many studies pertaining to the actual Web
design [3]. applications development processes [5], [6], [7], [8],
The Web project development process is a total set of [9]. Some of these studies show some general and
activities needed to transform the requirements of basic requirements on a development process, while
stakeholders into a Web application, and to carry out others revealed the underlying problems in the Web
the changes in those requirements in newer versions applications development that cannot be addressed by
of the Web application. The main goal of the current process models. In the next subsections, the
study will discuss the most important requirements of interoperability and integration of diverse components
the Web applications development process. These which were either developed internally or purchased
requirements are the main reason why the traditional from third parties. Therefore, usually the development
software development process model must be process of one Web application is not done in
customized to suit the needs of the Web application isolation from other Web development applications
development, or else they may not acceptable. within the organization itself. Commonly, a reusable
component is developed for a project in coordination
with other projects that will use this component.
2.1 Handling Short Development Cycles Furthermore, there are always advantages in
The fact found in several empirical studies is that the developing a common architecture for more than one
development time of Web applications is very short, Web applications [11].
usually not more than six months, and the average is In line with the growing integration of Web
less than three months [6], [7]. As the short applications with the customers’ business processes,
development cycle is so common for Web the need to integrate Web applications with the
applications, it is presumed to be the first requirement existing applications, or other Web applications under
in the Web application development process. development has also increased. As a result, the
development process has to be coordinated with the
desired results and the approaches used to achieve
2.2 Handling Changing Requirements them.
The Web project requirements are always subject to
change. Throughout and even after the development
of the application, the technical and organizational 3 Web project Development Process
constraints are constantly modified. This could be due The wide choice of different process models reflects
to the uncertain requirements at the beginning of the the large range of different software projects. The
development or modification of requirements after the well-known software development processes can be
system is completed. For this reason, the Web grouped into two categories:
applications are frequently referred as “moving 1. Lightweight Processes: It is better known as agile
targets” [5]. As a direct result of this inconsistent processes. They are suitable for smaller projects with
requirement, there is a need for a strong integration smaller development teams.
between the customer and the Web project 2. Heavyweight Processes: Heavyweight processes
development team. are particularly used for large teams with high
demands on the quality.
The terms “light” and “heavy” refer to the degree of
2.3 Parallel Development Process process formalization, for instance the number of
The strong competition has pressured the competitors documents and models created in the project. Web
to shorten the development cycle. With this sort of projects are significantly different from the traditional
time constraint, only parallel development projects software projects in several aspects which influence
can meet the requirements. This means, all the the suitability of the conventional software
methodological activities from design, development process models, which we will discuss in
implementation to quality assurance phases must be next sections
carried out concurrently. In most cases, a number of In the next subsections, the study will check the
small development team working on similar duties in suitability of the software development process
parallel [6], and this requires planning on staff models to meet the critical requirements for the Web
deployment. As such, high communication level is project development process. We will look at the
required in the Web project development. Rational Unified Process (RUP) as a representative of
the heavyweight, phase-oriented, and iterative process
models and Extreme Programming (XP) as an
2.4 Reuse and Integration example of lightweight, agile process model.
The enormous time pressure in Web application
development has driven developers to reuse as many
components as possible [10].This often involves the
3.1 Rational Unified Process (RUP) 2. Elaboration phase: In this phase, the developers
This section describes RUP as a representative of the analyze the requirement of the project in detail and
heavyweight, incremental, iterative, and phase- define its architectural foundation. The goal of this
oriented processes [12]. The key concept of RUP is to phase is to exclude the highest project risks to the
describe all the activities throughout the development widest possible extent to formulate a fixed price by
life cycle, including requirements elicitation, analysis, the end of this phase. This includes the selection of an
design, implementation, and testing phase. Since the optimal and expandable architecture as well as the
RUP activities can be overlapped and carried out in familiarization of the staff with the technologies to be
parallel, it is found to be different from the classical used.
waterfall process. There are four separate phases Since the first product version has to be built in an
within each of the activities in a development project, extremely short timeframe during the development
and each of these phases is organized in a number of cycle, the main concern is to calculate a fixed price to
separate iterations. Fig.1 shows the mentioned phases a well-defined product. Since the customers cannot be
and they are inception, elaboration, construction, and expected to be loyal to a single Website, with its
transition [13]. While they occur respectively, there competitors being just a mouse click away, it is
may iterate until the project is complete. difficult to predict the economic success of a Web
application than that of a traditional software product.
3. Construction phase: In this phase, the developers
emphasize on completing the analysis, performing the
majority of the design and implementing the system.
Fig.1: The four phases of the Rational Unified This means that the product is built by implementing
Process [13] all the components and integrating them into one
product. The main challenge here is the question of
RUP can be considered as an iterative process and the whether there could be one point of time where all the
iterative characteristic within a phase is subject to the components are completed since they are being
objectives of that phase. For example, in the early handled in parallel by a team of people with different
iteration it can develop a prototype of the project capabilities.
under development. The prototype is used to identify 4. Transition phase: The developers, in this phase,
the requirements of customers and users. On the other deliver the system to the users by incorporating the
hand, several iterations in the elaboration phase are product with the user environment. This phase can be
scheduled to usually implement fractions of the very straightforward if it is possible to simply replace
architecture; however, without a complete job. an existing application with a new one. However,
To investigate whether the RUP can achieve the unlike the traditional software, the distribution to
desired goal in Web application development projects, users happens through the Web’s architecture.
the study have to assess the four phases based on Besides, there is usually no user training required.
Kruchten’s findings[12]:
Inception phase: During the inception phase, the
developers define the scope of the project and 3.2 Extreme Programming (XP)
business case of the system. The goal of this phase is XP represents the agile iterative processes.
to develop a common vision of the final product by Alternatively, the study could use other agile
cooperating with the customer and future users. The processes such as Scrum [14], Adaptive Software
definition of the first phase is tricky for Web project Development (ASD)[15], Feature Driven
development since the requirements of the target Development [16], or Crystal Clear [17] in our
groups are unknown at the beginning of the project. research. XP was selected merely because it is very
Moreover, these requirements change continuously, common.
causing the vision of the Web application to evolve Agile processes are created on the iterative
continuously, even when the Web application may development basis. They use feedbacks, rather than
already be in use. Research to fix the vision planning as their major control procedure. The
beforehand takes a long time and it is costly. There is feedback is driven by normal tests and advanced
also a risk of the vision becoming outdated by the versions of the software. XP projects have four core
time the product is completed. values:
1. Communication: The goal is to provide all problem only[18]. In such scenario, it might be better
developers with a common vision of the system that to select
matches the clients. processes designed especially for the development of
2. Simplicity: Encourages beginning with the easiest reusable software than XP in particular or agile
solution and building it again to improve it further. XP models in general.
project concentrates on coding and designing that are
required today instead of those of tomorrow.
3. Feedback: Guides the project throughout the way. 4 Conclusion
Within XP, feedback is required and used at various In short, the literature on software development
phases of the development. The main objective of this processes, which searches for the ideal solution for
core value is to prevent problems at the earliest developing Web applications, has illustrated that there
possible point during the development process. is no single process studied in this section, which is
4. Courage: means that developers, managers, and able to meet all the requirements. Since the
customers should be brave enough to try new characteristics of Web application are different from
approaches and ideas. those in traditional software, the software
Pair programming is the best characteristics of XP development process models should adopt and adapt
model and it is based on the belief that two individuals the best method to meet the needs of the Web
could see more than a single person, and being side- application development. Therefore, it is extremely
by-side, they can expand their ideas better than an important that Web application developers understand
individual who does it alone. The quality increase the typical Web application characteristics that may
achieved by this approach substitutes the extra cost. influence the Web applications development process.
Moreover, this approach ensures that the On the other hand, the development that uses the
communication principle is anchored in the process lightweight responsive process is recommended when
and its knowledge is distributed throughout the team. a Web application has a lower complexity level, while
To investigate whether an XP model can achieve its a highly reliable heavyweight process is
desired objective in Web application development recommended if the Web project is aimed at reaching
projects, the study will discuss how XP model can a higher complexity level.
meet the defined requirements for Web project References:
development process.
1. Handling short development cycles: XP and other
agile process models meet this requirement [1] Lee, S. C., and Shirani, A. I. A Component Based
completely since the highly successive releases are Methodology for Web Application Development.
one of the characteristics of XP projects. Iterations Journal of Systems and Software, 71(1−2), 2004,
also allow to structure the short development cycles. pp.177−187.
2. Handling changing requirements: The simplicity [2] Murugesan, S., and Deshpande, Y. Meeting the
is one of the core values of XP, which means that any Challenges of Web Application Development:
requirement for tomorrow’s need is rejected. Instead, The Web Engineering Approach. Proceedings of
the close integration with the customers, combined the 24th International Conference on Software
with a rapid delivery of results, allows development Engineering. USA: ACM. 2002,pp.687−688.
and continuous requirement adaption. [3] Ginige, A. Web Engineering: Managing the
3. Parallel development of different releases: XP Complexity of Web Systems Development.
does not fundamentally exclude the parallel Proceedings of the 14th International Conference
development of different releases, because no XP on Software Engineering and Knowledge
project uses a cautious way of working. Engineering. USA: ACM. 2002, pp. 721−729.
4. Reuse and integration: The integration of the [4] Mayr, H. Web Project Management. In: G.
existing components requires a methodological Kappel, B. Proll, S. Reich, and W.
support rather than support by the process itself. Retschitzegger (eds.). Web Engineering: The
However, it should be reminded that this approach Discipline of Systematic Development of Web
might be a challenge to achieve, because XP Applications. USA: John Wiley & Sons, 2006,
processes are mostly selected to solve a specific single pp. 171–195.
[5] Shklar, L., and Rosen, R. Web Application [6] McDonald, A., Welland, R. Web Engineering in
Architecture: Principles, Protocols and Practices. Practice. Proceedings of the 4th Workshop on
USA: John Wiley & Sons, 2003. Web Engineering. Hong Kong, 2001, pp.21-31.
[7] McDonald, A., Welland, R. A Survey of Web Software Process: Improvement and Practice.
Engineering in Practice. Scotland: University of 12(1), 2007, pp. 81-100.
Glasgow. Technical Report, R-2001-79. [15] Kessler, R., and Dykman, N. Integrating
[8] Lowe, D. Characterisation of Web Projects.
Traditional and Agile Processes in the
Proceedings of the 8th Australian World Wide
Web Conference (AusWeb 2002). Sunshine Classroom. Proceedings of the 38th Technical
Coast. Australia, 2002,pp. 58-68. Symposium on Computer Science Education
[9] Brambilla, M., Ceri, S., Fraternali, P., and (SIGCSE 2007). USA: ACM, 2007, pp. 312-
Manolescu, I. Process Modeling in Web 316.
Applications. ACM Transactions on Software [16] Trujillo, S., Batory, D.,and Diaz, O. Feature
Engineering and Methodology (TOSEM). 15(4), Oriented Model Driven Development: A Case
2006, pp.360-409.
Study for Portlets. Proceedings of the 29th
[10] Ramesh, B., Pries-Heje, J., and Baskerville, R.
Internet Software Engineering: A Different Class international conference on Software
of Processes. Annals of Software Engineering. Engineering. USA: ACM, 2007, pp. 44-53.
14(1–4), 2002, pp. 169–195. [17] Mattsson, M. K. Problems in Agile Trenches.
[11] Rossi, G., Pastor, O., Schwabe, D., and Olsina, L. Proceedings of the Second ACM-IEEE
(2008). Web Engineering: Modelling and International Symposium on Empirical
Implementing Web Applications. UK: Springer-
Software Engineering and Measurement.
Verlag, 2008.
Germany: ACM. 2008, pp. 111-119.
[12] Kruchten, P. The Rational Unified Process: An
Introduction. USA: Addison Wesley, 2003. [18] Turk, D., France, R., and Rumpe, B. Limitations
[13] Hunt, J. The Unified Process for Practitioners: of Agile Software Processes. Proceedings of
Object Oriented Design, UML and Java. USA: the 3rd International Conference on Extreme
Springer-Verlag, 2000. Programming and Flexible Processes in
[14] Salo, O., and Abrahamsson, P. An Iterative Software Engineering (XP2002). Alghero, Italy,
Improvement Process for Agile Development. 2002, pp. 43-46.