0% found this document useful (0 votes)
49 views16 pages

Journal On SDLC Methodologies

The document analyzes and compares 21 common software development methodologies. It provides a table comparing the methodologies' strengths and weaknesses. The researcher also discusses some of the key reasons for changing specifications during a software project, such as new business opportunities, unclear requirements, and new technologies. Finally, the document outlines the typical stages of a software development project, including research, planning, design, development, testing, and maintenance.

Uploaded by

Herbert Barasa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views16 pages

Journal On SDLC Methodologies

The document analyzes and compares 21 common software development methodologies. It provides a table comparing the methodologies' strengths and weaknesses. The researcher also discusses some of the key reasons for changing specifications during a software project, such as new business opportunities, unclear requirements, and new technologies. Finally, the document outlines the typical stages of a software development project, including research, planning, design, development, testing, and maintenance.

Uploaded by

Herbert Barasa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

International Journal of Computing and Digital Systems

ISSN (2210-142X)
Int. J. Com. Dig. Sys. 8, No.5 (Sep-2019)
http://dx.doi.org/10.12785/ijcds/080502

Analysis of Software Development Methodologies


SoobiaSaeed1, NZ Jhanjhi 2, Mehmood Naqvi 3 and Mamoona Humayun 4
1
Department of Software Engineering, Universiti Teknologi Malaysia
2
School of Computing & IT (SoCIT), Taylor’s University, Subang Jaya, Selangor, Malaysia
3
Department of Computer Science, Sheridan College, Canada
4
College of computer and information Sciences, Jouf University, Saudi Arabia

Received 2 Feb. 2019, Revised 3 May 2019, Accepted 2 Jun. 2019, Published 1 Sep. 2019
________________________________________________________________________________________________
Abstract: The researcher focuses on the analysis of most common diverse methodologies of software development to choose the
best one on the basis of different factors such as project type, size, development environment, and available resources. Software
projects provided are positive and negative impacts and provide the stages of software development methodology. Subsequently, the
author gives brief details about the common stages of software development in this paper. These stages are mostly used in every
software development methodologies (SDMs). The main motive of this research is to provide the details of figures of steps and
stages about currently available most common twenty-one (21) SDMs. Software projects are on the functions or stages of the
methodology, the project owner's feedbacks in each methodology and suitability of methodology on the small, medium and large size
of projects. The Result conducted based on an analysis between them by applying different strategies, development environments,
and common practices and based on available resources, which can easily be understood to choose the best methodology, which can
be feasible for Small, and Medium Enterprises (SMEs).
Keywords: Software Development, Project Management, methodology, Software Development Life Cycle
________________________________________________________________________________________________
The comparison table shows the most common
1. INTRODUCTION software development methodologies for their strengths
Each project contains a system that follows these and weaknesses. The researcher provides a comparison
systems to achieve project completion. Such as a between software development methodologies, but only
software project, that also has many systems or some of them in previous stories [2]. The comparison
development methods according to the nature or size of table shows the most common software development
the project. However, a difficult decision that takes time methodologies for their strengths and weaknesses. The
for the project manager is the right method for the researcher provides a comparison between software
project. The project manager selects the development development methodologies, but only some of them in
method, taking into account the time and budget of the previous stories. The Developer Project Manager deals
project in particular. for success Many software with the most important challenges and solutions for
development methodologies have been introduced and software development. There are benefits of a project
knowledge of all software development methodologies is management process software development that can help
difficult for the project manager [1]. It began in the 1960s manage the burden of management [2].
to make this method meaningful in time and budget. It The software development project's planning and
was the era of major computers and took place in the notorious specifications are often changed. Some social
flowchart in ways or stages. Technology changes and groups discussed key reasons to change the
how they succeed change day after day. The specifications of the project. In LinkedIn, 11 groups
technological age is rapidly changing year after year. began a discussion on frequent changes in the initial
There are many methods for developing computer planning and specification of renowned software
programs and the appropriate method for the desired projects. What are the main reasons for changing
project is difficult to determine. This study provides requirements in the development phase? There are only
details of the most common stages and stages of program three groups dealing with project managers. Information
development methodologies. gathered from these groups on the facts of the
specification changes:

E-mail:[email protected], [email protected], [email protected], [email protected]


http://journals.uob.edu.bh
446 Soobia Saeed, et. al.: Analysis of Software Development Methodologies

 Owner The project owner or customer identifies and TABLE .1 SOFTWARE DEVELOPMENT PROJECTS CHARACTERISTICS
wishes to add new business opportunities to the Characteristics Positive Impact Negative Impact
project being developed
 Requirements Customer or project owner Exceeding the budget.
requirements are not properly delivered to the project
Changing in Development team got
manager planning and Nil stress.
 The project team cannot carry out the planned specification
functions due to a lack of technological knowledge, Deadlines may also be
etc. exceeded
 Some new technologies or software are being
Give new
launched. New technology opportunities
Developers need more
 Changes in planning during the development process and standards regarding design,
