Agile Software
Agile Software
Agile Software
ISSN : 0975-5462
455
Dr. Adel Hamdan Mohammad et al. / International Journal of Engineering Science and Technology (IJEST)
methodologies propose that agile methods are flourishing and appropriate for many situations and
circumstances. [2, 3, 6, 7, 8, 9, 10]
Taking in consideration the increasing change and ambiguity in most software systems would lead to search for
a process or methodologies that can deal with such circumstances. No doubt that agile methodology has the
capability to deal with such change. [6, 7, 8, 9, 10]
This paper is organized as follows. In the next section, we review relevant literature; section three demonstrates
agile approach, section four is about agile methodologies strength and weakness. The last segment of this paper
presents our conclusion.
2- Previous Study
F. Maurer [11] studied the development of a web based system by nine full time employees in a small company
that used XP and observed substantial productivity gains compared to their pre-XP timeframe.
Marchesi and Succi [12] demonstrate that there is increasing evidence that Agile Methodologies (AMs) have the
potential to improve significantly the way software is produced.
Cho [13] demonstrated that in contrast to traditional SDLC, the Agile SDLC avoids up-front requirement
gathering as stakeholders often could not provide all requirements in sufficient details for implementation to
occur at the beginning of a project.
Vijayasarathy [14] in his research said that although agile methodologies are better than traditional
methodologies in many aspects, several difficulties are still there when it comes to practice. One among these is
that agile methods significantly reduce the amount of documentation, and even claim that the code itself should
act as a document.
An analytical study done by Tan [15] found confirmation of staffing stability and design compatibility that
influence the success of software projects that use iterative or incremental development. The basic idea behind
iterative development is to develop a software system incrementally, allowing the developer to take advantage
of what was learnt during the development of earlier deliverable versions of the system. Therefore, iterative and
incremental software developments are viewed as the keystone of the agile methodologies.
Uikey [16] in his research demonstrate that the informal communication among stakeholders and developers
sometimes raises problems such as inability to cope with system complexity and rapidly changing requirements,
or inability to add new members to the development team.
Morkel [3] examined in his research the adaptability of agile methodologies to software development standard
laid by ISO. Also he said that Extreme Programming XP is used as main representative of different agile
methodologies.
Aladwani [4] made an attempt to authenticate and integrate performance model of information system IS. In this
research authors demonstrate that information systems project performance depends on six categories of
variables. Also he said that information system project performance must consider the social context within
which IS projects operates.
Demarco [5] in his research talked about Extreme Programming XP and demonstrated how XP create more
much interest since it offers some fundamental alternative to traditional software engineering principles.
Steve [6] in his article talked about ongoing shift in which software is made from inhouse development to be
ready to install products. Also he said that installation consists of several detailed analysis issues. In the
traditional systems development life cycle (SDLC), analysis issues handled in the first stages, as part of the
requirements analysis stage. In the market model of SDLC, detailed analysis comes after purchase. It is only
during installation that users become deeply involved in the first time in assessing how the software meets their
needs.
Wolfgang [7] in his research demonstrated that the support of software quality in a software development
process depends on two points: the first point is providing some techniques that support the development of high
quality software. The second point is providing techniques that assure the important quality attributes.
James [8] in his research demonstrates that Extreme programming XP is one of the most discussed subjects in
the software development community. Also in this research authors show that XP uses a set of practices to build
a successful software team that produce quality software.
Juyun Cho in [17] his research said that agile has several benefits but organization refuse to jump to agile
methodologies for several reasons: 1) agile methods significantly reduce the amount of documentation and rely
heavily on tacit knowledge, 2) agile methods have not been sufficiently tested for mission/safety-critical
projects, 3) agile methods are not adequate for highly stable projects, 4) agile methods can be successful only
with talented individuals who favor many degrees of freedom, and 5) agile methods are not appropriate for
large-scale projects.
ISSN : 0975-5462
456
Dr. Adel Hamdan Mohammad et al. / International Journal of Engineering Science and Technology (IJEST)
3- Agile Approach
Traditional or conventional methods are still used in large-scale projects particularly in industry. The reason for
using traditional methods comes from their straightforward philosophy [18]. And its ability to provide
predictability, constancy, and assurance. [19].
Agile software development (ASD) is relatively a new term used in software engineering. Agile processes or
agile methodologies actually represent a new approach for planning and managing software projects. In spite of
ASD which represents new methodologies in software development it is based on some existed philosophies
and theories which both are inspired from the field of software engineering [12, 14, 18, 19].
Agile development processes have been analyzed from several experts and researchers. According to some
researchers ASD is mainly focusing on four aspects: [1]
1. Agile development is nothing new, such practices have been in place in software development since2 the
1960s [20].
2. The lack of focus on architecture is bound to engender suboptimal design-decisions [21].
3. The practices in XP are rarely applicable [22].
4. Agile development methods are suitable for small teams, but for larger projects, other processes become more
appropriate [23].
Nowadays; agile methodologies is one of the most important rising methodologies in software engineering. No
doubt, that there is a high speed changing in market. This change enforces producers of software to take care of
several required and not required features. Also new emergent issues required that producers have to answer
several questions such as how companies can differentiate themselves? What technology must be used? Which
type of technology can survive? To answer these questions companies must have different visions for the future
and flexible methodologies. Taking in consideration that from hardware and software perspectives making long
term prediction is unachievable.
By saying that agile development methodologies are based on the reality of rapidly change of todays market.
And taking in consideration that agile philosophy can deal with emergent issues which can appear rapidly in
market environment, tools, and technologies. All these benefits and encouraged features which are a result of
agile methodologies introduced through four basic values: [8, 9, 24, 25, 26]
Individuals and interactions over processes and tools.
ISSN : 0975-5462
457
Dr. Adel Hamdan Mohammad et al. / International Journal of Engineering Science and Technology (IJEST)
ISSN : 0975-5462
458
Dr. Adel Hamdan Mohammad et al. / International Journal of Engineering Science and Technology (IJEST)
found that there is a strength point which may be converted to weakness under some situations such as customer
interaction.
Acknowledgment
The authors are grateful to the World Islamic Sciences and Education University, Amman-Jordan, for the
financial support granted to cover the publication fee of this research article.
References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
[29]
[30]
[31]
[32]
[33]
[34]
[35]
[36]
Kuda Nageswara Rao, A Study of the Agile Software Development Methods, Applicability and Implications in Industry, International
Journal of Software Engineering and Its Applications Vol. 5 No. 2, April, 2011
M. A. Awad , A Comparison between Agile and Traditional Software Development Methodologies , This report is submitted as
partial fulfillment of the requirements for the Honours Programme of the School of Computer Science and software Engineering, The
University of Western Australia, 2005
W.H. Morkel Theunissen, Derrick G. Kourie and Bruce W. Watson, Standards and Agile Software Development, Proceedings of
SAICSIT, Pages 178188, 2003
Adel M. Aladwani, Journal of Management Information Systems /, Vol. 19, No. 1, pp. 185210, Summer 2002.
Tom Demarco, XP is the most important movement in our field today", IEEE computing and control engineering, June/July 2003.
Steve Sawyer, Information System Development, Communications of the ACM /Vol. 44, No. 11, page 97-102, November 2001.
Wolfgang Zuser, Stefan Heil, Thomas Grechenig, Software Quality Development and Assurance in RUP, MSF and XP - A
Comparative Study, St Louis, Missouri, USA. ACM, 2005
James Newkirk, Introduction to agile processes and extreme programming, Orlando, Florida, ACM, 2005.
The Manifesto for Agile Software Development; http://agilemanifesto.org/;
Richard Turner, Barry Boehm, People Factors in Software Management: Lessons From Comparing Agile and Plan-Driven Methods,
The Journal of Defense Software Engineering, 2003
F. Maurer and S. Martel, "Extreme Programming: Rapid Development for Web-Based Applications", IEEE Internet Computing, 6(1),
pp. 86-91, Jan/Feb 2002.
Marchesi and Succi, 2002 Proceeding of the 3rd International Conference on eXtreme Programming and Flexible Processes in
Software Engineering (XP2002)
Cho, Juyun. Issues and Challenges of agile software development with SCRUM. Issues in Information System. VOL IX, No. 2. 2008.
Vijayasarathy, Leo R. Agile Software Development: A survey of early adopters. Journal of Information Technology Management
Volume XIX, Number 2. 2008.
Tan, T., et al., Productivity trends in incremental and iterative software development, in Proceedings of the 2009 3rd International
Symposium on Empirical Software Engineering and Measurement. 2009, IEEE Computer Society. p. 1-10.
Uikey, N., U. Suman, and A.K. Ramani, A Documented Approach in Agile Software Development.International Journal of Software
Engineering (IJSE), 2011. 2(2): p. 13-22.
Juyun Cho ,A Hybrid Software Development Method For Large-Scale Projects: Rational Unified Process With Scrum, Issues in
Information Systems, Volume X, No. 2, 2009
Boehm, B. & Turner, R. (2003) Using risk to balance agile and plan-driven methods. IEEE Computer, 36(6), 57-66.
Fruhling, A. & Vreede, G. (2006). Field experiences with extreme programming: Developing an emergency response system. Journal
of Management Information Systems, 22(4), 39-68.
H. Merisalo-Rantanen, T. Tuure, R. Matti, Is extreme programming just old wine in new bottles: a comparison of two cases, Journal of
Database Management 16 (4) (2005) 4161.
M. Stephens, D. Rosenberg, Extreme Programming Refactored: The Case Against XP, Apress, Berkeley, CA, 2003, ISBN 1-59059096-1.
G. Keefer, Extreme Programming Considered Harmful for Reliable Software Development 2.0, AVOCA GmbH, Online Report, 2003.
S.Nerur, V. Balijepally, Theoretical reflections on agile development methodologies, Communications of the ACM 50 (3) (2007) 79
83.
M. Fowler and J. Highsmith. 2001. The Agile Manifesto. Software Development Magazine. August. http://www.drdobbs.com/theagile-manifesto/184414755
eWorkshop. 2002. Summary of the First eWorkshop on Agile Methods. http://fcmd.
umd.edu/projects/Agile/Summary/SummaryPF.htm. April.
P. Abrahamson et al. 2002. Agile software development methods review and analysis. VTT Publications 478.
http://www.inf.vtt.fi/pdf/publications/2002/P478.pdf
Paul E. McMahon, Are Management Basics Affected When Using Agile Methods?, The Journal of Defense Software Engineering,
November 2006.
B. Henderson-Sellers, M.K. Serour, Creating a Dual-Agility Method: The Value of Method Engineering, Journal of Database
Management, vol. 16, Issue 4, 2005.
Alistair Cockburn, Agile Software Development: The People Factor, Software Managemen t, Page 131-133, November 2001.
Carmel, E. American hegemony in packaged software trade and the culture of software. Info. Soc. 13, 1 (Jan. 1997), 125142.
Jim Highsmith, Using Adaptive Software Development to meet the challenges of a high-speed, high-change environment, Software
Testing & Quality Engineering (STQE) magazine, July/August 2000
Larman, C. and V.R. Basili, Iterative and Incremental Development: A Brief History. Computer,2003. 36(6): p. 47-56.
Standish Group (1994). The chaos report. Retrieved March 6, 2008, from
http://www.standishgroup.com/sample_research/chaos_1994_1.php.
Rombach, D. Fraunhofer: The German Model for Applied Research and Technology Transfer. In Proc. ICSE00 (Limerick, Ireland,
Apr. 2000), 531-7.
Forrest Shull, Jeffrey Carver, Guilherme H. Travassos, An Empirical Methodology for Introducing Software Processes, 1-58113-3901/01/09, ACM 2001
Nicolas Anquetil , Kthia M. de Oliveira, Kleiber D. de Sousa, Mrcio G. Batista Dias , Software maintenance seen as a knowledge
management issue, Elsevier, 2006
ISSN : 0975-5462
459