Agile Software Development Methodology


Published on

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Process-Oriented ApproachFocus is on flow, use and transformation of data in an information systemInvolves creating graphical representations such as data flow diagrams and chartsData-Oriented ApproachDepicts ideal organization of data, independent of where and how data are usedData model describes kinds of data and business relationships among the dataBusiness rules depict how organization captures and processes the data
  • Agile Software Development Methodology

    1. 1. Agile Software DevelopmentMethodologies Presented by Prageeth Sandakalum Faculty of Information Technology, University of Moratuwa
    2. 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 Compared…9. Advantages and Limitations Presented By10. Let’s get back to what we studied Harry Mills / PRESENTATIONPRO
    3. 3. What is SLDC ? It’s 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. 4. Heavyweight Approaches The ever loving “Waterfall” Presented By Harry Mills / PRESENTATIONPRO
    5. 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. 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. 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. 8. Waterfall Continued…. An Example ScenarioOh Give me a Home ! Presented By Harry Mills / PRESENTATIONPRO
    9. 9. Waterfall Continued…. This is what I wanted Presented By Harry Mills / PRESENTATIONPRO
    10. 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. 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. 12. Presented ByHarry Mills / PRESENTATIONPRO
    13. 13. The Building Blocks... The Principles of AgileRapid, continuous deliveryFrequent deliveryWorking softwareAccommodationClose, daily cooperationMotivated, skilled peopleSelf-organizing teams Presented By Harry Mills / PRESENTATIONPRO
    14. 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. 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. 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. 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. 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. 19. Agile Applications Continued…. Extreme Programming Extreme Programming  Based on 12 practises Presented By Harry Mills / PRESENTATIONPRO
    20. 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. 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. 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. 23. Agile Vs Heavyweight Presented By Harry Mills / PRESENTATIONPRO
    24. 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 only on implementation Customer Collaboration Lack of Documentation Larger teams Lack of support in Critical Systems Presented By Harry Mills / PRESENTATIONPRO
    25. 25. A final word... The SummaryIt is a building block which you can create different applicationson top of itAgile has advantagesas well as limitations. It’s up to thedevelopers to decide on applicabilityAfter all it’s an excellent approach for the competitive softwareindustry Presented By Harry Mills / PRESENTATIONPRO
    26. 26. A sign of Gratitude... Thank you for your suppport.Mr. Sanath A. Fernando, CEO, Ridgecrest Financial, for hiscomments and reviewsMr. Yohan Welikala, Managing Director, Codegen International, forhis encouragement and reviews Presented By Harry Mills / PRESENTATIONPRO
    27. 27. Thank You???