time to research new
technologies.
have a negative effect and have a negative impact on coding, and security
the project budget and deadlines.
Increase the chances
Highly skilled workforce
Skilled workforce of achieving
The area of software development is a broad area innovative results
means high pay
and grows with new and future standards and
technologies every day. Programming languages are Global teams
Cultural creativity A little bit hard to
introduced on the market almost every month using new separately monitor
versions and frameworks. New programming language
changes also offer new features and technologies that
facilitate and sometimes change your project everywhere. 2. PROJECT STAGE
For this reason, the project manager must monitor future A. Stages of Software Development:
versions of the programming languages in order to meet
the requirements of the project owner and to coordinate Software development is a process of different stages
with the project team [3]. but related to each other. Each stage has a specific time
Designed with strong technical expertise by highly frame in which the result is delivered. Each stage of the
trained and trained software development teams. Highly weight depends on the project. These stages are research,
trained and trained people also need the highest return planning, design, development, testing, configuration,
from their work and are based on hourly or daily work. and maintenance. Now select them briefly. [6]
The project manager will, therefore, take into account the B. Research
price costs for each business day and the estimated time
It is the beginning of almost all software
to complete the project by budget control. People with
development projects. At this stage, the project owner,
high qualifications don't like joining a better team
project manager and project team meet and exchange
because they tend to cherish their own work and self -
information about the project. The entrepreneur fulfils
absorption. Although low - skilled people mean that it
his or her objectives by searching for markets for those
takes more time to complete the project and less
persons or organizations with similar goals to help with
coordination in relation to the project, but with lower
the budget or any other purpose, then formulating them
employment rates. The project manager is therefore
in documentary form and then investigating a company
prepared to hire highly trained people in less time to
that has the ability to achieve this goal in the time and
prepare an effective project. The project manager must be
time required budget. The project owner delivers his /
able to use a highly competent person's ego in the best
her exact objectives to the project manager. The project
way to complete the project by coordinating it with the
manager is responsible for receiving the project owner's
team with any differences between them. [4].
requirements in full, evaluating them and moving to the
Members of the program development team are
project team with technical specifications. The project
often coordinated from all over the world. To
manager must take care of both the business and
communicate face - to - face, software development is
technical perspective. The project team is responsible for
not required. Many online management tools are
meeting the requirements from a technical perspective.
available to manage tasks and track tasks, such as base
The project team should investigate the programming
camp, pivotal tracker, product, and asana. Great
language, framework, libraries, version creation tools
exchange of files, such as Live Drive, Google Drive,
and infrastructure needed to build the software project
Dropbox, etc. Meetings can be held online using Skype
according to requirements [7].
and instant messaging using WhatsApp, Viber, etc. [5]
The table below summarizes the positive and negative
effects of software development projects characteristics:

http://journals.uob.edu.bh
Int. J. Com. Dig. Sys. 8, No.5, 445-460 (Sep-2019) 447

C. Planning the planning phase. To determine the design error, the


Planning is a stage in which elements are assembled project owner must be involved because it is the one who
and organized in a way to complete the program product. formulated the requirements [11].
The large project must be divided into a small flow and
easy management of subgroups. The project manager G. Setup
places all subsets, functions, and database at the front of The application is installed in the direct environment
the project team to focus on the appropriate technology during the configuration phase. The actual setup includes
to achieve the objective and should decide on the best source code, database, etc., almost everything used to
management methodology for use and the protocol to be compile programs where applications from third parties
followed to complete the project, In the budget and in are required, APIs, etc. The application also undergoes a
the range [8]. different test cycle when it is fully installed in the real
environment. After testing, content is added to the
D. Design application.
At this point, the application design is created. Mobile
and web applications make the design more effective H. Maintenance
than desktop applications. The design is entirely This phase covers the development of programs after
dependent on the nature of the project, project, function, training and the implementation of the schedule. By
and purpose. Like the banking application, they have less monitoring the firewall, mail logs, HTTP, FTP, MySQL,
design and specific design, whereas the museum's web and SSH errors make sure the application is running
application needs excellent graphic designs to attract properly. Monitor traffic and input data.
people. This stage is very important because at this stage These early stages represent the cornerstone of all
the application design preview is displayed to the project software development projects agreed upon by software
owner so that he decides to finish it or change it. The development communities. Depending on the software
entrepreneur comes with some will, and they must be development methodology, since phase names are
added to the research and planning as well and after the changed in some methodologies, others are mixed and
implementation of this function in the project [9]. others overlap.
This document provides the characteristics of software
E. Development development projects and their positive and negative
The implementation of the program is already evolving impacts. Provide the stages of system software
this stage. This stage has two surroundings. The development. Then, briefly identify the most common
development and test environment always simultaneously programming methodologies that are currently being
use the same protocol. The code needs to be written in used. The author has submitted the comparative table to
the development environment and these codes need to be complete the document [12].
loaded into the test environment using the same
synchronization protocol. The main aspect of this phase 3. PREVIOUS MODELS THEORIES
is the monitoring of progress and the project manager’s
The Methodology Software development process is
implementation. The project manager monitors the
a set of rules that are used to address all the stages
update progress and updates the project owner on the
specified above in order to succeed in software
project progress. Developers always carry out a
development. In this article, we review the most popular
debugging process to help remove project errors and load
and popular software development methodologies 20 and
error-free test environment codes. Developers also write
show their main characteristics. Including the
comments during encryption and make it easier for other
determination of the size or size of the projects; what is
developers to understand them [10].
the appropriate methodology, feedback from the stage
F. Testing project owner and presentation of the flowchart
At this stage of programming and design, errors representation of the methodologies.
were found and fixed. Testing the function of each
function and seeing the result find programming errors. If A. Waterfall
the output results are assumed to be incorrect or the It is known as the first software development
applications fail or behave in a way that is not supposed methodology. The term cascading is not used in Winston
to be, they are programming errors. Data from the W's article. Royce. The layout emphasizes carefully and
application or hackers are easily stolen access to the the results are a lot of documentation. Each process is
application and a programming error also occurs. sequentially performed in cascade. You must complete a
Although the project owner should be notified of the phase in this methodology to complete the next step.
design error, the project owners know the requirements Comments on software applications received from
that project managers must meet and what the project project owners after the development and testing process
team does. If an error occurs, these errors occur during has been completed. The succession sequence is suitable

http://journals.uob.edu.bh
448 Soobia Saeed, et. al.: Analysis of Software Development Methodologies

for small software projects where requirements are C. Iterative and Incremental
clearly defined by the project owner and the project In this software application methodology, one-step
manager with the project team can easily and accurately is built each time on the development form in the form
plan as shown in fig.1, which is given below. of expanding this model. The initial specifications are
created, and you receive feedback from the project
owner if no problem is found, and go to the following
program specifications. It differs from the prototype; the
model is designed so that it is not useless, adds
additional specifications, and then receives feedback
from the project owner. This process continues until the
actual application is developed.

The development process of each model is received,


called repetition and responses of the project owners
after the completion of each repeat process. In the fig.3
show the methodology that focuses on design documents
and is suitable for medium and large enterprises [14].
Figure 1. Waterfall Methodology [13]

