Dr. Ambedkar Institute Of Technology
Subject-Software Engineering And Project Management
Sub Code-21CST601
Branch-Computer Science And Engineering
Topic-Agile Development Models
Presented By:
Kushal Gowda U B
1DA21CS179
Submitted To:
Dr. Praveena M V
Assistant Professor
Dept. Of CSE
Agile Development
 Agile Software Development is a software
development methodology that values flexibility,
collaboration, and customer satisfaction.
 It is based on the Agile Manifesto, a set of
principles for software development that prioritize
individuals and interactions, working software,
customer collaboration, and responding to
change.
 Agile Software Development is an iterative and
incremental approach to software
development that emphasizes the importance of
delivering a working product quickly and
frequently.
 It involves close collaboration between the
development team and the customer to ensure
that the product meets their needs and
expectations.
Agile Software Development
Process
 Requirements Gathering: The customer’s
requirements for the software are gathered and
prioritized.
 Planning: The development team creates a plan for
delivering the software, including the features that will
be delivered in each iteration.
 Development: The development team works to build
the software, using frequent and rapid iterations.
 Testing: The software is thoroughly tested to ensure
that it meets the customer’s requirements and is of high
quality.
 Deployment: The software is deployed and put into
use.
 Maintenance: The software is maintained to ensure
that it continues to meet the customer’s needs and
expectations.
Agile Process Models
 Extreme Programming (XP)
 Dynamic Systems Development
Method (DSDM)
 Scrum
 Crystal
 Feature Driven Development (FDD)
 Lean Software Development
Extreme Programming(XP)
 Relies on object-oriented approach
 Key activities
◦ Planning (user stories created and ordered by
customer value)
◦ Design (simple designs preferred, CRC cards and
design prototypes are only work products,
encourages use of refactoring)
◦ Coding (focuses on unit tests to exercise stories,
emphasizes use of pairs programming to create story
code, continuous integration and smoke testing is
utilized)
◦ Testing (unit tests created before coding are
implemented using an automated testing framework
to encourage use of regression testing, integration
and validation testing done on daily basis,
acceptance tests focus on system features and
functions viewable by the customer)
Adaptive Software
Development
 Self-organization arises when independent agents cooperate to create
a solution to a problem that is beyond the capability of any individual
agent
 Emphasizes self-organizing teams, interpersonal collaboration, and
both individual and team learning
 Adaptive cycle characteristics
 Phases
◦ Mission-driven
◦ Component-based
◦ Iterative
◦ Time-boxed
◦ Risk driven and change-tolerant
◦ Speculation
◦ Collaboration
◦ Learning
Scrum
 SCRUM is an agile development process
focused primarily on ways to manage tasks in
team-based development conditions.
 There are three roles in it, and their
responsibilities are:
 Scrum Master: The scrum can set up the master
team, arrange the meeting and remove obstacles
for the process
 Product owner: The product owner makes the
product backlog, prioritizes the delay and is
responsible for the distribution of functionality on
each repetition.
 Scrum Team: The team manages its work and
organizes the work to complete the sprint or
cycle.
Crystal
 There are three concepts of this method-
 Chartering: Multi activities are involved in
this phase such as making a
development team, performing feasibility
analysis, developing plans, etc.
 Cyclic delivery: under this, two more
cycles consist, these are:
◦ Team updates the release plan.
◦ Integrated product delivers to the users.
 Wrap up: According to the user
environment, this phase performs
deployment, post-deployment.
Advantages of Agile
Development
 Faster Time-to-Market
 Improved Customer Satisfaction.
 Increased Flexibility
 Better Quality
 Improved Team Collaboration
 Reduced Risk
 Increased Employee Engagement
 Improved Adaptability
Disadvantages of Agile
Development
 Lack of Planning
 Difficulty in Estimating Effort
 Limited Scalability
 Difficulty in Managing Complexity
 Lack of Documentation
 Resistance to Change
 Difficulty in Measuring Progress

