Popular Agile Method
Popular Agile Method
ISSN: 2454-1532
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
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
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.