B. Prototyping
In this methodology, a prototype is defined with the
main or selected function to see the result and to discover
what is missing in the project. In simple words, the
entrepreneur creates and tests the program's specific
function for comments if changes are made and then
returns to the planning stage and meets the requirements.
However, this does not mean that the prototype has
evolved more in the real project. A prototype of a
software project must be developed quickly and often
ignore best programming practices [13].
In fig.2, the project owner and the project team
communicate with each other in this methodology for
improved results and comments. This methodology is
mainly suitable for large software projects as well as for Figure 3. Iterative and Incremental Methodology [14]
new innovations and software projects of this kind, which
have not previously been developed. D.Spiral
This methodology focuses on setting goals and
analyzing other useful options for the best-documented
projects [15]. The methodology of the spiral has four
stages: planning, risk analysis, development, and
assessment. The project follows several times each stage
to reach the final stage in which program configuration
is carried out in a real environment as shown in fig.4.
The risk analysis phase uses several options before the
addition of the program continues. Upon completion of
the first repetition, project owners receive comments.
This methodology is suitable for projects that need to
identify risks and is also suitable for medium and large
projects [15].

Figure 2.Prototyping Methodology [14]

http://journals.uob.edu.bh
Int. J. Com. Dig. Sys. 8, No.5, 445-460 (Sep-2019) 449

F. Extreme Programming
This method breaks the software development process
into small parts in order to manage them back into the
actual process. Rather than planning, designing, and
developing complete software when dividing
specifications, they reduce the cost of changing the
program to do all of these activities bit by bit throughout
the development process [17].

Figure 4. Spiral methodology [15]

E. Rapid Application Development


This methodology develops a life cycle design to
provide rapid development with the high quality
compared to old and long methods. Its design is to take
advantage of the excellent opportunity for a strong
program of development [16].

This method is less focused on planning and focuses


more on development. Several development cycles can,
therefore, be created simultaneously. Every cycle has two Figure 6. Extreme Programming Methodology [17]
development and test phases, which are called modules.
Comments from project owners are received after each
unit has been completed. This methodology is suitable The tasks are separate from the involvement of any
for small, medium and large enterprises, but make sure programmer, even if the program is not written. The
that the project must be divided into units. This code is written and the codec is viewed like two
methodology is suitable for small, medium and large developers using the same computer. Project owners can
companies, but it is important to divide the project into easily add new requirements to the process by using this
units as shown in fig.5 [16]. method. This is almost the same as the agile process of
development. The project owner often receives feedback
from the development team and ongoing cooperation. It
also suits small, medium and large enterprises as shown
fig.6 above.

G.V-Model
This methodology is an extension of the process
development model of sequential software. It focuses on
tests that combine each phase with the same testing
phase. In fig.7 mention, the project owners' opinion is
received after the full development of all programs in the
form of acceptance tests as is more suitable for small and
medium enterprises [18].

Figure 5. Rapid Application Development Methodology [16]

http://journals.uob.edu.bh
450 Soobia Saeed, et. al.: Analysis of Software Development Methodologies

enterprises as shown in fig.8 [20].

Figure 8. Cleanroom Methodology [20]

J. Dynamic System Development Methodology


It focuses on software applications, which meet the
requirements of companies [14]. It also takes the time-
Figure 7. V-Model Methodology [18] consuming approach and priority action of Moscow. At
the beginning of the project, the quality criteria are
H. Scrum
defined and fixed deadlines are set. In fig.10 mention the
Construction programs are carried out in a complex testing process is carried out continuously throughout the
environment under this methodology. The software development cycle. In this methodology, project owners
requirements created by the project owner on a priority and the project team communicate with each other to
basis are called stories. All stories make up the product share information at work or at all project stages. For
portfolio. small and medium-sized enterprises, this methodology is
appropriate [14].
In four weeks, not more than four weeks, this
methodology develops the development cycle. Sprint
Backlog is a race of all stories. The focus on progress is
based on the daily meeting of 15 minutes called the
Daily Scrum. A task cannot be allocated or defined by
the project manager or anyone else. It is an independent
Scrum development team, which makes the task a
process with all the members of the team. The Master
Scrum follows all operations. Feedback is received after
the end of each sprint by the project owners. This
methodology is suitable for small, medium and large
companies of three sizes [19].
I. Cleanroom
This research of the methodology believes that the
prevention of defects is much less costly than eliminating
them. This methodology focuses on the prevention of
defects.
The goal of the research room methodology is to build a
complete program without any defects during Figure 10. Dynamic System Development Methodology [14]
development. This methodology is based on the structural
monetary method of software design. It also uses a K. Rational Unified Process
statistical test method and does not test any code It provides a disciplined approach to program
developers because the test team will test it. After getting development. It has many ready-made work plans for
the positive clarity test (called the increase in general), different types of projects and provides a guide to the
comments will be received from the project owners. This entire project process. The project team does not
methodology is also suitable for small, medium and large participate in any specific task in this methodology. It

http://journals.uob.edu.bh
Int. J. Com. Dig. Sys. 8, No.5, 445-460 (Sep-2019) 451

also serves as a guide to assist the project manager in In fig.11 show the project detail about the three sizes
adjusting the process if no ready-made work plans are (small, medium and large enterprises) for Lean Software
adapted to the project [15]. It consists of four stages: Development.
start-up (research), development (planning and design),
construction (development and testing) and transition M. Test-Driven Development
(settings and maintenance). At the beginning of the On unit tests, this methodology was developed.
project, the feedback of project owners is decided by Before writing real code, developers need to
cooperation between the project team and the project automatically write test cases for new jobs. If the test
owner. This methodology is suitable for large, medium results are positive, developers will not need to write any
and small software projects as shown in fig.11 mention code because the function already exists.
below. Usually, this is the same when it comes to inherited
encryption (inheritance). If the test result is negative, the
developer will have to write the code and retry. The
entire process continues until all requirements are
fulfilled [17]. Comments are received from the project
owners after giving the positive result of the
development process. This methodology is suitable for
medium and large enterprises as shown in fig.12, which
is given below [17].

Figure 11. Rational Unified Process [16]

L. Lean Software Development


