0% found this document useful (0 votes)
87 views4 pages

Popular Agile Method

The document discusses popular agile methods used in software development, including Scrum, Extreme Programming (XP), Feature Driven Development (FDD), Test Driven Development (TDD), Dynamic Software Development Method (DSDM), and KANBAN. It provides an overview and comparison of these six agile methodologies based on key characteristics. The objective is to help project managers and software engineers choose the best fitting methodology for their project based on needs and requirements.

Uploaded by

Michael Fredy
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)
87 views4 pages

Popular Agile Method

The document discusses popular agile methods used in software development, including Scrum, Extreme Programming (XP), Feature Driven Development (FDD), Test Driven Development (TDD), Dynamic Software Development Method (DSDM), and KANBAN. It provides an overview and comparison of these six agile methodologies based on key characteristics. The objective is to help project managers and software engineers choose the best fitting methodology for their project based on needs and requirements.

Uploaded by

Michael Fredy
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/ 4

International Journal of Scientific and Technical Advancements

ISSN: 2454-1532

Popular Agile Methods in Software Development:


Review and Analysis
R. Vijay Anand, Dr. M. Dinakaran
School of Information Technology and Engineering, VIT University, Vellore-632014, Tamil Nadu, India.

Abstract—Software development plays a very major role in this industrial world. Previously organisations used to follow traditional
software models but now there is a shift to agile methodologies. The principles and methodologies of Agile Software development have
gained a lot of popularity in these recent times. In this paper, a comparison of six different agile methodologies has been made based on
some characteristics. The objective of this paper is to provide a clear understanding and complete overview of Agile software development
culture and practices. The main aim is to help the project managers or software engineers in choosing out the best agile methodology that
suits their project based on their needs and requirements..
predictability and control risk”. There are mainly three people
I. INTRODUCTION involved

A gile organizations can more easily adapt their 1. product owner


project portfolios due to changing business 2. scum master
priorities. Agile projects deliver working software 3. project team or scrum team
on a regular schedule, typically weekly or biweekly. The
features delivered within each "iteration" are determined by
the business[1], which will typically prioritize the highest
value features first. These practices combine to reduce the risk
of shifting resources away from an agile project. Because there
isn't much half-done work at any point, the work that is
finished is high value, and the state of the project is always
unambiguous.
In today's fast-paced business environment, companies are
constantly pressured to adapt to changing market conditions.
Companies that produce software increasingly turn to agile
development practices to help them stay competitive. Agile
processes are highly collaborative, iterative and all focused on
the rapid and repeatable delivery of software. Many practices,
such as pair programming and regular retrospectives[2], may
appear on their surface to slow teams down. However, the
benefits to organizations of "going agile" far outweigh the The Scrum Process
costs. The process of scrum starts with the product owner [3].
Agile Methodologies The product owner gets the input from end-users, customers,
In this paper, we have taken six different agile stakeholders etc and come up with the product backlog/ list of
methodologies that are mostly used and a comparison is made features prioritised by the product owner in the sequence of
between them based on some characteristics. A neat and clean business requirements and they are kept alive and owned by
explanation of every methodology is given. The six agile the product owners. Product owner constantly revises the
methodologies that are chosen in this paper are listed [2] product backlog and the only person who can make changes to
below. it. From the product backlog, the team pulled something called
 Scrum Spring backlog and this happens for every sprint.Then team
 Extreme Programming(XP) executes this building of product in sprints. Sprint is a fixed
 Feature Driven Development(FDD) period of time that the team commits to work in a course of
 Test Driven Development(TDD) developing the product.The length of the Sprint is decided by
 Dynamic Software Development Method(DSDM) the team and the product owner. During the sprint, what the
team committed to deliver does not change and the end date of
 KANBAN
