AGILE METHODOLOGY
Department of Computer Science & Engineering
Swami Keshvanand Institute of Technology, Management & Gramothan
Rajasthan Technical University, Kota
Submitted To
Mrs. Priyanka Bhardwaj
Assistant Prof. of CS Dept.
Submitted By
Chandra Prakash
(15ESKCS716)
Computer Science & Engg.
CONTENTS
1. What is Agile Methodology ?
2. Agile vs. Traditional Methodology
3. Benefits of Agile
4. Where is it needed ?
5. What are Agile Software Development models ?
6. Why do we choose Agile Software Development ?
7. Roles in Agile
8. How Agile Team Plans ?
9. What is User Story in Agile ?
10.Conclusion
11.References
What is Agile Methodology ?
• AGILE methodology is a practice that promotes continuous iteration of
development and testing throughout the software development lifecycle of the
project.
• Both development and testing activities are concurrent unlike the Waterfall
model.
• The agile software development emphasizes on four core values.
1. Individual and team interactions over processes and tools
2. Working software over comprehensive documentation
3. Customer collaboration over contract negotiation
4. Responding to change over following a plan
• In 1970, Dr. William Royce published a paper that discussed the managing
and developing of large software systems.
Agile vs. Traditional Methodology
1. Agile method proposes incremental and iterative approach to software
design but Development of the software flows sequentially from start
point to end point.
2. The customer has early and frequent opportunities to look at the product
and make decision and changes to the project but The customer can only
see the product at the end of the project.
3. Error can be fixed in the middle of the project but Only at the end, the
whole product is tested. If the requirement error is found or any changes
have to be made, the project has to start from the beginning.
4. More communication between customers and clients but in traditional
method less communication between customers and clients.
5. Testers and developers work together but in traditional method Testers
work separately from developers.
6. At the end of every sprint, user acceptance is performed but in other
hand User acceptance is performed at the end of the project.
Benefits of Agile
when used in the above-mentioned cases
1.Easily adapts  to  changes  caused  by  shifts  in  customer  behavior, 
industry standards or technology
2.Provides tangible results (new software versions that are stable enough 
and  offer  the  minimal  functionality  to  meet  stakeholder  requirements) 
after each sprint (2-3 weeks)
3.Actively  engages  stakeholders  to  guarantee  better user
satisfaction and control over the delivery results
4.Has Quality Assurance integrated in the process, which allows for less 
rework and improved quality
5.Helps you to stay on budget and get a valuable result
Where is it needed ?
Many  companies  are  shifting  from  waterfall  to  agile  as  their  preferred 
software  development  project  methodology.  Yet  while  agile  offers 
developers  the  advantage  of  build  flexibility  as  users’  ideas  and 
requirements clarify, the methodology lacks an efficient means by which 
the different stakeholders and developers can communicate thoughts and 
changing needs.
What are Agile Software Development
models ?
Actually  Agile  model  refers  to  a  group  of  development  processes.  These 
processes  share  some  basic  characteristics  but  do  have  certain  subtle 
differences among themselves. A few Agile SDLC models are given below:
Extreme programming (XP)
Extreme  programming  is  a  software  development  methodology  which  is 
intended  to  improve  software  quality  and  responsiveness  to  changing 
customer requirements.
Crystal
Crystal  method  is  an  agile  software  development  approach  that  focuses 
primarily on people and their interactions when working on a project .
Feature-driven development(FDD)
Feature-driven  development  is  an  iterative  and  incremental  software 
development  process.  It  is  a  lightweight  or  Agile  method  for  developing 
software.
 Scrum
Scrum  is  an  agile  framework  for  managing  knowledge  work,  with  an 
emphasis on software development.
 Lean development
Lean software development is a translation of lean manufacturing principles 
and practices to the software development domain.
Why do we choose Agile Software Development?
• The agile method anticipates change and allows for much more flexibility 
than traditional methods. Clients can make small objective changes without 
huge amendments to the budget or schedule. 
• This method saves the client money and time because the client tests and 
approves the product at each step of development.
• Agile Software Development is a set of methods and practices based on the 
values and principles expressed in the Agile Manifesto(a public declaration 
of policy and aims). 
• Solutions  evolve  through  collaboration  between  self-organizing,  cross-
functional  teams(A cross-functional team is  a  group  of  people  with 
different functional expertise  working  toward  a  common  goal.  It  may 
include people from finance, marketing, operations, and human resources 
departments).
•   However,  we  need  agile  software  development  over  other  software 
development methodologies for the following reasons.
Roles in Agile
The common agile roles are:-
1.Scrum Master
2.Team Member
3.Product Owner
4.Stakeholder
 Scrum Master :- This role,  called  “Scrum  Master”  in  Scrum  or  team 