This methodology is a model for project
development with a holistic approach, giving value to
the project owner and eliminating waste, empowering
people and improving them continuously [9]. Motivate
team members to decide on the application by training
them.
This methodology does not require work in a Figure 12. Test Driven Development [17]
particular project building process. The project manager
and project team members will freely choose the process N. Behavior-Driven Development
and the time it is corrected. The project owner's notes are The project owners in a standard form called an
attached to each method. This method is also suitable for acceptance test write all requirements. This method is
small, medium and large enterprises of three sizes. based on acceptance tests. The acceptance test is defined
as stories, which include a title, a narrative, and criteria
for acceptance [18]. The developers will implement the
function by focusing on acceptance tests. You will
attempt to use the same acceptance test criteria after you
have developed the function. I have a positive outcome,
and the test code goes into life. The whole process is
repeated until all demands are fulfilled. The project
owner's opinion is received following the positive results
of the code tests. This methodology is also appropriate
for small, medium-sized and large companies [19].

Figure 11. Lean Software Development [16]

http://journals.uob.edu.bh
452 Soobia Saeed, et. al.: Analysis of Software Development Methodologies

P. Model-Driven Engineering
The requirements of the contractor are specified in
this methodology in the Metamodel. The definition form
is defined on the basis of specific requirements. This is a
complex methodology. Models are used as a means of
meeting demands [23]. The metamodel is an independent
model platform that can be adapted to any environment
or migrated. UML is usually used to build a metamodel.
The meta-model will then become a specific
development platform model. The actual code is then
written on the basis of these forms. Following positive
results for the code tests, the opinion of the project owner
is received. This methodology is appropriate for small,
medium-sized and large companies [24].
Figure 13. Behaviors Driven Development [20]

Fig.13 shows that the methodology appropriate for


small, medium-sized and large companies of Behavior-
Driven Development model.

O. Feature-Driven Development
This methodology concentrated on the real
functionality of the software project required. Each
feature of this methodology is an understandable
requirement for the project owner, has a real commercial
meaning and describes the true value of the work [21].
During the project, the project owner and the
development teams interact constantly. Get feedback
from the project owner when you set up the app settings.
This methodology is suitable for three small, medium Figure 15. Model-Driven Engineering [25]
and large firms as shown in fig14 [22].
In fig.15 shows that the Model-Driven Engineering
results for the code tests opinion for project owner after
implement the model

Q. Crystal Methods
It is also a member of a family of methodologies
that focus on people and give importance rather than
tools or process.
Crystal methods include many methodological
elements and do not deal with all projects in the same
way, but use custom processes and tools according to the
nature of the project. A project that requires security or
large project needs more elements of methodology and
small projects that need some elements of the
methodology. In the Crystal methodology, FAO
develops and uses only those methodologies required by
its work or projects [19]. It is also an iterative approach
Figure 14. Feature Driven Development [22] but it does not apply at all with every iterative. Receive
feedback from the project owner after each end of the
repeat. It is appropriate for small, medium and large
firms. The approach depends on the project's size as
shown in fig.16 [26].

http://journals.uob.edu.bh
Int. J. Com. Dig. Sys. 8, No.5, 445-460 (Sep-2019) 453

Release 1

Iteration 1 Iteration 2

Planning 1 Planning 2

Design 1 Design 2

Research Maintenance 1
Development 1 Development 2 Setup 1

Testing 1 Testing 2

Feedback 1 Feedback 2

Release N

Iteration N-1 Iteration N

Planning N-1 Planning N

Design N-1 Design N

Maintenance M
Development N-1 Development N Setup M

Testing N-1 Testing N

Feedback N-1 Feedback N

Figure 16. Crystal Methodology [27]

R. Joint Application Development S. Adaptive Software Development


This methodology focuses on system requirements This methodology is also based on the repetitive
through the participation of project owners, project team development and continues until the project is
and end-users in a free interaction meeting [28].In the successful. It is a methodology constructed in response
design and development phase, the project manager and to an economy that is changing and developing more and
the project team participate significantly. This more [30].
methodology also uses the prototype for real software Accept changes and value presented throughout the
development. Comments received from project owners at project. It also responds to and accepts risks and
each JAD meeting and after the completion of the manages them. Comments are received after each repeat
prototype. This methodology is suitable for medium and is completed. This methodology is suitable for small,
large enterprises as shown in fig.17. medium and large enterprises [31].

T. Open Source Software Development


It is a "decentralized methodology without a central
authority, the owner of the project, without
compensation to the project team, without responsibility,
however, with a high success rate." [32]
However, only open source software or open source
code is publicly available. With an open source license
to study, modify and design. Thousands of programmers
who work, test and test programs without expecting any
direct compensation do not have these programmers
face-to-face. All methodological phases are combined
Figure 17. Joint Application Development [29] and three phases are generated: initiative (Research,

http://journals.uob.edu.bh
454 Soobia Saeed, et. al.: Analysis of Software Development Methodologies

Planning and design), implementation (Testing and proven practices. Versions of this methodology exist.
Development) and research (Maintenance and Settings). These applications are light and heavy. It also opens the
No comments on the development of open source link and authorizes members of the team, but at the same
software provided by the project owner. This time, it is clear. After publication, comments are
methodology is suitable for small, medium and large received. It is suitable for small and medium-sized
companies [33]. enterprises [34][35].
U. Microsoft Solutions Framework
In fig.18 shows that the deliberate and disciplined
approach to technical projects based on Microsoft's
guiding principles, models, disciplines, concepts and

Figure 18. Microsoft Solution Framework [25]

4. RESEARCH METHODS
A. Method of Data Collection
A systematic review of available literature on the
Internet for different software development
methodologies will be conducted. Following online
databases will be explored to search literature. To achieve
results author follow the Qualitative Research
methodology & gathered the data by using these three
Ethnographic Research, Content Analysis & Case Study
techniques. By the help of these, the author achieves
objectives on the base of observations, analysis, and C. Sample size /Sampling Technique
documents, rather than rely on a single data source.
A literature search will include the following One hundred and twenty-five hundred and fifty
keywords. (125-150) articles will be reviewed by articles and books
reviewed. The most common and most common
software development methodologies will be selected,
which are 21 based on literature review and will be
compared to the above criteria.
D. Instrument/Software of Data Collection
 Computer / Online research databases
