Agile Software Development Methodology

download Agile Software Development Methodology

of 27

  • date post

  • Category


  • view

  • download


Embed Size (px)



Transcript of Agile Software Development Methodology

  • 1. Agile Software DevelopmentMethodologies Presented by Prageeth Sandakalum Faculty of Information Technology, University of Moratuwa
  • 2. The Agenda...1. What is SDLC ?2. The heavyweight approaches3. Why Agile ?4. The Agile Approach5. The Principles of Agile6. Agile for different Organizations7. Agile Project Development Issues Requirement Analysis, Project Management, Effort Estimation & Software Pricing6. Applications of Agile7. Extreme Programming, Scrum and Crystal Methods8. Agile Compared9. Advantages and Limitations Presented By10. Lets get back to what we studied Harry Mills / PRESENTATIONPRO
  • 3. What is SLDC ? Its all about birth and death What are the approaches to developing software Systems? Process-Oriented Approach Data-Oriented Approach People Driven Approach ?? Is there one best way? What is the difference between techniques, methodologies & tools? Presented By What does the popular term SDLC actually mean? Harry Mills / PRESENTATIONPRO
  • 4. Heavyweight Approaches The ever loving Waterfall Presented By Harry Mills / PRESENTATIONPRO
  • 5. Waterfall Continued. Features Easy to follow. Can be used for any sized project Every stage will be done at a specific time Documentation is produced at every stage Testing is done at every stage. Presented By Harry Mills / PRESENTATIONPRO
  • 6. Waterfall Continued. Advantages Early visibility of potential problems. Requirements wont be changed. Easy to learn with the documentation Need only to follow the design Ideal for Critical Systems Presented By Harry Mills / PRESENTATIONPRO
  • 7. Waterfall Continued. Disadvantages Change of requirements is costly Lack of flexibility Comparatively more time required A black box to the customer Not applicable to RAD type projects Presented By Harry Mills / PRESENTATIONPRO
  • 8. Waterfall Continued. An Example ScenarioOh Give me a Home ! Presented By Harry Mills / PRESENTATIONPRO
  • 9. Waterfall Continued. This is what I wanted Presented By Harry Mills / PRESENTATIONPRO
  • 10. Why Agile ? Introduction to Agile MethodsWhat makes a method Agile? Incremental (small releases, rapid cycles) Cooperative (between developers and customers) Straightforward (method is easy to learn and modify Adaptive (embrace changes, even last moment)When we use Agile? Requirements (uncertain or volatile) Developers (responsible and motivated) Presented By Customer (is involved and understands) Harry Mills / PRESENTATIONPRO
  • 11. The Agile Approach... The Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to changes over following a plan Presented By Harry Mills / PRESENTATIONPRO
  • 12. Presented ByHarry Mills / PRESENTATIONPRO
  • 13. The Building Blocks... The Principles of AgileRapid, continuous deliveryFrequent deliveryWorking softwareAccommodationClose, daily cooperationMotivated, skilled peopleSelf-organizing teams Presented By Harry Mills / PRESENTATIONPRO
  • 14. Adopting Agile... Agile for different OrganizationsThe Start-UpsOrganizations with a historyOther Factors The Project Size Customers view point Presented By Harry Mills / PRESENTATIONPRO
  • 15. How Agile works... Agile Project DevelopmentAgile Way of Requirement Analysis User Scenarios for requirement gathering A user adds a new budget to the system to start financial planning. Does the user have to be logged in? What are the values stored in the budget? Who is responsible for the budget? Presented By Harry Mills / PRESENTATIONPRO
  • 16. User Scenarios Continued Characteristics of a User Scenario As a [type or role of user] I want to [perform some task] So that I can [reach some goal]User Scenarios Should be Independent Negotiable Valuable Estimable Brief Presented By Testable Harry Mills / PRESENTATIONPRO
  • 17. How Agile works... Effort EstimationEstimating Work Effort Expert opinion Disaggregation AnalogyEstimating Work Effort in Agile way Effort-Accuracy relationships Planning Poker Ideal Days calculation Presented By Harry Mills / PRESENTATIONPRO
  • 18. Agile Applications The different Agile Approaches Extreme Programming SCRUM Crystal Family Dynamic System Development Method (DSDM) In-House Development Feature Driven Development (FDD) Internet-Speed Development (ISD) Pragmatic Programming XBreed Test Driven Development (TDD) Presented By AND MANY MORE METHODS Mills / PRESENTATIONPRO Harry
  • 19. Agile Applications Continued. Extreme Programming Extreme Programming Based on 12 practises Presented By Harry Mills / PRESENTATIONPRO
  • 20. XP Continued The 12 Practices The Planning Process Pair Programming Small Releases Collective Ownership Metaphor Continuous Integration Simple Design 40-hour Week Testing On-site Customer Refactoring Coding Standard Presented By Harry Mills / PRESENTATIONPRO
  • 21. Agile Applications Continued SCRUM Process What is the Product Backlog ? What is a Sprint ? Sprint Review Sprint Retrospective Incorporate into the product backlog Print release Presented By Harry Mills / PRESENTATIONPRO
  • 22. Agile Applications Continued Crystal MethodsIntroduced by Alistair CockburnValues of Crystal Methods People and Communication Centric High ToleranceTypes of Methods Crystal Clear Crystal Orange Presented By Harry Mills / PRESENTATIONPRO
  • 23. Agile Vs Heavyweight Presented By Harry Mills / PRESENTATIONPRO
  • 24. Is Agile Perfect ? Advantages and Limitations Shortened software development cycle time High stability in the work load High flexibility in changing the plans. Can achieve higher quality in the software The developers focus