1 / 18

Agile Software Development Methodologies

Agile Software Development Methodologies. by Saravanan Bala. General Report. 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated it. One in every 2 projects exceeds its budget by 200 % * Gartner group IT Report 2007

amaris
Download Presentation

Agile Software Development Methodologies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agile Software Development Methodologies bySaravanan Bala

  2. General Report • 31 % of Software projects are cancelled • 75 % of the software projects are considered failures by the people who initiated it. • One in every 2 projects exceeds its budget by 200 % * Gartner group IT Report 2007 * The Standish Group Chaos report 2000

  3. Dam Construction

  4. Traditional Models Vs Agile • Traditional models - building a fairly “large system” with large amount of design involved. • Changing business environment - turn around time of the software need to be very small • Competition and rapid changes – not always possible to have a system “requirement phase” which is complete. • When requirements – changing & coming in increments • Iterative delivery of software is the only way • Necessitates a model to be followed.

  5. Concurrency & The key difference

  6. Agile Manifesto • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan

  7. Existing Agile Methods • Extreme Programming (XP) • Scrum • Feature Driven Development • Crystal family of methodologies • The Rational Unified Process • Dynamic Systems Development Method • Adaptive Software Development • Open Source Software development

  8. Extreme Programming - Process

  9. Roles & Responsiblilities • Programmer - Writes and tests codes. • Customer - Writes stories and sets implementation priority • Tester – Help customer write functional test and broadcast test results regularly • Tracker – Traces the estimates made by team , evaluates whether the goal is reachable or not • Coach - Responsible for the process as a whole • Consultant – External member possess specific technical knowledge • Manager – Makes the decisions , communicates with the project team

  10. Extreme Programming - Practices • Planning game – Programmer estimate the effort needed and customer decides the timing of releases. • Small/Short releases – A simple system is productionized 2 to 3 months • Simple design – Simplest possible solution implemented rapidly • Pair Programming – Two people writing at one computer • Collective ownership - cross functional • Continuous Integration – New piece of code is integrated into the code base as soon as it is ready

  11. Extreme Programming - Practices • 40 – hour week – max ,no two over time weeks allowed. If it happens , it is treated as problem to be solved. • Onsite customer – Customer has to be present and available full time for the team. • Coding standards – coding rules exist and followed • Just rules – Can be changed with common consensus • Scope of usage: • XP is aimed for small and medium sized teams limited between 3 and a maximum of 20 team members.

  12. Scrum • The term 'scrum' originally derives from a strategy in the game of rugby where it denotes "getting an out-of play ball back into the game" with teamwork. • Scrum concentrates on how the team members should function in order to produce the system flexibly in a constantly changing environment.

  13. Scrum - Process

  14. Scrum - Roles & Responsibilities • Scrum master – Responsible for ensuring the project is carried according to practices, values, rules of scrum. Interacts with Team, customer and management. • Scrum team – It is the project team, organize to achieve the goal of each sprint. • Customer - Participates in the product backlog items • Management – Final decision making & setting goals.

  15. Scope of use : Scrum is best suited for small teams of less than 10 engineers.

  16. Conclusion • In case when software development is Incremental, co operative, adaptive we can use Agile methodology. • Agile is simply the latest theory that is widely accepted will change and evolve well into the future.

  17. References • Dyba, T, Dingsoyr, T, “What Do We Know about Agile Software Development?” Proceedings of the Software IEEE on Sep – Oct 2008 sponsored by IEEE computer society. • Tichy, W.F, “Agile development: evaluation and experience” Proceedings of the 26th International Conference on Software Engineering in 2004. • Shi Zhong, Chen Liping, Chen Tian-en, “ Agile Planning & Development Methods “ Proceedings of the 3rd International conference on Computer Research and development (ICCRD) in Mar 2011. • Ferreira, J, Noble, J, Biddle, R, “Agile Development Iterations and UI Design”, Proceedings of the Agile 2007 conference. • Xiaofeng Wang , “The Combination of Agile and Lean in Software Development: An Experience Report Analysis”, Proceedings of the Agile conference 2011.

  18. End

More Related