E. Research Model developed
It is a comparative study of the manual evaluation of
many available software development methodologies.
This will help developers to choose the most appropriate
methodology according to their needs, specifications,
objectives, resources and time.
B. Sampling Technique/ Dataset Description
F. Graph showing percentage of helpful Data
All available publications will be reviewed easily and Gathering Sources
comprehensively to extract widely used software
development methodologies. These selected software With the help of analysis of different Software
development methodologies will be compared with the development methodologies, the best way to select
following aspects. methodology for any project can be done by these
factors kept in mind, size of project, cost, time and you
should choose a Waterfall, Spiral, RAD as the best
choices and still modify them according to the
development environment and available resources.

http://journals.uob.edu.bh
Int. J. Com. Dig. Sys. 8, No.5, 445-460 (Sep-2019) 455

Figure 19. Graph Value of data sources size of the project, cost, time of Waterfall, Spiral and RAD

5. RESULTS
By review of different research papers, the comparative study is done of different methodologies by strengths and
weaknesses as well. The below table shows the comparability of multiple SDM which is related to survey and after gathering
the data of a survey of multiple software houses, the researcher creates the graph of the project cost, time of waterfall, spiral
and RAD value data as these model are usually work on multiple SDM at international level. The comparison of SDM is
based on a survey and collect the source of data is an online Google form.

TABLE 2. COMPARATIVE RESULT OF MOST COMMON TWENTY-ONE SOFTWARE DEVELOPMENT METHODOLOGIES

Methodology Characteristics Strengths Weaknesses

Waterfall 1. Full documentation with


1. Code of the project delivered late
careful planning 1. Simple and fully described steps
2. Does not manage well when new requirements
2. Process is linear 2. Simple to manage even large projects
are required
3. Every step has its own 3.Easy to understand by everyone
3. Low helping in design and planning errors
deliverables
Prototyping 1. Na number of the demo
version of software products built 1.Perfect identification of application
1.Increase the application’s complexity
in it. requirements
2.Increased time in programming
2. Project owner fully involved 2. Project owner give early feedback
3.Increase cost due to generating a prototype
3. It valued to coding not writing 3. Early find if missing functionality
specifications.
Iterative & 1. Project owner fully involved.
1. Project owner give feedback continuously
Incremental 2. No. of iteration build in it as an
2. Multiple revisions are done in the entire 1. Each iteration seems to be inflexible like a
initial model.
project small-scale waterfall project.
3.Highlights design over
3. Coding delivered early in the project
documentation
Spiral 1.Divided into four major phases
2.Attention on objectives and
1. Early project code delivered 1. Mostly cost spend on risk handling
alternatives
2. Due to focus on risks its minimize the risks 2. Without accurate risk analysis, it can't continue
3.Highlight risk analysis
3. Make excellent documentation
4.Calculate multiple alternatives
before the planning stage
Rapid 1.Focus on development
1. Documentation is poor because of speedy
Application 2.working & complete in fixed 1. Everything developed very fast
2. Development cost increased
Development time 2.Reusable code
3.Working with different modules at the same time
3.working is so fast
Extreme 1. Project owner decide which
1. Everything gets fast 1. Documents are lack
Programming task should be started first
2.Fast releasing of working code 2.developers unwilling to do pair programming
2.Speed result release
3. Due to repetition bugs are reduced 2. Programmers are not willing to write tests first
3.Unit testing
1. Get feedback continuously from the before coding
4. Project owner contact
project owner 3. Frequently meeting required
continuously like working on-site
V-Model 1. In every development, stage
testing is also done 1. Bugs are usually less 1. It focuses on the starting stage of specification
2.Attention on the significance of 2.Simply understandable by everyone 2. Easily harmed
maintenance
Scrum 1.Iterative Development
1. Products deliver in short time 1.The Need for experienced developers
2.Daily bases meeting held know
2. Feedbacks are fast from the project owner 2.Short of documentation
as Scrum
3. Quick requirement changing is done 3.It’s hard to estimate the cost at the beginning of
3. The development team is self-
the large project
organized

http://journals.uob.edu.bh
456 Soobia Saeed, et. al.: Analysis of Software Development Methodologies

4. Logs manage tasks.


5. Tasks are done in a time box
called Sprints
Cleanroom 1.Iterative Development
2.The structure is based on the
1.Cost of development increased
box method
1.Satisfied lower the bugs rate 2.Marketing time of software product increased
3.Quality control used
2.Excellent software quality products made 3.The developer must be highly qualified
mathematical models
&experienced
4.Testing is done by the
statistical approach
Dynamic 1.Iterative Development
System 2.Moscow prioritization of task
Development 3.It uses a time box approach 1.Effectively focus on business needs 1.To cover multiple tasks it needs large no. of
Method 4.Feedback did in every stage 2.Documentation should be complete team
5.In the beginning, the standard 3. Involvement of user active 2.Highly skilled developers required
of quality set
6.Testing was done continuously
Rational 1.Iterative Development
1.Accurate documentation
Unified 2.Risk handling is done in
2.Good requirement changeable management 1.Professionals should be highly qualified
Process prioritize based
3.Have the power to integrate new code 2.The process of development is very complex and
3.Suitable business model
4.Software components and codes are poor
4.Changeable management
enabled to reuse
5.Good testing performance
Lean Software 1.Iterative Development
Development 2.Components are discarded
1.By eliminated unvalued things in products,
those which is not valued in 1.The project depends on individual team member
it reduced the time and cost
products 2.Individual must have strong business analysis
2.Working code delivered before time
3.Increased learning skills
3.The project owner is highly motivated
4.Focus on customers
5.Improvements are continuous
Test-Driven 1.Highly testing based system 1.Actual functionality is overlooked because tests
1.Speedy one debugging
Development 2.Before the start of coding, are focused on system
2.Code quality is higher
testing scenarios are developed 2.It requires more code than any other
3.Due to the continuing contribution of users
3.Short development cycle methodology
with developers, it makes less defected in the
repeated 3.The only developer has done testing
end
4.Best for debugging code 4.Because of unit testing, it increases the code
Behavior- 1.Unit testing is done in it 1.Maintenance is easy
Driven 2.Target is business value 2.Early discovered the issues of usability
1.The project owner is unwilling to write scenarios
Development 3.Development& business works 3.The rate of defect reduced
together 4. New code easily integrated
Feature- 1.It also iterative development
Driven 2.Features are made by breaking
1.Working can be done at the same time by
Development the application
multiple teams 1.Codeare has done individually
3.Each feature should not take
2.Progress and report tracking best in it 2.Its iteration is not accurately defined
more than two weeks
3.Easily to understand
4.To find progress, it uses
milestone
Model-Driven 1.As a name, it used domain
Engineering models
2.Working code automatically 1.Abstractionarehigh degree 1.Experts are required
transformed by models 2.Productivity can be increased 2.Only domain experts can read the documentation
3.High-level models are 3.Take less time to market 3.It’s hard to convert the modelling into
encapsulated of knowledge 4.Maintenance cost is reduced implementation version
4.highlight reused of
standardized models
Crystal 1.Not focus on the process
Methods 2.It depends upon people and
Methodology skill
1.Simply implementation
3.Iteration one in a release
2.Deliver working code speedily 1. Critical decisions are structured individually;
4.Due to project sizes and
3.Developers have committed timeslots to not the entire team involved in it.
criticality, it uses different
return on possible code improvements
approaches

