Upload
hisham
View
215
Download
3
Embed Size (px)
Citation preview
2013 INTERNATIONAL CONFERENCE ON COMPUTING, ELECTRICAL AND ELECTRONIC ENGINEERING (ICCEEE)
978-1-4673-6232-0/13/$31.00 ©2013 IEEE 160
Popular Agile Approaches in Software Development:
Review and Analysis
Amani Mahdi Mohammed Hamed, Hisham Abushama
Faculty of Mathematical Sciences
University of Khartoum
Khartoum, Sudan
[email protected], [email protected]
Abstract—The selection of a software development
methodology is vital activity in any software project. It has a
great impact on customer satisfaction and business welfare.
Normally the selection is based on experience or in some cases a
rational. In the third world countries and especially in Sudan,
where this research is conducted, the choice of a software
methodology is always a struggle in software companies.
Probably is because most of these companies whether are start-
up or have humble resources such as small to medium
enterprises (SMEs). Currently the government of Sudan (the
main buyer of local software products) is pushing the software
industry to produce quality products and to reduce risks of
buying software products from foreign companies, therefore
quality products is real concern for these companies.
Usually, start-up or SMEs software companies seeking for
rapid and agile way of development accompanied with plug &
play engineering practices. Agile software development
methodologies become lately the way forward quality assurance.
Since the last decade, agile methods have increased popularity
and usage among software industries. These methods came to
tackle requirement changes quickly, satisfy customers, support
interaction, communication and produce high quality products.
There are a lot of debates in the literature about agile methods
especially on the most newest and used ones. However, academic
research on how these SMEs can select the appropriate method
still limited.
The aim of this paper is to filling this gap by systematically
reviewing the existing literature on the most popular agile
software development methodologies. This paper has three
purposes: first, it proposes a definition and discussion of the most
popular agile software development methods. Second, it explores
the software SMEs challenges and formulates it into criteria for
comparison purposes. Third, it compares these methods and
shows their similarities and differences against the defined
criteria. Based on this analysis, future research needs are
identified and discussed.
Index Terms—Software Development, Agile Methods, Scrum,
Extreme Programming, Crystal Methods, DSDM.
I. INTRODUCTION
The increase demand of software products has impact on
the rapid growth of software industry. Today, there are many
new software businesses has started and yet more to come. In
spite of this, there are a lot of software products failures and
business bankruptcy stories [1], [2], [3]. Many of which due to
un appropriateness of the used software processes or methods
[1], [2], [3]. Normally, software methodology selection is
based on experience or in some cases a rational [4], [5], [6]. In
third world countries and especially in Sudan, where this
research is conducted, the choice of a software methodology is
always a struggle facing companies [7], [8]. Probably is
because most of these companies whether are start-up or have
humble resources such as small to medium enterprises (SMEs).
Also, while software requirements, project time and cost
estimated factors could be changed throughout the project
lifecycle, risks are highly considered because changes in these
factors affect the development process and quality [1], [2], [3].
Usually, start-up and SMEs seeking for rapid and agile way of
development accompanied with plug and play engineering
practices [2] in order to reduce the risks, reasonable resources
consumption and deliver quality products.
In the last few years, agile methods became the most
software development adopted in software industry [4], [6],
[9]. The most popular agile methods used are: eXtreme
Programming Development Process (XP), Scrum Development
Process, Crystal Family of Methodologies (CM), and Dynamic
System Development Method (DSDM) [10], [11], [12], [13],
[14], [15]. These methods came to tackle requirement changes
quickly, satisfy customers, support interaction, communication
and produce high quality products [4], [12], [16].
The aim of this paper is to conduct a systematic review
shows appropriateness of agile methods with regard to SMEs
environmental challenges. Based on these challenges, criteria
are defined and used to show the differences and similarities
between these agile methods. The criteria definition meant to
help SMEs to choose the appropriate agile method and
practice(s) hence to reduce risks and produce quality products.
The paper is organized as follows: section II presents a
brief description for each agile method introduced with a
systematic review to collect all relevant studies discussed these
methods and to explore the software SMEs challenges. In
section III criteria are defined and then to be used for the
comparisons presented in section IV.
II. RELATED WORKS
Agile methods regarded as set of practices and techniques
which have specific principles and values. They share the
property of iterative incremental development that tackles
requirement changes quickly, satisfy customer and produce
161
quality products [4], [12], [16]. Agile methods have four values
[10], [16]: individuals and interactions over processes and
tools, working software over comprehensive documentation,
customer collaboration over contract negotiation, and
responding to change over following a plan. Their target is to
improve business and innovate new ideas to meet the market
demands by quickly redefining resources when the
requirements or technology changed, fast response to the
market changes or insensitive customer interaction [5], [12].
The most popular agile methods within industry are XP,
Scrum, Crystal Family and DSDM [10], [11], [12], [13], [14],
[15].
XP critical assumption is to handle high cost of changes
and deal with the frequent changed requirements [17] through
an iterative life cycle with small releases [18]. Requirements
are divided into several iterations and each iteration ends with
customer acceptance testing and should be released to the real
world within two weeks. Also, customer describes the features
needed to help the team estimate time and resources [18], [19],
[20]. A newer version of XP has released since 2004 improving
and modifying more practices that covering wider areas [21].
In this paper, we consider “XP2” as it is the new version of XP.
Scrum Development assumes that the development process
is unpredictable from the first time and requirements could be
changed. It is developed mainly to manage and control these
types of projects and how the team should work in a changing
environment. Scrum works on small to medium projects, uses
the iterative incremental approach to deliver customer
increments through strong and highly experienced team [17],
[19], [22], [23], [24].
Crystal can be defined as a set of four different
methodologies and each methodology has an assigned color
(clear, yellow, orange, and red) that determines its heaviness.
Crystal clear and Crystal orange are the only methods
constructed and used [22], [25], [26]. The suitable
methodology that fit the projects is chosen according to two
primary principles [27], [28]: number of people involved
during the development process and the project criticality.
Process is done through four sequenced phases: staging,
review, monitoring, and parallelism [22], [27], [29].
The idea behind DSDM is instead of fixing the project
functionalities then adjusts time and resources needed for these
functionalities, it is preferred to fix the time and resources then
adjusts functionalities suitable to them. DSDM development
process consists of five phases [22], [27], [30], [31]: feasibility
study phase, business study phase, functional model iteration
phase, design and build iteration phase, and finally
implementation phase. It takes the shortest time as possible and
each delivery must contain the most business functionalities
needed [22], [27], [30], [32].
Based on the four methods introduced, the systematic
review is used to identify all relevant and available studies that
help to define criteria that compare and highlight the
differences and similarities of these methods with the
conjunction of SMEs environmental challenges. The
TABLE I. TOTAL STUDIES REACHED FOR EACH CATEGORY
Category Total Studies
Found
Available Data Sources
Most Agile Methods used
and challenges 52 IEEE COMPUTER
SOCIETY, IEEE
SOFTWARE, Springer,
THE PROCESS GROUP, IEEE Transactions on
Software Engineering,
ELSEVIER, Danube Technologies, asapm,
VTT Technical Research
Centre.
XP2 33
Scrum 23
Crystal 10
DSDM 16
Software SMEs challenges 33
Total 167
systematic review is being conducted through the following
steps:
A. Research Questions
Based on the paper aim, research questions are:
1. What are the most popular agile methods constructed and
used in software industry?
2. How can systematic review compare and highlight these
agile methods similarities and differences?
3. Can software industry such as SMEs challenges defined and
formulated into criteria for comparison purposes?
4. How can the systematic review compare and highlight these
agile methods against the defined criteria?
B. Inclusion Criteria and Exclusion Criteria
Table I presents all founded studies that discuss agile
methods. The search key words for the studies are classified
into six categories: most agile methods used in the software
industry and challenges, XP2, Scrum, Crystal family of
methodologies, DSDM, and Software SMEs challenges. In
inclusion criteria, for each category, the following key points
are used to include the studies:
1. Studies that discuss the most agile methods used in software
industry.
1. Studies that present a comparison between these agile
methods.
2. Studies that investigate the practices, roles and
responsibilities, tools and techniques and the development
process within one or more of the most agile methods.
3. Studies that discuss and review the challenges within start-
up and SMEs.
And the key points used to exclude studies in the exclusion
criteria are:
1. Studies that review the agile methods in general.
2. Studies that do not discuss the methods under study as their
main objective.
3. Studies that are related to or contain information can be
found in other selected studies.
Based on the inclusion and exclusion criteria used, 167 studies
are retrieved. As can be seen in table II, 27 studies are included
and the rest 140 are excluded. However, additional refinement
is needed as there are studies that may related to studies in
another category. Table III shows the excluded and included
studies after refinement and table IV summarizes the final
primary studies founded.
TABLE II. FIRST CLASSIFICATION FOR THE STUDIES
162
Category Included Excluded Total Initial
Studies
Most Agile Methods used and
challenges 11 41 52
XP2 4 29 33
Scrum 5 18 23
Crystal 2 8 10
DSDM 2 14 16
Software SMEs challenges 3 30 33
Total 27 140 167
TABLE III. INITIAL INCLUDED AND EXCLUDED STUDIES Category Included Excluded Total Initial
Studies
Most Agile Methods used and
challenges 2 9 11
XP2 1 3 4
Scrum 1 4 5
Crystal 0 2 2
DSDM 0 2 2
Software SMEs challenges 3 0 3
Total 7 20 27
C. Findings
Based on the accomplished systematic review and from the
primary studies analyzed, there are two major outcomes
resulted:
TABLE IV. SUMMARY OF THE FINAL STUDIES USED IN THE
SYSTEMATIC REVIEW Authors Study Title Source Publication
Year
1. P. Taylor, D.
Greer, G. Coleman, K.
McDaid and F.
Keenan [2]
Preparing Small
Software Companies for Tailored Agile
Method Adoption:
Minimally Intrusive Risk Assessment
- 2007
2. R. Argento and
V. Hamilton [3]
Lowering business
costs: Mitigating risk in the software
delivery lifecycle
IBM 2009
3. D. Cohen, M. Lindvall and P.
Costa [4]
Agile Software Development
- 2004
4. A. Saranya and
S. Kannan [8]
SPI Challenges Of
Small And Medium Sized Software
Companies –
Problems And Prospects
IJERT 2013
5. M. Paulk and
N. Daivs[11]
On Empirical
Research Into Scrum
- 2009
6. M. Marchesi
[34]
The New XP - 2007
7. M. Qasaimeh, H. Mehrfard,
and A. Hamou-
Lhadj [51]
Comparing Agile Software Processes
Based on the Software
Development Project Requirements
IEEE COMS
OC
2008
First, several measurable attribute can be used to compare
between agile methods such as philosophy, characteristics,
features, team involved, project size and the development
process. Second, there are several challenges within start-up
and SMEs companies such as requirements changes, limited
budget, limited resources, unapproved customer decisions and
project time and cost estimation. Also, the choice of the
appropriate agile method and practice(s) is always a struggle
and impacts the product process and quality. However, there is
no enough attention for these types of challenges.
To this end and according to SMEs major environmental
challenges, three measurable attributes are introduced (see
section III) in this paper representing SMEs major
environmental challenges. The idea behind this is to aid SMEs
selection for the appropriate agile method or practice(s). These
attributes are important in which they have an impact on
business success, product process and quality, yet, no enough
attention given by researchers to fill-in this gap. The attributes
are formulated into defined criteria as explained in section III.
TABLE V. CRITERIA DEFINITION Defined
Criteria
Description Associated Attributes
Project
Set-up set-up the physical
environment for the
project being developed
and prepare the development team.
prepare environment,
location, design,
development team
Project
Complexity methods that manage
factors make project difficult to assess,
product process and
quality hard to improve and damage the company
reputation.
manage changes in
requirements, give best project time and cost
estimation, handle project
scalability, handle unapproved customer
decisions, balance the
business needs with customers needs
Contract
Management method or practice(s)
that define the terms conditions and mange
scope of work between
the customer and company.
scope of work rigidity,
project time and cost inflation and unapproved
customer decisions
III. DEFINING THE CRITERIA
There are many start-up and SMEs working in software
companies around the world. In countries such as Sudan, they
represent most or all the industry [52], [53]. Challenges
introduced within these companies (see section II) impact the
process, quality and the company reputation [7], [54], [55],
[56], [57]. Further to the findings above the authors grouped
SMEs major challenges into the following defined criteria:
1) Project Set-up: before project process implementation
starts, physical project environment should be prepared [54],
[58]. This mean set-up the location, design, environment and
prepare the development team. This is important to enhance
peer review, communication and knowledge sharing.
2) Project Complexity: there are several factors that
increase complexity within a project and make the process
hard to improve such as requirements, project time and cost
estimated, limited resources, unapproved customer decisions
[8], [59], [60] and project size. While, requirements are
difficult to define in the early development stages and mostly
could be changed during the process [2], [8], [59], [60], this
impacts the product process and entire quality [61], [62]. Also,
start-up and SMEs with limited resources (humans and
163
money) may struggle in making proper time and cost
estimation [1], [3], [56], [60], [63], [64].
3) Contract Management: most start-up and SMEs
objectives are to gain reputation in the software industry, stay
in the business market and retain customers [56], [57]. They
need a method or practice(s) help them in issues such as
contracts terms and conditions, scope of work and payment
conditions to avoid issues such as changes in the requirements
and needs, unapproved customer decisions, or delay in the
delivery time [65].
TABLE VI. LEVEL OF MEASUREMENTS CRITERIA Measure Description No. of Studies
agreed
Highly
satisfied The method is the most agile method that
completely address, handle issues within
attribute and has defined practices support that attribute
> 40 studies
Satisfied The method satisfy attributes only in general
according to the main agile values and
principles and may has practices that handle issues within attribute
> 20 studies
Not
satisfied The method does not address issues within
attributes and there is no defined practices support such attribute
<20 studies/
attribute does not mentioned
TABLE VII. COMPARISON OF XP2 AGAINST THE PROJECT SET-UP
Criterion Attributes Measure Practices that Satisfy Attributes
Environment Highly
satisfied
Pair programming, sit together,
informative workspace Location
Design
Development Team
IV. COMPARING AGILE METHODS AGAINST THE DEFINED
CRITERIA
Table V shows a brief description with the associated
attributes of each defined criterion used to compare the most
popular agile methods and table VI shows the level of
measurements for the criteria. Based on these tables,
comparisons are presented as follows:
A. Project Set-up
Each agile method is compared against the project set-up
attributes as follows:
1) XP2: XP2 is the most agile method that highly satisfies
the project-set-up through three defined practices. In pair
programming, each two development team members are
setting together at one computer screen to write the code.
There is single code shared and visible for all development
team. The whole team must sit together in one open place and
within eye contact of each other. Also, informative workspace
requires the team to define graphs around the work space that
illustrates the project progress and shares the information
between them. Table VII present these practices.
2) Scrum: table VIII shows that scrum highly satisfies the
project set-up through the scrum meetings. For example, in
daily scrum meeting, the method defines the meeting location,
time, duration and types of questions to be asked and
discussed.
3) Crystal: as can be seen in table IX, before start
implementing the development process, crystal teams must set
together in the same room, office or building in order to
communicate with each other and discuss the process.
Therefore, the method satisfies the set-up of the project.
4) DSDM: DSDM does not satisfy this criterion and there is
no practice within the method that defines the project
environment, location or design.
B. Project Complexity
Each agile method is compared against the project
complexity attributes as follows:
TABLE VIII. COMPARISON OF SCRUM AGAINST THE
PROJECT SET-UP Criterion Attributes Measure Practices that Satisfy Attributes
Environment Highly
satisfied
Scrum meetings Location
Design
Development Team
TABLE IX. COMPARISON OF CRYSTAL AGAINST THE PROJECT
SET-UP Criterion Attributes Measure Practices that Satisfy Attributes
Environment Satisfied Setting in the same room/ office/
building Location
Design
Development Team
TABLE X. COMPARISON OF XP2 AGAINST THE PROJECT
COMPLEXITY Criterion Attributes Measure Practices that Satisfy
Attributes
manage changes in requirements Highly
satisfied
User-stories, weekly
cycle
handle project time and cost
estimated Satisfied Slack
handle project scalability Not
satisfied
-
handle unapproved customer
decisions Highly
satisfied Quarterly cycle, real
customer involvement
balance the business needs with
customers needs Satisfied Quarterly cycle, slack
1) XP2: first, XP2 process highly satisfies changes in
requirements through the user-stories and weekly cycle in
which developers state the customer functionalities with time
and cost estimated. Second, estimated time and cost could be
satisfied through slacks that drop tasks with lower priority to
the next iteration in order to deliver the most business
functionality to the customer within the time constrained.
Third, the process does not satisfy the project scalability as it
works only on small to medium fixed projects. Furthermore, it
highly satisfies the uncertain needs and unapproved customer
decisions through real customer involvement and quarterly
cycle. Also, XP process has two primary values considering
the customer: the continual communication and rapid
feedback between customer and development team throughout
the progress. Finally, quarterly cycle and slack are both
practices that deliver the most business functionalities to the
164
real world and satisfy the customer as well. These practices
are presented in table X.
2) Scrum: scrum focuses on the managerial issues and
highly satisfies changes in requirements, time and cost
estimated through two practices. Product backlog contains the
core requirements and the sprint contains the details and tasks
within each requirements, time and cost estimated for each.
Over and above, with the scrum meetings such as sprint
planning meeting, daily scrum meeting and sprint review
meeting, development process is more controlled and easy to
track. Customer can present the daily meetings to check the
features he/she wants. However, the method does not satisfy
scalability of the project or define practices to manage
business needs. But in large projects situation, project is
divided into smaller ones then each part implemented as a
project (scrum of scrums). Table XI shows these practices
against the attributes.
3) Crystal: as crystal is based on the fact that there is no one
fixed method fits all types of projects, it is highly satisfied the
variation of the project size. The agility of crystal is allowing
the development team to start by small requirements and
developers then as the project size increased, more people can
be involved and process can be shifted to a heavier
methodology within the family. Development team is free to
decide which practices from other agile methods are the most
suitable to process. In general, the method handle
requirements, customer needs, time and cost but while each
crystal increment takes not less than two months to be
released, managing these factors become more difficult.
Moreover, the method does not mention how to satisfy the
business needs as can be seen in table XII.
4) DSDM: DSDM highly satisfies delivering part of the
most complete business functionalities in each release to the
real world as well as satisfies customer. This is done by
combining the business needs and the customer requirements
with the technical issues to deliver high quality products. Only
essential and core requirements must be implemented in high
level then detailed ones can be implemented and changed
later. With this practice, product requirements become clearer
to the customer and development team and getting smaller as
the project forward. The method satisfies changes in
requirements, time and cost. However, there are no defined
practices to handle the project scalability but in large projects
situation, project is divided into smaller ones then each part
implemented as a DSDM project. Method practices and
attribute are presented in table XIII.
C. Contract Management
Each agile method is compared against the contract
management attributes as follows:
1) XP2: XP2 development is the only agile software
method defines practices that address all attributes associated
with contracts. As seen in table XIV, negotiate the scope of
TABLE XI. COMPARISON OF SCRUM AGAINST THE PROJECT
COMPLEXITY Criterion Attributes Measure Practices that Satisfy
Attributes
manage changes in requirements Highly satisfied
Product backlog, sprints, scrum meetings
handle project time and cost
estimated Highly
satisfied Sprint, daily scrum
meeting
handle project scalability Not
satisfied
-
handle unapproved customer
decisions Satisfied Scrum meetings
balance the business needs with
customers needs Not
satisfied -
TABLE XII. COMPARISON OF CRYSTAL AGAINST THE PROJECT
COMPLEXITY Criterion Attributes Measure Practices that Satisfy
Attributes
manage changes in requirements Satisfied -
handle project time and cost
estimated Satisfied -
handle project scalability Highly
satisfied
-
handle unapproved customer
decisions Satisfied -
balance the business needs with
customers needs Not
satisfied -
TABLE XIII. COMPARISON OF DSDM AGAINST THE
PROJECT COMPLEXITY Criterion Attributes Measure Practices that Satisfy
Attributes
manage changes in requirements Satisfied Implement core
requirements in high level
handle project time and cost
estimated Satisfied Empowered team to make
decisions
handle project scalability Not
satisfied
-
handle unapproved customer
decisions Highly
satisfied Customers involvement
balance the business needs with
customers needs Highly
satisfied Frequent product
delivery, deliver business
solution through iterative
incremental approach
the contract is an XP practice that avoids the long scope
contracts by split them into smaller ones. Scope of core
product requirements with their estimated time and cost are
divided through an on-going scope negotiation until the entire
product delivered to the real world. Also, XP pays for the
developers each time they deliver working features to the
customer. This practice motivates the development team,
makes the customer happy and gives developers money for the
amount work they achieved.
2) Scrum: scrum development does not satisfy this
criterion. There is no defined practice within the method that
manages the contract scope of work.
3) Crystal: crystal does not satisfy this criterion. There is no
defined practice to manage the contract scope.
165
4) DSDM: DSDM does not satisfy this criterion. There is
no defined practice within the method that manages the
contract.
V. CONCLUSION
This paper tried to address criteria that represent the
challenges within the SMEs, especially companies with no
proper disciplined process such as startup companies. This
paper attempted to guide solutions for these challenges by
studying, analyzing and critically reviewing popular
approaches in software development via a systematic review
method. Table XV summarizes the outcome of this study.
Although, this paper meant to show shortcomings of agile
methods toward SMEs challenges, they could be seen as areas
for improvement hence opening rooms for further researches to
come.
TABLE XIV. COMPARISON OF XP2 AGAINST THE
CONTRACT MANAGEMENT Criterion Attributes Measure Practices that
Satisfy Attributes
Scope of work rigidity Highly Satisfied
Negotiated scope contract, pay per use
Project time and cost inflation
Unapproved customer decisions
TABLE XV. COMPARISON BETWEEN THE MOST AGILE
METHODS AGAINST THE DEFINED CRITERIA Criteria Attributes XP2 Scrum Crystal DSDM
Project
Set-up
Environment Highly
satisfie
d
Highly
satisfie
d
Satisfie
d
Not
satisfied Location
Design
Development
team
Project
Complexity
Manage changes
in requirements
Highly
satisfie
d
Highly
satisfie
d
Satisfie
d
Satisfied
handle project
time and cost
estimated
Satisfie
d
Highly
satisfie
d
Satisfie
d
Satisfied
handle project
scalability
Not
satisfie
d
Not
satisfie
d
Highly
satisfie
d
Not
satisfied
handle unapproved
customer
decisions
Highly satisfie
d
Satisfied
Satisfied
Highly satisfied
balance the
business needs
with customers
needs
Satisfie
d
Not
satisfie
d
Not
satisfie
d
Highly
satisfied
Contract
Management
Changes in
requirements and
needs
Highly
satisfie
d
Not
satisfie
d
Not
satisfie
d
Not
satisfied
time and cost estimation
Unapproved customer
decisions
Delay in the
delivery time
REFERENCES
[1] F. Caffery, P. Taylor and G. Coleman, Adept: A Unified
Assessment Method for Small Software Companies, IEEE
Computer Society, 2007.
[2] P. Taylor, D. Greer, G. Coleman, K. McDaid and F. Keenan,
Preparing Small Software Companies for Tailored Agile Method
Adoption: Minimally Intrusive Risk Assessment, 2007.
[3] R. Argento and V. Hamilton, Lowering business costs:
Mitigating risk in the software delivery lifecycle, IBM, 2009.
[4] D. Cohen, M. Lindvall and P. Costa, Agile Software
Development, Fraunhofer Center for Experimental Software
Engineering, Maryland, 2004.
[5] T. Dyba and T. Dingsoyr, What Do We know about Agile
Software Development?, Fraunhofer Center for Experimental
Software Engineering, Maryland, 2009.
[6] R. Ramsin, and M. Taromirad, An Appraisal of Existing
Evaluation Frameworks for Agile Methodologies, IEEE
Computer Society, 2008.
[7] I, Richardson and K. Ryan, Software Process Improvement in a
Very Small Company, 2001.
[8] A. Saranya and S. Kannan, SPI Challenges Of Small And
Medium Sized Software Companies Problems And Prospects,
IJERT, 2013.
[9] A. Qumer, An evaluation of the degree of agility in six agile
methods and its applicability for method engineering,
Information and Software Technology, ELSEVIER, 2007.
[10] A. Sillitti and G. Succi, 14 Requirements Engineering for Agile
Methods, n.d.
[11] M. Paulk and N. Daivs, On Empirical Research Into Scrum,
2009.
[12] J. Fernandes and M. Almeida, Classification and Comparison of
Agile Methods, IEEE Computer Society, 2010.
[13] J. Cho and R. Huff, MANAGEMENT GUIDELINES FOR
SCRUM AGILE SOFTWARE DEVELOPMENT PROCESS,
Issues in Information Systems, Volume XII, No. 1, pp. 213-223,
2011.
[14] B. Regis, EVALUATION OF THE MOST USED AGILE
METHODS (XP, LEAN, SCRUM), International Journal of
Engineering Science and Technology (IJEST), Bangalore,
INDIA, 2012.
[15] H. Landim, A. Albuquerque and T. Macedo, Procedures and
conditions that influence on the efficiency of some agile
practices, IEEE Computer Society, 2010.
[16] M. Fowler and J. Highsmith, The Agile Manifesto, Software
development, 2001.
[17] P. Abrahamsson, J. Warsta, M. Siponen, and J. Ronkainen, New
Directions on Agile Methods: A Comparative Analysis, VTT
Electronics, Finland, 2003.
[18] M. Paulk, Extreme Programming from a CMM Perspective,
Software Engineering Institute, IEEE, 2001.
[19] AN INTRODUCTION TO AGILE SOFTWARE
DEVELOPMENT, SERENA, Inc, 2007.
[20] S. Shahzad, Learning From Experience: The Analysis of an
Extreme Programming Process, 2009 Sixth International
Conference on Information Technology: New Generations,
Graz, Austria, 2009.
[21] D. Sato, D. Bassi and A. Goldman, ”Extending Extreme
Programming- With Practices From Other Agile
Methodologies”, 2007.
[22] P. Abrahamsson, O. Salo, J. Ronkainen, and J. Warsta, agile
software development methods: review and analysis, VTT
Electronics, 2002.
[23] A. Marcal, B. Freitas, M. Furtado, T. Maciel, A. Belchior,
Blending Scrum practices and CMMI project management
process areas, Springer, Verlag London Limited, 2008.
[24] K. Schwaber, SCRUM Development Process, Advanced
Development Methods, 2004.
166
[25] L. Williams, A Survey of Agile Development Methodologies,
2007.
[26] A. Eberlein, F. Muarer and F. Paetsch, Requirements
Engineering and Agile Software Development, Proceedings of
the Twelfth IEEE International Workshops on Enabling
Technologies: Infrastructure for Collaborative Enterprises
(WETICE03), 2003.
[27] D. Strode, The Agile Methods: An Analytical Comparison of
Five Agile Methods and an Investigation of Their Target
Environment, 2007.
[28] M. Griffiths, Agile Suitability Filters, 2007.
[29] R. Ramsin, Agile Methodologies: Crystal, sharif university of
technology, department of computer engineering, 2012.
[30] R. Davies, DSDM explained, Agile Alliance member, 2004.
[31] D. Norfolk, Understanding DSDM, PC Network Advisor, Issue
no. 67, 2008.
[32] B. Voigt, Dynamic System Development method, Zurich,
Switzerland, 2004.
[33] M. Ahmed, Report on eXtreme Programming Practices, Cloud
Software Factory, Practices Team (A), Project II, Sprint II, n.d.
[34] M. Marchesi, The New XP, n.p., n.d.
[35] L. Williams, Case study Retrospective: Kent Becks XP versions
1 and 2, North Carolina State, 2005.
[36] K. Beck, Extreme Programming Explained: Embrace Change,
Addison Wesley Professional, USA, 1999.
[37] J. Nawrocki, B. Walter and A. Wojciechowski, Comparison of
CMM Level 2 and eXtreme Programming, Springer-Verlag
Berlin Heidelberg, 2002.
[38] J. Ron, Circle of Life, Spiral of Death: Ways to Keep your XP
Project Alive. Ways to Kill Your XP Project, XPUniverse,
Raleigh, NC, 2001.
[39] J. Reifer, XP and CMM, IEEE Computer Society, 2003.
[40] J. Rasmusson, Introducing XP into Greenfield Projects Lessons
Learned, IEEE Computer Society, 2003.
[41] C. Vriens, Certifying for CMM Level2 and ISO9001 with
XP@Scrum, IEEE Computer Society, 2003.
[42] K. Schwaber and M. Beedle, Agile Software Development with
Scrum, Prentice Hall, 2001.
[43] N. Potter and M. Sakry, IMPLEMENTING SCRUM (AGILE)
AND CMMI TOGETHER, THE PROCESS GROUP, 2009.
[44] INTERNATIONAL SCRUM INSTITUTE, Introduction to
Scrum A Real World Example across various Scrum Phases and
Sprints, available at http://www.scrum-institute.org/Introduction
to Scrum A Real World Example.php, n.d.
[45] P.Gorakavi, What You Should Know about Crystal Orange
Methodology, American Society for the Advancement of Project
Management (ASAPM), 2010.
[46] A. Cockburn, Agile Software Development, Addison, Wesley,
2004.
[47] Z. Stojanovic, A. Dahanayake and H. Sol, Modeling and
Architectural Design in Agile Development Methodologies,
EMMSAD03, 2003.
[48] A. Cockburn, Crystal Methods, or How to make a methodology
fit, 2003.
[49] M. Chang, Agile and Crystal Clear with Library IT Innovations,
VALA2010 Conference, 2010.
[50] What is DSDM? And why use it in Analysis and Design
teaching?, Serbia and Montenegro TEMPUS OFFICE, Tempus,
2004.
[51] M. Qasaimeh, H. Mehrfard, and A. Hamou-Lhadj, Comparing
Agile Software Processes Based on the Software Development
Project Requirements, IEEE COMPUTER SOCIETY, 2008.
[52] Yahya Abdullah, Minister of Communication and Information
Technology in Sudan, interview, July 19, 2012.
[53] Eng Mubarak Mohamed Ahmed, General Director of National
Information Center in Sudan, interview, July 19, 2012.
[54] L. Williams, Risk Management, 2004.
[55] B. Boehm and R. Turner, Management Challenges to
Implementing Agile Processes in Traditional Development
Organizations, IEEE Computer Society, 2004.
[56] Y. Shen, Software Engineering Challenges in Small Companies,
UNIVERSITY OF HELSINKI, 2008
[57] P. Ulkuniemi and N. Helander, Marketing challenges in the
software component business, 2006.
[58] A. Johansen and O. Torp, EFFEIECNT PTOJECT START-UP,
2004.
[59] Risk management guide for small to medium businesses, CPA
Australia, 2010.
[60] H. BAUMEISTER, Customer Relationship Management for
SMEs, 2002.
[61] A. Kannenberg and H. Saiedian, Why Software Requirements
Traceability Remains a Challenge, The Journal of Defense
Software Engineering, 2009.
[62] J. Aranda, S. Easterbrook, and G. Wilsn, Requirements in the
wild: How small companies do it, 2007.
[63] A. Quispe, M. Marques, L. Silvestre, S. Ochoa and R. Robbes,
Requirements Engineering Practices in Very Small Software
Enterprises: A Diagnostic Study, 2010.
[64] H. Wood and K. Gidado, Project Complexity in Construction,
2009.
[65] R. Elsey, Contract Management Guide, 2007.