1 / 16

Agile Software Development

Agile Software Development. By Kshitij Limaye CSC 532. Current Software Development Situation. Systems are regularly delivered late and over budget Customer hardly works with developers after the requirements phase.

hedley
Download Presentation

Agile Software Development

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 By Kshitij Limaye CSC 532

  2. Current Software Development Situation • Systems are regularly delivered late and over budget • Customer hardly works with developers after the requirements phase. • In radically changing market it is not possible to gather customer requirements that are stable and unchanging • Customer is not always sure of what he wants

  3. Problems with Traditional Processes Concept design Product and feature specifications Coding Testing Response Time DESIGN FROZEN START END Problem: When the market/technology advances at a faster pace than you can respond [3]

  4. Agile Method A method of software development that aims for customer satisfaction through early and continuous delivery of useful software components[1]

  5. Uncertain Environments Stable Environments: Traditional Approach Uncertain Environments: Agile Approach (Iterative) Source [3]

  6. Key Differences • Agile methods are adaptive rather than predictive • Agile methods are people oriented rather than process oriented.

  7. Agile Process Philosophy • Individuals and interactions over processes and tools. • Working software over comprehensive documentation • Customer collaboration over contract negotiations. • Responding to change over following a plan.

  8. Individuals & Interactions • Face to face meetings lead to faster transfer of ideas & quicker response. • Pair Programming • Individual not a replaceable part of system • Team takes technical decisions

  9. Working Software • Source code is most important document. • Working model makes understanding better. • Simplicity approach in XP. • Maintainers normally go through source code first.

  10. Customer Collaboration Vs Contract Negotiations • Preference to fixed price contracts. • Customer on site. • Customer has finer control over the project. • Different kind of business model needed. • Definition of Success

  11. Responding to change • Responding to change than following laid out plan • In predictable processes, difficulty in mapping new requirement to additional cost. • Iterative approach • Teams with onsite customer produce better code.

  12. Examples of Agile processes • Extreme Programming • Crystal • Adaptive software development • Feature driven development • Dynamic systems development method

  13. Implementing Agile Processes • Job profiles will change, so resistance. • Management is also uncomfortable with agile processes. • agile processes decisions are not experimentation.

  14. Conclusion: When go agile? • Uncertain & volatile requirements. • Responsible & motivated developers • Customers who understand and willing to get involved.

  15. References • Manifesto for Agile software development; http://agilealliance.com • New methodology; Fowler; Martin; http://www.martinfowler.com/articles/newMethodology.html • Agile software development: Evidence from the field. Alan MacCormack http://www.agiledevelopmentconference.com/2003/ files/AlanAgileSoftwareJun03.ppt

  16. Q & A

More Related