Joint 1.Highlights the system


Application requirement
1.Designing done speedily 1.Highly confident on the success of the meetings
Development 2. In design and development,
2.Increase the quality 2.documentation approach is not done in it to
both project owner and end users
3.Support teamwork with the customer follow the system requirement and other steps of
are involved
4. Maintenance cost reduced development
3. JAD meeting held
4. Use prototyping

http://journals.uob.edu.bh
Int. J. Com. Dig. Sys. 8, No.5, 445-460 (Sep-2019) 457
Adaptive
Software 1. Iterative Development
2. Keep an eye on the final goal 1.Helpful for change and scope creep 1. Risk handling is lower
Development
3. Feature-based 2. Simply to understand 2. Assumption and predication used
4. Time-based 3.Enables innovation 3.Require solid documentation
5. Risk is driven
Open Source 1. Iterative Development 1. Costs are low
Software 1.Less responsibility for submitting code
2. Teams can be work from 2.Excellent dedicated developers
Development 2.No main management authority
around the world 3.Testing done by large no. of developer’s
3. Development approach is unstructured
3. Work is done by sharing reviews
Microsoft
Solutions 1. Working with both lightweight
Framework and heavyweight implementation 1.Maintain multiple process approaches
2.Advance communication 2. Risks are handled strongly
1. Configuration and setup is difficult
3.Authorize the team members 3. Simply and easily to change and built
and create clear responsibilities 4. Team size reduced
and share it

Review papers also do a comparative study of the comparability of methodologies; which methodology
methodologies by project size or scales. Below table shows works best in which size.

TABLE 3.METHODOLOGIES REGARDING PROJECT SIZES

Methodologies Best for Project Size of Small, Medium and Large


Rational Unified Process
Small
Waterfall
Small, Medium and Large
Lean Software Development
Large
Prototyping
Medium and Large
Test-Driven Development
Medium and Large
Iterative and Incremental
Behavior-Driven Small, Medium and Large
Medium and Large Development
Spiral
Small, Medium and Large
Feature-Driven Development
Rapid Application Small, Medium and Large
Development Small, Medium and Large
Model-Driven Development
Small, Medium and Large
Extreme Programming
Small, Medium and Large
Crystal Methods
Small and Medium
V-Model
Joint Application Medium and Large
Small, Medium and Large Development
Scrum
Adaptive Software Small, Medium and Large
Small, Medium and Large Development
Cleanroom
Open Source Software Small, Medium and Large
Medium and Large Development
Dynamic Systems
Microsoft Solutions Small, Medium and Large
Development Methodology
Framework

Common practices and standards differences found notify that there are many lacks in Pakistani Development
through papers study and other research resources will Environment which can be made the effect on developed
product and also harmful for the life of Software houses.

TABLE .4. COMPARISON CHART OF COMMON PRACTICES OF INTERNATIONAL & PAKISTANI DEVELOPMENT ENVIRONMENT STANDARDS

International Standards / Practices Pakistani Standards / Practices

Do not understand requirements fully and start developing structure, not pay
Understand requirements, set frames and involve different key roles in
focus to set frames and involve different key roles in Requirements Gathering
Requirements Gathering phase. E.g. Development Lead and QA
phase just higher authorities attend the meetings and made commitments.

Prepare Documentation & User manuals properly as according to the Not pay focus to prepare Documentation & User manuals properly as according
SDLC directions. to the SDLC directions.

Do the things in a traditional way and not easily adopt new changes, if adopt not
Adopt new Technologies & held Training, Seminars, Workshops,
have enough dedication, motivation, and directions to focus and be familiar with
Conferences held to and be familiar with new system changes.
changes.

Follow Coding Standards & add proper comments for easy to Follow Coding Standards but not fully in average cases & not add proper
understand. comments for easy to understand.

http://journals.uob.edu.bh
458 Soobia Saeed, et. al.: Analysis of Software Development Methodologies

Employees fast shuffling made workload on other resources which made


Employees are remains in their domain and not interrupt each other pay
interruption and disturb focuses which made an effect on results and overall on
fully focuses to generate a useful product.
the efficiency of the product.
Critical situations, Major problems or delays solutions will found by
Critical situations, Major problems or delays will replace by alternate and
Sessions and discussions with experienced resources and not do bypass
bypass in average case to meet with the deadlines due to lack of resources.
from the situations.
Followed Proper chain work. Did not follow proper chain work in average cases.

Changes and rework face resistance due to the environment and team fast
Changes are welcome according to SDLC rules.
shuffling.