coach or project lead in other methods, is responsible for facilitating the 
team, obtaining resources for it, and protecting it from problems. 
 Responsibilities of Scrum Master :-
• To remove any blocks
• To shield team from any disturbance
• To  work  with  the  organization  to  track  progress  and  processes  of 
company
• Daily standup, Planned meetings, Review
 Team Member :- A  person  belonging  to  a  specific group of  people 
involved in attempting to achieve a common goal.
1. Core Team Member - a full time role on the project but not necessarily for 
the duration of the project.
2. Extended Team Member - a part time role on the project
 Responsibilities of Team Member :-
• Understanding the purpose and objectives of the project
• Ensuring a correct balance between project and non-project work
• Working to timescales and within cost constraints
• Responsible for the project’s creation and delivery
 Product Owner :- Product owners are at the center of every development 
cycle. At the most basic level, a product owner is the leader responsible for 
maximizing the value of the products created by a scrum development team. 
    But to do this, an agile product owner takes on several roles, including          
business strategist, product designer, market analyst, customer liaison,   and 
project manager.
 Responsibilities of Product Owner :-
• Defining the vision
• Managing the product backlog
• Overseeing development stages
• Anticipating client needs
• Evaluating product progress at each iteration
 Stakeholder :- Represents a broad category of people who can be users, 
managers of users, operations, support, Portfolio Managers.
In addition to these common roles, Agile teams will sometimes have     
extended cast members who are called upon to provide technical or   domain 
expertise for certain specialized skills that may not be present   amongst the 
team members
How Agile Team Plans ?
• Agile team works in iterations to deliver user stories.
• Each user story is planned based on its backlog prioritization and size.
• Team  uses  its  capacity, how  many hours are  available with team to 
work on tasks, to decide how much scope they have to plan.
User Story A
User Story B User Story C
What is User Story in Agile ?
• A User Story is a requirement which define what is required by the
user as functionality.
• A User Story can be two forms
1. As a <User Role> I want <Functionality> so that <Business Value>
2. In order to <Business Value> as a <User Role> I want
<Functionality>
• During iteration planning, Story is broken down into tasks.
• User Story talks about what to be done.
Example :-
Users Role = User (Account holder)
Functionality = Add amount ( perform some role)
Business Value = Deposit
ANY QUESTION
THANK YOU

