O slideshow foi denunciado.

Introduction to Agile Software Development

0

Compartilhar

Próximos SlideShares
Agile   overview
Agile overview
Carregando em…3
×
1 de 26
1 de 26

Introduction to Agile Software Development

0

Compartilhar

Baixar para ler offline

This is one of many Agile Tutorial slides available at http://www.avidanhetzroni.com/agile-tutorial/

In this slides deck, Avidan Hetzroni explains the basic concepts behind the Manifesto for Agile Software Development (a.k.a Values) and Principles.

This is one of many Agile Tutorial slides available at http://www.avidanhetzroni.com/agile-tutorial/

In this slides deck, Avidan Hetzroni explains the basic concepts behind the Manifesto for Agile Software Development (a.k.a Values) and Principles.

Mais Conteúdo rRelacionado

Livros relacionados

Gratuito durante 14 dias do Scribd

Ver tudo

Audiolivros relacionados

Gratuito durante 14 dias do Scribd

Ver tudo

Introduction to Agile Software Development

  1. 1. Introduction to Agile Manifesto for Agile Software Development
  2. 2. Avidan Hetzroni Enterprise Agile Coach, Trainer & Blogger Certified Scrum Professional Certified SAFe® Program Consultant Six Sigma Green-Belt B.Sc. System Engineering, BGU www.avidanhetzroni.com
  3. 3. What is Agile? The source of the word Agile is from Latin and it means quick and well- coordinated in movement; nimble or sprightly.
  4. 4. What is Agile Software Development? Agile Software Development is a set of Values and Principles for developing software. Solutions evolve through the collaborative effort of self-organizing cross-functional teams.
  5. 5. Agile Software Development  Adaptive planning  Evolutionary development  Early delivery  Continuous improvement  Rapid & flexible response to change
  6. 6. The Birth of Agile Software Development
  7. 7. 1970 Dr. Winston Walker Royce Managing the Development of Large Software Systems from which the Waterfall life cycle model was mistakenly drawn “I believe in this concept, but the implementation described above is risky and invites failure”
  8. 8. 1994 The Standish Group The CHAOS Report a survey of 365 respondents. Only 16.2 % of projects are completed on time, on budget and with all features and functions as specified
  9. 9. Why Software Projects Failed?  Upfront Requirements wish we had time to understand…  Change will be small … and manageable  We can deliver on time … enough “space” to recover  Integration will go well, we have a good design  Software Development is predictable and repeatable process
  10. 10. Where Waterfall Best Fit ? Adaptive Risk- Base Waterfall Adaptive Technology Uncertainty
  11. 11. 1990’s Lightweight methods start evolved  1991: Rapid Application Development  1994: Unified Process  1994: Dynamic Systems Development Method  1995: Scrum  1996: Extreme Programming  1996: Crystal Clear  1997: Feature Driven Development
  12. 12. 2001 17 software developers met at the Snowbird resort, Utah published the “Manifesto for Agile Software Development”
  13. 13. Manifesto for Agile Software Development
  14. 14. Agile Manifesto (a.k.a. Agile Values) “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:” Individuals and interactions OVER process and tools Working software comprehensive documentation Customer collaboration Responding to change contract negotiation following a plan “That is, while there is value in the items on the right, we value the items on the left more.” source: http://www.agilemanifesto.org/
  15. 15. Individuals and interactions self – organized teams motivation co-location interactions pair programming
  16. 16. Working Software Working software is more useful and welcome than just presenting documents to clients in meetings
  17. 17. Customer collaboration Requirements cannot be fully collected up front, therefore continuous customer or stakeholder involvement is very important.
  18. 18. Responding to change Software development methods are focused on quick responses to change and continuous development
  19. 19. Principles Behind Agile Manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable software Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale Business people and developers must work together daily throughout the project
  20. 20. Principles Behind Agile Manifesto (cont’) Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done The most efficient and effective method of conveying information to and within a development team is face-to-face conversation Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely
  21. 21. Principles Behind Agile Manifesto (cont’) Continuous attention to technical excellence and good design enhances agility Simplicity--the art of maximizing the amount of work not done--is essential The best architectures, requirements, and designs emerge from self- organizing teams At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
  22. 22. Iterative, Incremental and Evolutionary Minimize up-front planning and design by breaking product work into small increments Iterations are 2-4 weeks where teams are working in all functions: planning, analysis, design, coding, unit testing and acceptance testing Minimize overall risk and allows product adoption to changes by demonstration to stakeholders /customers
  23. 23. Efficient Communication Every team should include a customer representative Customer representative review progress and re- evaluate priorities, to optimize the return on investment
  24. 24. Short Feedback Loop Team members frequently evaluate their progress toward their team's iteration goal. Take corrective actions, if necessary. Remove any roadblocks or impediments.
  25. 25. Built In Quality = Enhance Agility Continuous Integration with auto unit/acceptance testing Pair Programming, Test-Driven-Development Design Patterns, Domain-Driven Design Code Refactoring
  26. 26. THAT’S ALL

×