agile model development software engg.pptx

  • 1.
    Dr. Ambedkar InstituteOf Technology Subject-Software Engineering And Project Management Sub Code-21CST601 Branch-Computer Science And Engineering Topic-Agile Development Models Presented By: Kushal Gowda U B 1DA21CS179 Submitted To: Dr. Praveena M V Assistant Professor Dept. Of CSE
  • 2.
    Agile Development  AgileSoftware Development is a software development methodology that values flexibility, collaboration, and customer satisfaction.  It is based on the Agile Manifesto, a set of principles for software development that prioritize individuals and interactions, working software, customer collaboration, and responding to change.  Agile Software Development is an iterative and incremental approach to software development that emphasizes the importance of delivering a working product quickly and frequently.  It involves close collaboration between the development team and the customer to ensure that the product meets their needs and expectations.
  • 3.
    Agile Software Development Process Requirements Gathering: The customer’s requirements for the software are gathered and prioritized.  Planning: The development team creates a plan for delivering the software, including the features that will be delivered in each iteration.  Development: The development team works to build the software, using frequent and rapid iterations.  Testing: The software is thoroughly tested to ensure that it meets the customer’s requirements and is of high quality.  Deployment: The software is deployed and put into use.  Maintenance: The software is maintained to ensure that it continues to meet the customer’s needs and expectations.
  • 5.
    Agile Process Models Extreme Programming (XP)  Dynamic Systems Development Method (DSDM)  Scrum  Crystal  Feature Driven Development (FDD)  Lean Software Development
  • 6.
    Extreme Programming(XP)  Relieson object-oriented approach  Key activities ◦ Planning (user stories created and ordered by customer value) ◦ Design (simple designs preferred, CRC cards and design prototypes are only work products, encourages use of refactoring) ◦ Coding (focuses on unit tests to exercise stories, emphasizes use of pairs programming to create story code, continuous integration and smoke testing is utilized) ◦ Testing (unit tests created before coding are implemented using an automated testing framework to encourage use of regression testing, integration and validation testing done on daily basis, acceptance tests focus on system features and functions viewable by the customer)
  • 7.
    Adaptive Software Development  Self-organizationarises when independent agents cooperate to create a solution to a problem that is beyond the capability of any individual agent  Emphasizes self-organizing teams, interpersonal collaboration, and both individual and team learning  Adaptive cycle characteristics  Phases ◦ Mission-driven ◦ Component-based ◦ Iterative ◦ Time-boxed ◦ Risk driven and change-tolerant ◦ Speculation ◦ Collaboration ◦ Learning
  • 8.
    Scrum  SCRUM isan agile development process focused primarily on ways to manage tasks in team-based development conditions.  There are three roles in it, and their responsibilities are:  Scrum Master: The scrum can set up the master team, arrange the meeting and remove obstacles for the process  Product owner: The product owner makes the product backlog, prioritizes the delay and is responsible for the distribution of functionality on each repetition.  Scrum Team: The team manages its work and organizes the work to complete the sprint or cycle.
  • 9.
    Crystal  There arethree concepts of this method-  Chartering: Multi activities are involved in this phase such as making a development team, performing feasibility analysis, developing plans, etc.  Cyclic delivery: under this, two more cycles consist, these are: ◦ Team updates the release plan. ◦ Integrated product delivers to the users.  Wrap up: According to the user environment, this phase performs deployment, post-deployment.
  • 10.
    Advantages of Agile Development Faster Time-to-Market  Improved Customer Satisfaction.  Increased Flexibility  Better Quality  Improved Team Collaboration  Reduced Risk  Increased Employee Engagement  Improved Adaptability
  • 11.
    Disadvantages of Agile Development Lack of Planning  Difficulty in Estimating Effort  Limited Scalability  Difficulty in Managing Complexity  Lack of Documentation  Resistance to Change  Difficulty in Measuring Progress