sprint doesn't change. If something major comes up, product
Scrum
owner can direct the team to terminate and start the new one.
Scrum is one of the popular agile software development
Scrum team ideally consist of 7+/-2 people (5-9 people). The
framework. Scrum is primarily for developing complex
team is self-organising and self-managing and has to be cross
products and system. According to Ken Schwaber“Scrum
functional (containing members from different verticals
employs an interactive and incremental approach to optimise
required for developing the product).The team will select what

147

R. Vijay Anand and Dr. M. Dinakaran, “Popular agile methods in software development: review and analysis,” International Journal of
Scientific and Technical Advancements, Volume 2, Issue 4, pp. 147-150, 2016.
International Journal of Scientific and Technical Advancements
ISSN: 2454-1532

it will commit to deliver by the end of the Sprint.The team customer's requirements as time passes and the problem is
create a task level plan for how they will deliver. Everyone in better understood, and frequent communication with the
the team takes part regardless of experience level. Each day customer and among programmers. The methodology takes its
team updates a simple chart called burndown chart that shows name from the idea that the beneficial elements of traditional
the task remind and total hours left for all tasks. Each day the software engineering practices are taken to "extreme" levels.
team has a short meeting to update each other on progress and As an example, code reviews are considered a beneficial
blocks. This is usually a casual and informal meeting of less practice; taken to the extreme, code can be reviewed
than 15 minutes where everyone stand up to keep it fast and continuously [6], i.e. the practice of pair programming.
report just 3 things
1. done since yesterday
2. done by tomorrow
3. blocks and obstacles
Scrum master makes a notice of these blocks/obstacles [4]
and help the team to resolve them.The role of the scrum
master can be played by an existing person such as former
project manager or team member. He is responsible for
protecting and serving a team. He helps the team to remove
any impediment and protects the team from any internal or
external interference and guides the team. Without a Scum
Master, the team as a high risk of failure. The aim for the team
is to complete 100% of what they committed ideally an
increment which should be potentially shippable for the
project. Every potentially shippable increment must be fully
implemented and tested with no major defects. At the end of
every sprint, there are two reviews that takes place. First one
called "Sprint review meeting" where product owner, team,
scrum master, stakeholder, etc. come together and see the Feature Driven Development
demo of working software and feedback is taken. The other FDD is one of the agile software development process
one called "Retrospective meeting" primarily only for the which uses a short-iterative and incremental model. It is one of
team, product owner and scrum master. They meet at the end the lightweight agile methodologies for developing a software.
of each sprint to review their way of working and look for Combination of key benefits from various agile methodologies
ways to improve their effectiveness. Sprint review is a and other industry recognized best practices are provided by
“product review” and Retrospective is a “process review”. FDD. It is best suited to scale up larger projects and teams [7].
Extreme Programming It is one of the most popularly and A feature is a small valued function expressed in client
widely used agile practices for developing a high quality valued terms. If the given set of features are said to be small
software. It mainly focuses and concentrates on improving the they can be completed within a two week time. If the features
quality of software and on improving the responsiveness to take more time to complete then it has to broken into smaller
changing requirements. According to Kent beck “XP is a light set of features.
weight methodology for small to medium sized teams The primary roles of FDD are Project Manager, Chief
developing software in the face of rapidly changing architect, Development manager, Domain experts, Class
requirements”. Team work is emphasized in [5]extreme owners, Chief programmers.
programming. There are five essential ways in which the
extreme programming improves the software project. They are
Communication, Simplicity, feedback, Respect and courage.
Extreme programmers constantly stay in contact with the
customers and with their fellow programmers. They keep out
their design as simple as possible and keep it clean. Feedback
is taken starting from day one by continuously testing the
software. System or the working software is delivers to
customers as early as possible and implement the changes as
suggested even late in the life cycles. Every small success
deepens their respect for the unique contribution of each and
These are the steps to be followed in the FDD process
every team member. Other elements of extreme programming
Step 1: Develop an overall model (team members should gain
include: programming in pairs or doing extensive code review,
knowledge and shared understanding of the problem domain)
unit testing of all code, avoiding programming of features
Step 2: Build a features list (The features are to be organized
until they are actually needed, a flat management structure,
with the hierarchy such as Business activity, Domain subject
simplicity and clarity in code, expecting changes in the
area, Features)