ACKNOWLEDGEMENT
6. CONCLUSION & RECOMMENDATIONS
Authors are grateful to the Department of software
A. Conclusion engineering at Universiti Teknologi Malaysia-UTM.
There are two main philosophies: light and
heavyweight(1) Heavyweight methodologies are suitable for REFERENCES
projects, which do not want to change their requirements
[1] Pagliari, C. (2017), “Design and evaluation in eHealth”, Journal of
and allow a detailed complexity of the project. These Medical Internet Research, Vol. 9 No. 2, pp. 1-14.
methodologies are easy to understand and implement. It
makes easy to understand because of complete [2]Dahl, Y., Farshchian, B., Vilarinho, T., Helbostad, J.L., Nawaz, A.,
Nygård, A.J. and Wik, P.B. (2016), “Stakeholder attitudes toward and
documentation. Project manager easily tracks the project values embedded in a sensor-enhanced personal emergency response
because reporting is done on time. The project owner only system”, Interacting with Computers, Vol. 28 No. 5, pp. 598-611.
participates in the research and planning stage. (2) Light
[3]MojtabaVaismoradiPhD, MScN, BScN, HanneleTurunenPhD, RN,
methods are suitable for projects whose requirements are not TereseBondasPhD, RN, 11 March (2013), Content analysis and
clearly defined and which can be changed by internal or thematic analysis: Implications for conducting a qualitative
external factors. Easily deliver the working code, self- descriptive study. https://doi.org/10.1111/nhs.12048
organized team, and adaptive planning. The project owner is [4] Torgeirdingsøyr,sridharnerurcvenugopalbalijepally,nilsbredemoe,
highly involved in the project to give fast feedbacks. This (2012), a decade of agile methodologies: towards explaining agile
paper defines the comparability of methodologies as software development. https://doi.org/10.1016/j.jss.2012.02.03
strength and weaknesses, which are also appropriate for [5] Matthew Kearse Richard Moir Amy Wilson Steven Stones-
small, medium and large- scale projects. Havasmatthew Cheung Shane Sturrock Simon Buxton Alex
Coopersidney Markowitz Chris Duran, June 2012
B. Recommendations [6] Geneious Basic: An integrated and extendable desktop software
platform for the organization and analysis of sequence data,
On the base of above deep analysis of software bioinformatics, volume 28, issue 12, 15, pages 1647–1649.
development models and by the judge the nature of project https://doi.org/10.1093/bioinformatics/bts199
first, we can summarize software development models into [7] Drummond, A.J. et al. (2010) Geneious v5.5. Available
categories and then chose the best model for the project at http://www.geneious.com.
from the suitable category. Analysis base for top categories [8] Goecks J., et al. Galaxy: a comprehensive approach for supporting
and their selected models are as under. accessible, reproducible, and transparent computational research in
 Flow-Based Model the life sciences, Genome Biol. , 2010, vol. 11 pg. R86.
o Waterfall model [9] P. Abrahamsson, K. Conboy, X. Wang‘Lotsdone, more to do’: the
o Iterative waterfall model current state of agile systems development research European Journal
of Information Systems, 18 (2009), pp. 281-284.
 Structured Based Model [10] S.T. Acuna, M. Gomez, N. JuristoHow do personality, team processes
o Spiral model and task characteristics relate to job satisfaction and software quality?
o V model Information and Software Technology, 51 (2009), pp. 627-639.
[11] Agarwal, R. Shankar, M.K. TiwariModeling the metrics of the lean,
 Iteration Based Model agile and leagile supply chain: an ANP-based approach European
Journal of Operational Research, 173 (2006), pp. 211-225.
o Prototype model
o Evolutionary model [12]E. Arisholm, H. Gallis, T. Dyba, D.I.K. SjobergEvaluatng pair
o RAD model programming with respect to system complexity and programmer
expertise IEEE Transactions on Software Engineering, 33 (2007),
pp. 65-86.
The methodology should be selected by viewing the
size of the project, cost and time. Always try to hire experts [13] T. DybåSpecial section on best papers from XP2010 Information and
Software Technology, 53 (2011), pp. 507-508.
to complete the project. By reading this paper, it clearly
shows that the methodology can be made according to the [14] Falessi, G. Cantone, S.A. Sarcia, G. Calavaro, P. Subiaco, C. D’Amore
Peaceful coexistence: agile developer perspectives on software
architecture, IEEE Software, 27 (2010), pp. 23-25.
project nature or need. If any new innovation is required as
per project may be project manager creates the new [15] N.B. Moe, T. Dingsøyr, T. DybåA teamwork model for understanding
an agile team: a case study of a Scrum project, Information and
methodology or view the all methodologies to accomplish Software Technology, 52 (2010), pp. 480-491.
the project.

http://journals.uob.edu.bh
Int. J. Com. Dig. Sys. 8, No.5, 445-460 (Sep-2019) 459
[16] N. Salleh, E. Mendes, J. GrundyEmpirical studies of pair programming [34] S. Mathur, S. Malik, “Advancements in the V-Model”, Internation
for CS/SE teaching in higher education: a systematic literature review Journal of Computer Applications, vol. 1, no. 12, pg. 29-34, 2010.
IEEE Transactions on Software Engineering, 37 (2011), pp. 509-525. doi: 10.5120/266425
[17] Grünloh, C., Walldius, Å., Hartmann, G. and Gulliksen, J. (2015),
“Using online reviews as narratives to Evoke designer’s empathy”, in Ms Soobia Saeed is working as an
Abascal, J. et al. (Eds), INTERACT, Springer, Switzerland, pp. 298- Assistant Professor, Head of
315.
publication Department, and
[18] P. Sfetsos, I. Stamelos, L. Angelis, I. DeligiannisAn experimental Coordinator of Seminars and
investigation of personality types impact on pair effectiveness in pair Training at Institute of Business &
programming, Empirical Software Engineering, 14 (2009), pp. 187- Technology-IBT, Karachi,
226. Pakistan. Currently, she is a PhD
[19] HallewellHaslwanter, J.D. and Fitzpatrick, G. (2016), “Why do few Scholar in software engineering,
assistive technology systems make it to market? The case of the from University Teknologi
HandyHelper project”, Universal Access in the Information Society, Malaysia-UTM, Malaysia She did MS in Software
Vol. 16 No. 3, pp. 755-73. doi: 10.1007/s10209-016-0499-3. Engineering from Institute of Business & Technology- IBT,
[20] Fereday, J., & Muir-Cochrane, E. (2006). The role of performance Karachi, Pakistan, and Masters in Computer Science from
feedback in the self-assessment of competence: A research study with Instituto of Business & Technology-IBT, Karachi, Pakistan
nursing clinicians. Collegian, 13(1), 10-15. and Bachelors in Mathematical Science from Federal Urdu
University of Art, Science & Technology (FUUAST), and
[21] Masters B.C., et al. Species Delimitation - a Geneious plugin for the
Karachi, Pakistan. She is a farmer research Analytic from
exploration of species boundaries, Mol. Ecol.
Resour. , 2011, vol. 11 (pg. 154-157). University Teknologi Malaysia and supervises ICT & R and
D funded Final Year Project (FYP).
[22] C. Ebert, P. Abrahamsson, N. Oza, “Lean Software Development”,
IEE Software, vol. 29, no. 5, pg. 22-25, 2012.
[23] M. Soeken, R. Wille, R. Drechsler, “Assisted Behavior Driven Noor Zaman has completed his PhD.
Development using Natural Language Processing”, Proceedings of in IT from University Technology
the 50th International Conference on Objects, Models, Components, Petronas (UTP) Malaysia. He has 19
Patterns, TOOLS 2012, 29-31 May 2012, Prague, Czech Republic, years of teaching and administrative
Publisher: Springer Berlin Heidelberg, 2012, pg. 269-287. doi: experience internationally. He has an
10.1007/978-3-642-30561-0_19 intensive background of academic
[24] Conboy, K., Coyle, S., Wang, X., Pikkarainen, M.: People over quality accreditation in higher education
process: key people challenges in agile development. IEEE Softw. 99, besides scientific research activities, he
47–57 (2010). had worked for academic accreditation
[25] J. Bezivin, Model Driven Engineering: An Emerging Technical Space, for more than a decade and earned ABET accreditation twice
Internation Summer School, Summer School on. Generative and for three programs at College of computer sciences and IT,
Transformational Techniques in Software Engineering, 4-8 Jul. 2005, King Faisal University Saudi Arabia. He also worked for
Braga, Portugal, Publisher: Springer Berlin Heidelberg, pg. 36-64. National Commission for Academic Accreditation and
doi: 10.1007/11877028_2. Assessment (NCAAA), Education Evaluation Commission
[26] Turner, K.J. and McGee-Lennon, M.R. (2013), “Advances in telecare Higher Education Sector (EECHES) formerly NCAAA Saudi
over the past 10 years”, Smart Homecare Technology and TeleHealth, Arabia, for institutional level accreditation. He also worked for
Vol. 1, pp. 21-34. the National Computing Education Accreditation Council
(NCEAC) Pakistan. He has experience in teaching advanced
[27] D. J. Anderson, Feature-Driven Development, Microsoft Corporation,
era technological courses including, Mobile Programming
Oct. 2004.
(Android), Mobile Computing and. Net Framework
[28] Peek, S.T.M., Wouters, E.J.M., van Hoof, J., Luijkx, K.G., Boeije, programming besides other undergraduate and postgraduate
H.R. and Vrijhoef, H.J M. (2014), “Factors influencing acceptance of courses, graduation projects and thesis supervision.
technology for aging in place: a systematic review”, International Dr Noor Zaman has authored several research papers in ISI
Journal of Medical Informatics, Vol. 83 No. 4, pp. 235-48. indexed and impact factor research journals\international
[29] J. A. Livermore, “Factors that Impact Implementing an Agile Software conferences, edited 10 international reputed Computer Science
Development Methodology”, Proceedings of IEEE SoutheastCon, area books, focused on research students, has many journals,
SECON 2007, 22-25 Mar. 2007, Richmond, USA, Publisher: IEEE, IEEE conferences and book chapter publications to his credit.
2007, pg. 82-86. doi: 10.1109/SECON.2007.342860, He has successfully completed more than 18 international
[30]Sallinen, M., Hentonen, O. and Karki, A. (2015), “Technology and funded research grants. He is Associate Editor, Regional
active agency of older adults living in service house environment”, Editor, Editorial board member, PC member, reviewer,
Disability and Rehabilitation: Assistive Technology, Vol. 10 No. 1, Keynote speaker for several reputed international journals and
pp. 27-31. conferences around the globe. He also chaired international
[31] E. W. Duggana, C. S. Thachenkaryb, “Integrating Nominal Group conference sessions and presented session talks internationally.
Technique and Joint Application Development for Improved Systems He has strong analytical, problem solving, interpersonal and
Requirements Determination”, Information & Management, vol. 41, communication skills. His areas of interest include Wireless
no. 4, pg. 399-411, 2004. DOI: 10.1016/S0378-7206(03)00080-6 Sensor Network (WSN), Internet of Things IoT, Security,
Mobile Application Development, Ad hoc Networks, Cloud
[32] Ambler, S.: Agile adoption strategies: survey
results. http://www.ambysoft.com (2013) Computing, Big Data, Mobile Computing, and Software
Engineering.
[33] E. M. Maximilien, L. Williams, “Assessing test-driven development at
IBM”, Proceedings 25th International Conference on Software
Engineering, ICSE 2003, 3-10 May 2003, Portland, USA, Publisher:
IEEE, 2003, pg. 564-569. doi: 10.1109/ICSE.2003.1201238

http://journals.uob.edu.bh
460 Soobia Saeed, et. al.: Analysis of Software Development Methodologies

Syed Mehmood Naqvi is a Professor in processing, and software development methodologies and
the School of Applied Computing at models.
Sheridan College, Canada. Formerly, he
was Dean of Faculty of Computer Science
and Information Technology at Institute Mamoona Humayun has completed her
of Business and Technology, Pakistan. He PhD. in Computer Architecture from
received PhD in Computer Application Harbin Institute of Technology, China.
Technology from Beihang University She has 12 years of teaching and
(formerly Beijing University of administrative experience internationally.
Aeronautics and Astronautics), Beijing, China in 1999. He did She is an active reviewer for a series of
his postdoctoral research in the area of signal processing at the journals. She has supervised various
University of Northern British Columbia, Canada. Syed Naqvi Masters and Ph.D. thesis. Her research
has more than twenty years of teaching, research, and interests include Global software
administrative experience at various universities, colleges, and development, requirement engineering,
institutes in Canada, Pakistan, and the UAE. He has served as knowledge management, Cyber Security, and wireless sensor
an active member of many curricula development and revision networks.
committees for undergraduate and graduates computer science
and information technology programs. His current areas of
research include educational technology, medical image

http://journals.uob.edu.bh

You might also like