Professional Documents
Culture Documents
Department of Computer Science & IT Govt. College University Faisalabad (Layyah Campus), Layyah, Pakistan
2
Department of Computer Science & IT, University of Lahore, Lahore, Pakistan
Email: sjshah786@gmail.com
Abstract- Rapid development in the contemporary world in the sphere of technology and business, usually the
requirements dont seem to be manifest, hence, a consistent trend of change is palpable in the process of development,
therefore, these consistent changes in the requirements render the software development all the more cumbersome. On the
other hand, use of traditional software development methods like waterfall method is of no good and pragmatic option,
because traditional software development methods are inflexible to requirements and software is likely to be late and
over budget. For the purpose of development of high quality software which can optimally satisfy the customer,
organizations can make use of software development methods, like as Agile methods which are more appropriate and
flexible to changing requirements at any stage in the development process. Many of the organizations have begun to
employ Agile methodologies. Agile methodologies have been ushered in to cater to the new and emerging day to day
requirements of the software development organization. Minor research work has been initiated on Agility of Scrum and
Feature Driven Development (FDD).This research boils down to select these methodologies and their comparison for
searching out a better and compatible use of the study area. A host of issues connected to FDD and Scrum have been
identified. An attempt has been made to derive some solutions to overcome the problems and issues involved. By
applying these results organizations can ameliorate their processes, systems and components. The data was gathered by
using online questionnaire, discussion, survey and connected literature. The results of these transpired the ways of using
SCRUM and FDD either alone or in combination with each others to fulfill the clients requirements and product
management.
Keywords: Agile Development process; Software Development Life Cycle (SDLC); SCRUM method; FDD in Agile;
traditional software development method.
I. INTRODUCTION
A software development technique in software engineering is a structure that is used to develop, plan and manage the
process of developing software product. A development technique also includes the integrated development
environments (IDEs), model based on development, computer aided software development etc. There are many software
development methodologies and every methodology has its own life cycle known as Software Development Life Cycle
(SDLC). SDLC supports a development team to develop effective software product.
79
Quality
Cost
Risk
Time
Waterfall
Predictive
Expensive
High Risk
Time Consuming
SCRUM
More Adaptive
Inexpensive
Reduces Risk
Delivers on Time
FDD
High Quality
Possible Time
6
5
4
Quality
Cost
Risk
2
Time
1
0
Waterfall
Scrum
FDD
83
100%
90%
75%
Product Delivery
80%
70%
60%
50%
50%
40%
25%
30%
20%
10%
0%
1st Week
2nd Week
3rd Week
Time Duration (in week)
4th Week
100%
90%
Product Delivery
80%
70%
60%
50%
40%
30%
20%
10%
0%
0%
1st
Week
2nd
Week
0%
0%
0%
0%
0%
0%
3rd
4th
5th
6th
Week Week Week Week
Time Duration (in week)
7th
Week
8th
Week
84
Requirement
Elicitation
Pair Programming
Code Inspection
SCRUM
It provides such type of opportunities to change
behavior of the software product according to human
mind and human oriented software development
environment.
SCRUM shows more simplicity by making individual
functional unit called sprints. Every sprint is itself a
minor product and is simply understandable and
applicable.
SCRUM collects and describes high level requirement
by daily SCRUM, sprint meetings and SCRUM
meeting.
It is a development technique to develop a code by two
developers for getting good output. SCRUM involves
pair programming as the complete development is
responsible for the code. No code ownership is a part of
SCRUM.
SCRUM, testing process is performed by its own team
member who cant fix his own errors.
FDD
FDD shows less human orientation as a
complete walkthrough is held for the
requirements gathering, whereas human
mind changes with new ideas continuously.
FDD is complex as compare to SCRUM.
It is the main feature of SCRUM. There is no team FDD lacks cross functionality and deal with
Cross Functionality leader in the SCRUM team but they work collectively. code ownership.
and responsibility of product is on the whole team.
Clients Feedback
It shows maximum clients feedback after every sprint It shows less feedback as it produces output
and ultimately required product. Changes are only at the end of development process.
performed during the process according to the clients
feedback in SCRUM.
Agility
Fewer Errors
Risk of failure
SCRUM deeply support verification and validation FDD gives only verified products but not
processes.
adequate valid product that can fulfill the
new demands.
Collaboration and
Communication
SCRUM fully supports face to face communication and FDD has limited communication and
gathers changing demands of users during the whole requirements are gathered only by
development process.
walkthrough. It cant perform alterations
during process according to clients
demands.
A comparison of Clients meetings in FDD and SCRUM is depicted in fig-6
Certification
SCRUM is a highly certified software development FDD has no such certification. This is the main
process as it requires certified SCRUM masters and reason that SCRUM is more popular in software
developers.
developing industry.
Flexibility
SCRUM id so flexible that changes are done SCRUM shows more flexibility over FDD.
according to clients requirements even in the early
steps of development process. Flexibility is required
especially for web designing and implementation.
Adaptability
Quality
Assurance
Process
SCRUM is a highly quality assurance process as it Testing process in FDD only performs at the end
involves frequent alterations and deliveries. Sprint which fails to assure the product quality in fast
testing keeps the process tracked and measured.
software development industry.
7
No. of Meetings
6
5
4
3
Scrum
FDD
1
0
1st
Week
2nd
Week
3rd
4th
5th
6th
Week Week Week Week
Time Duration (in week)
7th
Week
86
8th
Week
p. 328-388.
[2] ALSULTANNY, Y.A., WOHAISHI, A.M. Requirements for Software Quality Assurance Model, Second International
Conference on Environmental and Computer Science, 2009. ICECS '09., p.19-23, 28-30 Dec. 2009 doi:
10.1109/ICECS.2009.43
[3] BASSIL, Youssef. A simulation model for the waterfall software development life cycle. arXiv preprint
arXiv:1205.6904, 2012.
[4] ELSHANDIDY, Heba et MAZEN, Sherif. Agile and Traditional Requirements Engineering: A Survey. International
Journal of Scientific & Engineering Research, 2013, vol. 9.
[5] SHARMA, Sheetal, SARKAR, Darothi, et GUPTA, Divya. Agile processes and methodologies: A conceptual
study. International journal on computer science and Engineering, 2012, vol. 4, no 5, p. 892-898.
[6] MOHAMMED, Haifa et RAUF, Abdul. Agile Project Management: Brief Review.Lecture Notes on Software
Engineering, 2015, vol. 3, no 3, p. 225.
[7] KUMBHAR, Vidya et SHROTRIYA, Kanchan. Applying Scrum Practices to Improvise Placement Process of
Prospective Employees. Proceedings of the 5th national conference.
[8] CHO, Juyun, HUFF, R., et OLSEN, David. Management guidelines for scrum agile software development
process. Issues in Information Systems, 2011, vol. 12, no 1, p. 213-223.
[9] KHRAMTCHENKO, Serguei. Comparing eXtreme Programming and Feature Driven Development in academic and
regulated environments. Feature Driven Development, 2004.
[10] GOYAL, Sadhna. Major Seminar On Feature Driven Development. 2008.
87