7
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] AbstractThe 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 TermsSoftware 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

[IEEE 2013 International Conference on Computing, Electrical and Electronics Engineering (ICCEEE) - Khartoum, Sudan (2013.08.26-2013.08.28)] 2013 INTERNATIONAL CONFERENCE ON COMPUTING,

  • 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.