Agile methodology

  • 1.
    AGILE METHODOLOGY Department ofComputer Science & Engineering Swami Keshvanand Institute of Technology, Management & Gramothan Rajasthan Technical University, Kota Submitted To Mrs. Priyanka Bhardwaj Assistant Prof. of CS Dept. Submitted By Chandra Prakash (15ESKCS716) Computer Science & Engg.
  • 2.
    CONTENTS 1. What isAgile Methodology ? 2. Agile vs. Traditional Methodology 3. Benefits of Agile 4. Where is it needed ? 5. What are Agile Software Development models ? 6. Why do we choose Agile Software Development ? 7. Roles in Agile 8. How Agile Team Plans ? 9. What is User Story in Agile ? 10.Conclusion 11.References
  • 3.
    What is AgileMethodology ? • AGILE methodology is a practice that promotes continuous iteration of development and testing throughout the software development lifecycle of the project. • Both development and testing activities are concurrent unlike the Waterfall model. • The agile software development emphasizes on four core values. 1. Individual and team interactions over processes and tools 2. Working software over comprehensive documentation 3. Customer collaboration over contract negotiation 4. Responding to change over following a plan • In 1970, Dr. William Royce published a paper that discussed the managing and developing of large software systems.
  • 4.
    Agile vs. TraditionalMethodology 1. Agile method proposes incremental and iterative approach to software design but Development of the software flows sequentially from start point to end point. 2. The customer has early and frequent opportunities to look at the product and make decision and changes to the project but The customer can only see the product at the end of the project. 3. Error can be fixed in the middle of the project but Only at the end, the whole product is tested. If the requirement error is found or any changes have to be made, the project has to start from the beginning. 4. More communication between customers and clients but in traditional method less communication between customers and clients.
  • 5.
    5. Testers anddevelopers work together but in traditional method Testers work separately from developers. 6. At the end of every sprint, user acceptance is performed but in other hand User acceptance is performed at the end of the project.
  • 7.
    Benefits of Agile whenused in the above-mentioned cases 1.Easily adapts  to  changes  caused  by  shifts  in  customer  behavior,  industry standards or technology 2.Provides tangible results (new software versions that are stable enough  and  offer  the  minimal  functionality  to  meet  stakeholder  requirements)  after each sprint (2-3 weeks) 3.Actively  engages  stakeholders  to  guarantee  better user satisfaction and control over the delivery results 4.Has Quality Assurance integrated in the process, which allows for less  rework and improved quality 5.Helps you to stay on budget and get a valuable result
  • 8.
    Where is itneeded ? Many  companies  are  shifting  from  waterfall  to  agile  as  their  preferred  software  development  project  methodology.  Yet  while  agile  offers  developers  the  advantage  of  build  flexibility  as  users’  ideas  and  requirements clarify, the methodology lacks an efficient means by which  the different stakeholders and developers can communicate thoughts and  changing needs.
  • 9.
    What are AgileSoftware Development models ? Actually  Agile  model  refers  to  a  group  of  development  processes.  These  processes  share  some  basic  characteristics  but  do  have  certain  subtle  differences among themselves. A few Agile SDLC models are given below: Extreme programming (XP) Extreme  programming  is  a  software  development  methodology  which  is  intended  to  improve  software  quality  and  responsiveness  to  changing  customer requirements. Crystal Crystal  method  is  an  agile  software  development  approach  that  focuses  primarily on people and their interactions when working on a project . Feature-driven development(FDD) Feature-driven  development  is  an  iterative  and  incremental  software  development  process.  It  is  a  lightweight  or  Agile  method  for  developing  software.
  • 10.
     Scrum Scrum  is an  agile  framework  for  managing  knowledge  work,  with  an  emphasis on software development.  Lean development Lean software development is a translation of lean manufacturing principles  and practices to the software development domain.
  • 11.
    Why do wechoose Agile Software Development? • The agile method anticipates change and allows for much more flexibility  than traditional methods. Clients can make small objective changes without  huge amendments to the budget or schedule.  • This method saves the client money and time because the client tests and  approves the product at each step of development. • Agile Software Development is a set of methods and practices based on the  values and principles expressed in the Agile Manifesto(a public declaration  of policy and aims).  • Solutions  evolve  through  collaboration  between  self-organizing,  cross- functional  teams(A cross-functional team is  a  group  of  people  with  different functional expertise  working  toward  a  common  goal.  It  may  include people from finance, marketing, operations, and human resources  departments). •   However,  we  need  agile  software  development  over  other  software  development methodologies for the following reasons.
  • 12.
    Roles in Agile Thecommon agile roles are:- 1.Scrum Master 2.Team Member 3.Product Owner 4.Stakeholder
  • 13.
     Scrum Master:- This role,  called  “Scrum  Master”  in  Scrum  or  team  coach or project lead in other methods, is responsible for facilitating the  team, obtaining resources for it, and protecting it from problems.   Responsibilities of Scrum Master :- • To remove any blocks • To shield team from any disturbance • To  work  with  the  organization  to  track  progress  and  processes  of  company • Daily standup, Planned meetings, Review  Team Member :- A  person  belonging  to  a  specific group of  people  involved in attempting to achieve a common goal. 1. Core Team Member - a full time role on the project but not necessarily for  the duration of the project. 2. Extended Team Member - a part time role on the project  Responsibilities of Team Member :- • Understanding the purpose and objectives of the project • Ensuring a correct balance between project and non-project work • Working to timescales and within cost constraints • Responsible for the project’s creation and delivery
  • 14.
     Product Owner:- Product owners are at the center of every development  cycle. At the most basic level, a product owner is the leader responsible for  maximizing the value of the products created by a scrum development team.      But to do this, an agile product owner takes on several roles, including           business strategist, product designer, market analyst, customer liaison,   and  project manager.  Responsibilities of Product Owner :- • Defining the vision • Managing the product backlog • Overseeing development stages • Anticipating client needs • Evaluating product progress at each iteration  Stakeholder :- Represents a broad category of people who can be users,  managers of users, operations, support, Portfolio Managers. In addition to these common roles, Agile teams will sometimes have      extended cast members who are called upon to provide technical or   domain  expertise for certain specialized skills that may not be present   amongst the  team members
  • 15.
    How Agile TeamPlans ? • Agile team works in iterations to deliver user stories. • Each user story is planned based on its backlog prioritization and size. • Team  uses  its  capacity, how  many hours are  available with team to  work on tasks, to decide how much scope they have to plan. User Story A User Story B User Story C
  • 16.
    What is UserStory in Agile ? • A User Story is a requirement which define what is required by the user as functionality. • A User Story can be two forms 1. As a <User Role> I want <Functionality> so that <Business Value> 2. In order to <Business Value> as a <User Role> I want <Functionality> • During iteration planning, Story is broken down into tasks. • User Story talks about what to be done. Example :- Users Role = User (Account holder) Functionality = Add amount ( perform some role) Business Value = Deposit
  • 17.
  • 18.