KEMBAR78
Agile Software Design and Development Process.pptx
Agile Software
Design Process
BY
IBRAHIM MUBARAK
PG/023/0623
Contents
 Introduction
 The Agile Manifesto
 Principle of Agile
 Agile Methodology
 Agile Methodology
 Advantages
 Disadvantages
 References
Introduction
Agile is the ability to create and respond to change. Agile
development is a phrase used in software development to
describe methodologies for incremental software development
How did we get here ?
Traditional Software Development
 Waterfall
 Based on False Assumptions
◦ Requirements can be predicted up front
◦ You can perfect one phase before moving on the
next
◦ Timeframes and budgets can be predicted
upfront
◦ Feedback is not variable
Agile is the answer to the problem
◦ Frequent deliver software in increments
◦ Get detailed requirements “just in time” before
development to allow for change.
◦ Frequently gain feedback to adapt to change.
◦ Agile is about communication and collaboration
Agile Manifesto
We are uncovering better ways of developing software by doing it and helping others do it. Through
this work we have come to value:
There are four main values of Agile project management:
 Individuals and interactions over processes and tools
 Working software over comprehensive documentation
 Customer collaboration over contract negotiation
 Responding to change over following a plan
That is , while there is value in the items on the right, we value the items on the left more.
Principles of Agile
 Easy and continuous delivery
 Welcome changing requirements
 Deliver working software every couple of weeks to a couple of months, with a preference to the shorter timescale
 Business people and developers must work together daily
 Give the team the environment and support they need , and trust them to get the job done
 The most efficient and effective method of communicating is face to face conversation
 Working software is the primary measurement of progress
 Sustainable development to maintain a constant pace indefinitely
 Technical excellence and good design enhances agility
 Simplicity is essential
 The best architectures, requirements, and designs emerge from self-organizing teams
 At regular intervals, the team reflects on how to become more effective, adjusts its behaviour accordingly.
Agile Methodology
Agile methodology is a project management
framework that breaks projects down into
several dynamic phases, commonly known as
sprints.
The Agile framework is an iterative
methodology. After every sprint, teams
reflect and look back to see if there was
anything that could be improved so they can
adjust their strategy for the next sprint.
Some Popular Agile Methods
Popular Agile frameworks include
 Extreme Programming (XP)
 Feature Driven Development (FDD)
 Dynamic System Development Method (DSDM)
 Lean Software Development
 Scrum
 Kanban
Advantages of Agile Model
 Customer Satisfaction
 Working Software
 Measure of Progress
 Late Changes are Welcome
 Face to Face communication
 Motivated Individuals
 Technical Excellence
 Simplicity
 Self organizing
 Regular Adoption
Disadvantages of Agile Model
 In case of some software deliverables, especially the large ones, it is difficult to assess the
effort required at the beginning of the software development life cycle.
 There is lack of emphasis on necessary designing and documentation.
 The project can easily get taken off track if customer representative is not clear what outcome
that they want.
 Only senior programmers are capable of taking the kind of decisions required during the
development process. Hence it has no place for newbie programmers, unless combined with
experienced resources.

Agile Software Design and Development Process.pptx

  • 1.
  • 2.
    Contents  Introduction  TheAgile Manifesto  Principle of Agile  Agile Methodology  Agile Methodology  Advantages  Disadvantages  References
  • 3.
    Introduction Agile is theability to create and respond to change. Agile development is a phrase used in software development to describe methodologies for incremental software development
  • 4.
    How did weget here ? Traditional Software Development  Waterfall  Based on False Assumptions ◦ Requirements can be predicted up front ◦ You can perfect one phase before moving on the next ◦ Timeframes and budgets can be predicted upfront ◦ Feedback is not variable Agile is the answer to the problem ◦ Frequent deliver software in increments ◦ Get detailed requirements “just in time” before development to allow for change. ◦ Frequently gain feedback to adapt to change. ◦ Agile is about communication and collaboration
  • 5.
    Agile Manifesto We areuncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: There are four main values of Agile project management:  Individuals and interactions over processes and tools  Working software over comprehensive documentation  Customer collaboration over contract negotiation  Responding to change over following a plan That is , while there is value in the items on the right, we value the items on the left more.
  • 6.
    Principles of Agile Easy and continuous delivery  Welcome changing requirements  Deliver working software every couple of weeks to a couple of months, with a preference to the shorter timescale  Business people and developers must work together daily  Give the team the environment and support they need , and trust them to get the job done  The most efficient and effective method of communicating is face to face conversation  Working software is the primary measurement of progress  Sustainable development to maintain a constant pace indefinitely  Technical excellence and good design enhances agility  Simplicity is essential  The best architectures, requirements, and designs emerge from self-organizing teams  At regular intervals, the team reflects on how to become more effective, adjusts its behaviour accordingly.
  • 7.
    Agile Methodology Agile methodologyis a project management framework that breaks projects down into several dynamic phases, commonly known as sprints. The Agile framework is an iterative methodology. After every sprint, teams reflect and look back to see if there was anything that could be improved so they can adjust their strategy for the next sprint.
  • 8.
    Some Popular AgileMethods Popular Agile frameworks include  Extreme Programming (XP)  Feature Driven Development (FDD)  Dynamic System Development Method (DSDM)  Lean Software Development  Scrum  Kanban
  • 9.
    Advantages of AgileModel  Customer Satisfaction  Working Software  Measure of Progress  Late Changes are Welcome  Face to Face communication  Motivated Individuals  Technical Excellence  Simplicity  Self organizing  Regular Adoption
  • 10.
    Disadvantages of AgileModel  In case of some software deliverables, especially the large ones, it is difficult to assess the effort required at the beginning of the software development life cycle.  There is lack of emphasis on necessary designing and documentation.  The project can easily get taken off track if customer representative is not clear what outcome that they want.  Only senior programmers are capable of taking the kind of decisions required during the development process. Hence it has no place for newbie programmers, unless combined with experienced resources.