148

R. Vijay Anand and Dr. M. Dinakaran, “Popular agile methods in software development: review and analysis,” International Journal of
Scientific and Technical Advancements, Volume 2, Issue 4, pp. 147-150, 2016.
International Journal of Scientific and Technical Advancements
ISSN: 2454-1532

Step 3: Plan by feature (Constructing the initial schedule, DSDM is the longest established full project agile approach
Assigning responsibilities to team members) which is tried and tested for business related projects.
Step 4: Design by feature (Forming feature teams, team Some of the techniques of DSDM are MoSCoW,
collaboration, updating the model Artifacts to support the Timeboxing, Prototyping, Testing, Configuration
change) management.
Step 5: Build by feature (Implementing the designed feature, DSDM follows some of the principles in its development
Testing the feature, mandated code inspections)[8]. process such as follows [12]:
Test Driven Development 1. Focusing on the customer needs
Test-driven development (TDD) is a software development 2. Active user involvement
process that relies on the repetition of a very short 3. Rather than maximizing the quality focus on giving
development cycle [9]. The process will be carried out using frequent releases.
some set of steps [10]: 4. If any solution to be re corrected, the iterative development
1. Add a test is essential.
2. Run all tests and see if the new one fails. 5. Testing can occur throughout the project.
3. Write some code. 6. Every stakeholders much get involved and communicate.
4. Run tests These are the steps to be followed in the DSDM process:
5. Refactor code. Step 1: Feasibility study
Step 2: Functional model iteration
Step 3: Design and build iteration
Step 4: Implementation

Kanban
Kanban is a method for managing knowledge work with an
emphasis on just in time delivery while not overloading the
team members. Development process is transparent in this
methodology from definition of a task to its delivery to the
customer, is displayed for participants to see[13]. The Kanban
Method is as an approach to incremental, evolutionary process
and systems change for organizations. It uses a work-in-
progress limited pull system as the core mechanism to expose
system operation (or process) problems and stimulate
collaboration to continuously improve the system.
Visualisation is an important aspect of Kanban as it allows to
understand the work and the workflow. Kanban method
Dynamic Software Development Method consists of four basic principles : Start with existing process
DSDM is an agile project delivery framework. It is a RAD The Kanban method does not prescribe a specific set of
approach to the software development with iterative and roles or process steps. The Kanban method starts with existing
incremental methodology including customer involvement. In roles and processes and stimulates continuous, incremental
2007, DSDM became a generic framework tom project and evolutionary changes to the system[14]. The Kanban
method is a change management method.
management and solution delivery [11].
1. Agree to pursue incremental,evoulationary change The
The public and private sectors came with an aim to organization (or team) must agree that continuous, incremental
develop the industry standards to develop the new method.

149

R. Vijay Anand and Dr. M. Dinakaran, “Popular agile methods in software development: review and analysis,” International Journal of
Scientific and Technical Advancements, Volume 2, Issue 4, pp. 147-150, 2016.
International Journal of Scientific and Technical Advancements
ISSN: 2454-1532

and evolutionary change is the way to make system to respect current roles, responsibilities and job titles with the
improvements and make them stick. goal of gaining broader support.
2. Respect the curent process,roles,responsibilities and 3. leadership at all levels Acts of leadership at all levels in
titles It is likely that the organization currently has some the organization, from individual contributors to senior
elements that work acceptably and are worth preserving. The management, are encouraged.
Kanban method seeks to drive out fear in order to facilitate
future change. It attempts to eliminate initial fears by agreeing

Comparison of Agile Methodologies:


Characteristic SCRUM XP FDD TDD DSDM KANBAN
Approach of Iterative and Iterative and Iterative and
Iterative and incremental Iterative Incremental
Development incremental incremental incremental
Time taken
Reasonable Amount
Time period for From the start
2-4 weeks 1-6 weeks <2 weeks of Time based On 2-3 days
one iteration of work until
product Built
Bugfix is live
First 2/3 developers Any skilled or
Many Members Independent
Get used to TDD. cross-
Team Size 7+/-2 <20 (More than One Teams of any
Later members are functional team
team) size
added accordingly can work
Small projects
Small Complex All types of
Project Size All types of projects Small scale projects usually with <
Projects projects projects
3000 LOC
Open
communication b/w
Team Based on Based on Informal face
Informal Informal managers and
Communication Documentation documentation to face
developers about
issues
Product owner acts on Customer
Involve in
Customer behalf of Throughout Customer Involved only at through
frequent
Involvement cuatomerthroughtout the the process through reports acceptance testing incremental
releases
process release

prioritization in large-scale outsourced system projects: An empirical


II. CONCLUSION study. The Journal of Systems and Software. 2013 May; 86(5):1333-53.
[5] Popli R, Chauhan N, Sharma H. Prioritizing user stories in Agile
Through this paper, a clean and neat analysis of six Environment. International Conference on Issues and Challenges in
different agile methodologies that are mostly used is given. Intelligent Computing Techniques (ICICT). 2014 Feb 7-8. p. 515-19.
This would help out the project managers and software DOI:10.1109/ICICICT.2014.6781336.
[6] Shrivastava SV, Rathod U1. Categorization of risk factors for distributed
engineers to understand the key characteristics, culture and agile projects. Information and Software Technology.2015 Feb; 58:373-
practices of agile methodologies. This in turn helps them to 87.
choose the best practices that suit their software project [7] Ghosh GK. Challenges in Distributed Scrum.IEEE Seventh International
according to their need. Conference on Global Software Engineering. 2012. p. 200. DOI:
10.1109/ICGSE.2012.46.
REFERENCES [8] Parsons D, Susnjak T, Lange M. Influences on regression testing
strategies in agile software development environments. Software Qual J.
[1] Campanelli AS, Parreiras FS. Agile methods tailoring-A systematic 2014 Dec; 22(4):717-39. DOI: 10.1007/s11219-013-9225.
literature review 2015. The Journal of Systems and Software.2015 Dec; [9] Anita, Chauhan N. A Regression test selection technique by optimizing
110:85-100. user stories in an agile development. IEEE International Advance
[2] Othmane LB, Angin P, Weffers H, Bhargava B. Extending the agile Computing Conference (IACC). 2014 Feb 21-22; 1454-58.
development process to develop acceptably secure software. Dependable DOI:10.1109/IAdCC.2014.6779540.
and Secure Computing.IEEE Transactions. 2014 Nov-Dec; 11(6):497- [10] Ekbal R, Srikanta P, Vandana B. Estimation and Evaluation of Change
509. DOI:10.1109/TDSC.2014.2298011. in Software Quality at a Particular Stage of Software Development.
[3] Vlaanderen K, Jansen S, Brinkkemper S, Jaspers E. The agile Indian Journal of Science and Technology.2013 Oct; 6(10).
requirements refinery: Applying SCRUM principles to software product [11] Akif R, Majeed H. Issues and challenges in Scrum implementation.
management. Information and Software Technology. 2011 Jan; International Journal of Scientific and Engineering Research. 2012 Aug;
53(1):58-70. 3(8):1-4.1. ISSN 2229-5518.
[4] Danevaa M, Veena EVD, Amrita C, Ghaisasb S, Sikkela K, Kumarb R,
Ajmerib N, Ramteerthkarb U, Wieringaa R. Agile requirements

150

R. Vijay Anand and Dr. M. Dinakaran, “Popular agile methods in software development: review and analysis,” International Journal of
Scientific and Technical Advancements, Volume 2, Issue 4, pp. 147-150, 2016.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy