Software Development

      Siti Azidah binti Abidin
   Ermie Dharlya binti Che Daud
Agile Software Development
   A group of software development
methods based on iterative and incremental
  development, where requirements and
  solutions evolve through collaboration
 between self-organizing, cross-functional
                  teams.




                     Source : http://en.wikipedia.org/wiki/Agile_software_development
Source : http://agilemanifesto.org/
12 Principles of Agile Software
              Development
1. Customer satisfaction by rapid delivery of
   useful software
2. Welcome changing requirements, even late in
   development
3. Working software is delivered frequently
   (weeks rather than months)
4. Working software is the principal measure of
   progress
5. Sustainable development, able to maintain a
   constant pace
6. Close, daily co-operation between business
   people and developers
                                    Source : http://agilemanifesto.org/
12 Principles of Agile Software
              Development
7.  Face-to-face conversation is the best form of
    communication (co-location)
8. Projects are built around motivated
    individuals, who should be trusted
9. Continuous attention to technical excellence
    and good design
10. Simplicity
11. Self-organizing teams
12. Regular adaptation to changing circumstances

                                     Source : http://agilemanifesto.org/
Agile
           methodologies
           believe that …

             adaptability to changing
   requirements at any point during
    the project life is a more realistic
           and better approach than
             attempting to define all
 requirements at the beginning of a
project and then expending effort to
              control changes to the
                         requirements.
Agile Development Methodologies
•   Agile Modeling
•   Agile Unified Process (AUP)
•   Dynamic Systems Development Method (DSDM)
•   Essential Unified Process (EssUP)
•   Exia Process (ExP)
•   Extreme Programming (XP)
•   Feature Driven Development (FDD)
•   Open Unified Process (OpenUP)
•   Scrum
•   Crystal Clear
•   Velocity tracking
•   Kanban (development)
•   GSD

                                 Source : http://en.wikipedia.org/wiki/Agile_software_development
Characteristics of Agile Development
               Methodologies
•   Reduce the cost of change.
•   Emphasis on coding.
•   Emphasis on testing.
•   Listening to customer needs.
•   Software Architecture Design is optional.
•   Emphasis on Software Release
Advantages
     • Shorter development time
• Continuous communication between
         developers and client
  • Adaptive to requirement changes
Disadvantages
• Insufficient structure and necessary
  documentation
• Prioritizing changes can be difficult
• Can lead to more difficult contractual
  negotiations
Agile is…
• Suitable for project where product release is
  important factor.
• Requires huge staff and later break into group
  which tackle specific problem.
• Needs more customer involvement.



                         Agile Software Development on Youtube:
             http://www.youtube.com/watch?v=IbhKG0rNWgQ&feature=related
              http://www.youtube.com/watch?v=OJflDE6OaSc&feature=related

Agile

  • 1.
    Software Development Siti Azidah binti Abidin Ermie Dharlya binti Che Daud
  • 2.
    Agile Software Development A group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. Source : http://en.wikipedia.org/wiki/Agile_software_development
  • 3.
  • 4.
    12 Principles ofAgile Software Development 1. Customer satisfaction by rapid delivery of useful software 2. Welcome changing requirements, even late in development 3. Working software is delivered frequently (weeks rather than months) 4. Working software is the principal measure of progress 5. Sustainable development, able to maintain a constant pace 6. Close, daily co-operation between business people and developers Source : http://agilemanifesto.org/
  • 5.
    12 Principles ofAgile Software Development 7. Face-to-face conversation is the best form of communication (co-location) 8. Projects are built around motivated individuals, who should be trusted 9. Continuous attention to technical excellence and good design 10. Simplicity 11. Self-organizing teams 12. Regular adaptation to changing circumstances Source : http://agilemanifesto.org/
  • 6.
    Agile methodologies believe that … adaptability to changing requirements at any point during the project life is a more realistic and better approach than attempting to define all requirements at the beginning of a project and then expending effort to control changes to the requirements.
  • 7.
    Agile Development Methodologies • Agile Modeling • Agile Unified Process (AUP) • Dynamic Systems Development Method (DSDM) • Essential Unified Process (EssUP) • Exia Process (ExP) • Extreme Programming (XP) • Feature Driven Development (FDD) • Open Unified Process (OpenUP) • Scrum • Crystal Clear • Velocity tracking • Kanban (development) • GSD Source : http://en.wikipedia.org/wiki/Agile_software_development
  • 8.
    Characteristics of AgileDevelopment Methodologies • Reduce the cost of change. • Emphasis on coding. • Emphasis on testing. • Listening to customer needs. • Software Architecture Design is optional. • Emphasis on Software Release
  • 10.
    Advantages • Shorter development time • Continuous communication between developers and client • Adaptive to requirement changes
  • 11.
    Disadvantages • Insufficient structureand necessary documentation • Prioritizing changes can be difficult • Can lead to more difficult contractual negotiations
  • 12.
    Agile is… • Suitablefor project where product release is important factor. • Requires huge staff and later break into group which tackle specific problem. • Needs more customer involvement. Agile Software Development on Youtube: http://www.youtube.com/watch?v=IbhKG0rNWgQ&feature=related http://www.youtube.com/watch?v=OJflDE6OaSc&feature=related

Editor's Notes

  • #3  The term “agile” leads to a development process that is more responsive to customer needs compared traditional methods.
  • #5 . Highest priority is to satisfy the customer through early and continuous delivery of valuable software.2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.4. Business people and developers must work together daily throughout the project.5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  • #6 7. Working software is the primary measure of progress.8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely9. Continuous attention to technical excellence and good design enhances agility.10. Simplicity--the art of maximizing the amount of work not done--is essential.11. The best architectures, requirements, and designs emerge from self-organizing teams.12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.