Overview Agile Methods

7,723 views

Published on

Published in: Technology
1 Comment
8 Likes
Statistics
Notes
  • thanks to put good information about agile
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
7,723
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
303
Comments
1
Likes
8
Embeds 0
No embeds

No notes for slide

Overview Agile Methods

  1. 1. DO MORE w w w . r i s e . c o m . b r
  2. 2. An Overview about Agile Methods Advisor: Silvio Romero de Lemos Meira Co-Advisor: Eduardo Santana de Almeida Speaker: Ivonei Freitas da Silva 07/25/09
  3. 3. Summary <ul><li>Introduction (History) </li></ul><ul><li>Agile </li></ul><ul><li>Agile Methods – overview </li></ul><ul><li>Problem, Suggestion, Researches </li></ul><ul><li>References </li></ul>07/25/09
  4. 4. Introduction (History) <ul><li>Agile, Iterative and Incremental Development (IID) </li></ul><ul><li>1930s (Larman & Basili, 2003) </li></ul><ul><ul><li>Walter Shewhart, short cycles for quality improvement </li></ul></ul><ul><ul><ul><li>Plan-do-study-act (PDSA) </li></ul></ul></ul><ul><li>1940s (Larman & Basili, 2003) </li></ul><ul><ul><li>W. Edwards Deming, began promoting PDSA </li></ul></ul><ul><li>1950s (Larman & Basili, 2003) </li></ul><ul><ul><li>X-15 hypersonic jet, IDD was considered a major contribution to the X-15’s success </li></ul></ul>
  5. 5. Introduction (History) <ul><li>1960s (Larman & Basili, 2003) </li></ul><ul><ul><li>X-15 seeded NASA and IBM Federal Systems Division Project Mercury </li></ul></ul><ul><ul><ul><li>Project Mercury, applied test-first development, planning and writing tests before each micro-increment </li></ul></ul></ul><ul><li>1970s (Larman & Basili, 2003) </li></ul><ul><ul><li>Winston Royce (Managing the Development of Large Software Systems) </li></ul></ul><ul><ul><ul><li>30-month project might have a 10-month pilot model </li></ul></ul></ul><ul><ul><ul><li>He was ALWAYS a proponent of iterative, incremental, evolutionary development within the context of the 60s/70s </li></ul></ul></ul>
  6. 6. Discussing pre-launch (simulated) training.... http://www.chessin.com/paul/pmerc.html
  7. 7. Introduction (History) <ul><li>1970s (Larman & Basili, 2003) </li></ul><ul><ul><li>IBM: Trident submarine, 1 million lines of code, “ integration engineering ”, awarded an IBM Outstanding Contribution Award for the work </li></ul></ul><ul><ul><li>TRW: Winston Royce, Barry Boehm (chief scientist) </li></ul></ul><ul><ul><li>Vic Basili and Joe Turner, paper about IDD </li></ul></ul><ul><ul><li>Tom Gilb published (Software Metrics), introduced the terms “ evolution ” and “ evolutionary ” to the process </li></ul></ul>
  8. 8. Introduction (History) <ul><li>1980s (evolutionary prototyping) (Larman & Basili, 2003) </li></ul><ul><ul><li>Weinberg, (Adaptive Programming: The New Religion) </li></ul></ul><ul><ul><li>Grady Booch, (Software Engineering with Ada) </li></ul></ul><ul><ul><li>Tom Gilb, (Evolutionary Delivery versus the Waterfall Model), frequent delivery </li></ul></ul><ul><ul><li>Bary Boehm, (A Spiral Model of Software Development and Enhancement) </li></ul></ul><ul><ul><li>Frederick Brooks, (No Silver Bullet) </li></ul></ul>
  9. 9. Introduction (History) <ul><li>1980s (Larman & Basili, 2003) </li></ul><ul><ul><li>David Parnas and Paul Clements (A Rational Design Process: How and Why to Fake It) </li></ul></ul><ul><ul><li>DoD was experiencing significant failure based on waterfall model (75% failed) </li></ul></ul><ul><ul><li>Dod changed to allow IID (1987/1988), DoD-Std 2167A </li></ul></ul><ul><ul><li>Tom Gilb, (Principles of Software Engineering Management), chapters dedicated to IID </li></ul></ul>
  10. 10. Introduction (History) <ul><li>1990s (stronger evolutionary) (Larman & Basili, 2003) </li></ul><ul><ul><li>Success in Canadian Automated Air Traffic Control System (CAATS) </li></ul></ul><ul><ul><li>DoD Mil-Std-498 replaced 2167A </li></ul></ul><ul><ul><li>Jeff Sutherland and Ken Schwaber, employed time-boxed 30-day iterations </li></ul></ul><ul><ul><ul><li>Inspiration from Japanese IID approach (1980), shashimi ( slices or iterations ); and version of Scrum in 1986 </li></ul></ul></ul><ul><ul><ul><li>1999 article described refinements to Scrum </li></ul></ul></ul><ul><ul><li>Methods </li></ul></ul><ul><ul><ul><li>Dynamic Systems Development Method (DSDM); Rational Unified Process, XP practices, Feature-Driven Development (FDD) </li></ul></ul></ul>
  11. 11. Introduction (History) <ul><li>Standish Group CHAOS reported, 1998, to adopt IID </li></ul><ul><li>2000s (Larman & Basili, 2003) </li></ul><ul><ul><li>Agile </li></ul></ul><ul><ul><li>DoD replaced Mil-Srd-498 to DoD-5000.2 </li></ul></ul><ul><ul><li>Meeting, Utah, 2001, promoting IID </li></ul></ul><ul><ul><ul><li>Agile Alliance </li></ul></ul></ul><ul><ul><ul><li>Agile methods </li></ul></ul></ul><ul><li>2000s to the present </li></ul><ul><ul><li>Lean, Evo, Crystal family, Open Rup, MSF XP2, … </li></ul></ul>
  12. 12. Agile - Fundamentals <ul><li>Definition </li></ul><ul><ul><li>Ability to adapt quickly and flexiblity to changes in process, product and environment (Aoyama, 1998) </li></ul></ul><ul><li>Characterization </li></ul><ul><ul><li>Adaptability, incrementally, iteratively, collaboratively, cooperation, orientation to people, leanness, restriction of time (Miller, 2001) (Abrantes & Travassos, 2007) </li></ul></ul><ul><ul><li>Knowledge is Tacit, Comunication is Informal, Customer’s Role is Critical, Control is People Centric, Desired Organizational Form/Structure is Organic (flexible and participative encouraging cooperative social action) (Nerur et al., 2005) </li></ul></ul>
  13. 13. Agile - Fundamentals <ul><li>Manifesto for Agile Software Development </li></ul><ul><ul><li>(Agile Manifesto, 2001) </li></ul></ul><ul><ul><li>Individuals and interactions  over processes and tools  </li></ul></ul><ul><ul><li>Working software  over comprehensive documentation  </li></ul></ul><ul><ul><li>Customer collaboration  over contract negotiation  </li></ul></ul><ul><ul><li>Responding to change  over following a plan  </li></ul></ul>
  14. 14. Agile - Fundamentals <ul><li>Principles behind the Agile Manifesto </li></ul><ul><li>(Principles Agile Manifesto, 2001) </li></ul><ul><ul><li>Highest priority is to satisfy the customer through early and continuous delivery of valuable software . </li></ul></ul><ul><ul><li>Best architectures, requirements, and designs  emerge from self-organizing teams </li></ul></ul><ul><ul><li>Welcome changing requirements </li></ul></ul><ul><ul><li>Deliver working software frequently , from a  couple of weeks to a couple of months, with a  preference to the shorter timescale. </li></ul></ul><ul><ul><li>Build projects around motivated individuals .  </li></ul></ul><ul><ul><li>Most efficient and effective method of  conveying information to and within a development  team is face-to-face conversation . </li></ul></ul>
  15. 15. Agile - Fundamentals <ul><li>Principles behind the Agile Manifesto </li></ul><ul><ul><li>At regular intervals, the team reflects on how  to become more effective, then tunes and adjusts  its behavior accordingly </li></ul></ul><ul><ul><li>Simplicity- -the art of maximizing the amount  of work not done--is essential </li></ul></ul><ul><ul><li>Agile processes promote sustainable development   The sponsors, developers, and users should be able  to maintain a constant pace indefinitely </li></ul></ul><ul><ul><li>Working software is the primary measure of progress </li></ul></ul><ul><ul><li>Business people and developers must work  together daily throughout the project </li></ul></ul><ul><ul><li>Continuous attention to technical excellence   and good design enhances agility </li></ul></ul>
  16. 16. Agile – Why? ( http://www.standishgroup.com/ )
  17. 17. Agile – Why? ( http://www.standishgroup.com/ ) 51% 34% 15% Com problemas sucesso falham
  18. 18. Agile – Why? (Beck & Fowler, 2001) Software development isn’t previsible Software development needs constantly making little corrections
  19. 19. Agile – Why?
  20. 20. Agile - Culture <ul><li>(O’Reilly et al, 1991) (Tolfo & Wazlawick, 2008) </li></ul><ul><li>Characteristics </li></ul><ul><ul><li>Innovation and Risk </li></ul></ul><ul><ul><li>Detail Orientation </li></ul></ul><ul><ul><li>Outcome Orientation </li></ul></ul><ul><ul><li>Team Orientation </li></ul></ul><ul><ul><li>Aggressiveness </li></ul></ul><ul><ul><li>Stability </li></ul></ul><ul><ul><li>People Orientation </li></ul></ul>
  21. 21. Agile - Culture <ul><li>Innovation and Risk </li></ul><ul><ul><li>Agile requires observing developer’s disposition to innovate and shoulder risks </li></ul></ul><ul><li>Detail Orientation </li></ul><ul><ul><li>Agile requires code been simple, test , understand the customer, continuous integrations, … </li></ul></ul><ul><li>Outcome Orientation </li></ul><ul><ul><li>Agile requires balance among profitability, minimization of costs, and other values, such as concern with employees’ work conditions and software quality </li></ul></ul>
  22. 22. Agile - Culture <ul><li>Team Orientation </li></ul><ul><ul><li>In Agile teamwork is extremely valued, and it becomes feasible through communication, feedback, common vocabulary and preference for more direct forms of communication </li></ul></ul><ul><li>Aggressiveness </li></ul><ul><ul><li>In Agile by means of collaboration, developers may teach and guide inexperienced colleagues </li></ul></ul><ul><li>Stability </li></ul><ul><ul><li>Agile is a considerable change for any company </li></ul></ul><ul><li>People Orientation </li></ul><ul><ul><li>In Agile the way software is developed depends essentially on people </li></ul></ul>
  23. 23. The Satir Model (Satir, 1991) (Smith, 2009)
  24. 24. Agile – Framework <ul><li>4-DAT (4-dimensional analytical tool) </li></ul><ul><ul><li>Framework that assesses degrees of agility </li></ul></ul><ul><ul><li>Selection or adoption of an agile method or agile method fragments </li></ul></ul><ul><li>4-DAT Dimensions </li></ul><ul><ul><li>Method scope (size, environment, culture,…) </li></ul></ul><ul><ul><li>Agility characterization (flexibility, speed, leanness, …) </li></ul></ul><ul><ul><li>Characterization of agile values (manifesto values, keeping the process agile, keeping the process cost effective) </li></ul></ul><ul><ul><li>Software process characterization (development process, project management process, process management process, …) </li></ul></ul>(Qumer & Henderson-Sellers, 2008)
  25. 25. Agile – Framework <ul><li>Few organizations are able, psychologically or technically to adopt agile approaches over a short period </li></ul><ul><li>How to adopt and improve agile methods? </li></ul>(Qumer & Henderson-Sellers, 2008)
  26. 26. Agile – Framework <ul><li>ASSF (Agile Software Solution Framework) – assist managers </li></ul><ul><ul><li>4-DAT </li></ul></ul><ul><ul><li>Knowledge </li></ul></ul><ul><ul><li>Governance </li></ul></ul><ul><ul><li>Business-Agile Alignment Bridge </li></ul></ul><ul><ul><li>… </li></ul></ul><ul><li>AAIM (Agile Adoption and Improvement Model) </li></ul><ul><li>ASOP (Agile Service Oriented Process) </li></ul>(Qumer & Henderson-Sellers, 2007)
  27. 27. Agile – Framework (Qumer & Henderson-Sellers, 2008)
  28. 28. AGILE METHODS <ul><li>Scrum, DSDM, Crystal, FDD, Lean, XP, ASD </li></ul>
  29. 29. Agile Methods – Scrum <ul><li>Jeff Suttherland </li></ul><ul><ul><li>http://jeffsutherland.com </li></ul></ul><ul><li>Ken Schwaber </li></ul><ul><ul><li>http://www.controlchaos.com </li></ul></ul><ul><li>Conferences </li></ul><ul><ul><li>OOPSLA 96, PLoP 98 </li></ul></ul><ul><li>Inspiration </li></ul><ul><ul><li>Incremental and Iterative Development in companies (Japan & EUA – 80) </li></ul></ul><ul><ul><li>Takeuchi, Hirotaka and Nonaka, Ikujiro. New Product Development Game. Harvard Business Review. Jan/Feb 1986 </li></ul></ul><ul><ul><li>DeGrace, P. and Hulet-Stahl, L. Wicked Problems, Righteous Solutions. Yourdon Press, 1990 </li></ul></ul>Scrum relies on self-commitment, self-organization, and emergence rather than authoritarian measures Ken Schwaber
  30. 30. Agile Methods – Scrum ( http://www.controlchaos.com/about/ )
  31. 31. Agile Methods – DSDM <ul><li>Dynamic Systems Development Method – DSDM </li></ul><ul><ul><li>Principles </li></ul></ul><ul><ul><li>1. Active user involvement is imperative </li></ul></ul><ul><ul><li>2. The team must be empowered to make decisions </li></ul></ul><ul><ul><li>3. The focus is on frequent delivery of products </li></ul></ul><ul><ul><li>4. Fitness for business purpose is the essential criterion for acceptance of deliverables </li></ul></ul><ul><ul><li>5. Iterative and incremental delivery is necessary to converge on accurate business solution </li></ul></ul><ul><ul><li>6. All changes during development are reversible </li></ul></ul><ul><ul><li>7. Requirements are baselined at a high level </li></ul></ul><ul><ul><li>8. Testing is integrated throughout the lifecycle </li></ul></ul><ul><ul><li>9. Collaboration and co-operation between all stakeholders is essential </li></ul></ul>(Highsmith, 2002)
  32. 32. Agile Methods – DSDM DSDM Process (Highsmith, 2002) (www.dsdm.org) Feasibility Study Functional Model Iteration (x3) Agree Plan Create Functional Prototype Review Prototype Identify Functional Prototype Design & Build Iteration (x3) Identify Design Prototypes Agree Plan Create Design Prototype Review Design Prototype Implementation Implement Train Users User Approval & Guidelines Review Business Business Study Pre-project Post-project
  33. 33. Agile Methods – DSDM <ul><li>At the heart of DSDM are </li></ul><ul><ul><li>Facilitated Workshops </li></ul></ul><ul><ul><li>Prioritisation </li></ul></ul><ul><ul><li>Timeboxing </li></ul></ul><ul><ul><li>Prototyping </li></ul></ul><ul><li>As well as others, for example </li></ul><ul><ul><li>Risk Management </li></ul></ul><ul><ul><li>Configuration Management </li></ul></ul><ul><ul><li>Modelling </li></ul></ul>(www.dsdm.org)
  34. 34. Agile Methods – DSDM <ul><li>Project Level Roles </li></ul><ul><ul><li>Executive Sponsor </li></ul></ul><ul><ul><li>Visionary </li></ul></ul><ul><ul><li>DSDM Project Manager </li></ul></ul><ul><ul><li>Technical Co-ordinator </li></ul></ul><ul><li>Core Team Roles </li></ul><ul><ul><li>DSDM Team Leader </li></ul></ul><ul><ul><li>Developer </li></ul></ul><ul><ul><li>Ambassador User </li></ul></ul><ul><ul><li>Tester </li></ul></ul><ul><ul><li>Scribe </li></ul></ul><ul><li>Other Roles </li></ul><ul><ul><li>Advisor User, Facilitator, Specialists </li></ul></ul><ul><li>One person many roles </li></ul><ul><li>One role many people </li></ul><ul><li>Substitute responsibilities </li></ul><ul><li>But cover them all </li></ul><ul><li>e.g. Ambassador User </li></ul><ul><li>Input to business requirements </li></ul><ul><li>Provide detail business scenarios </li></ul><ul><li>Communicate with other users </li></ul><ul><li>Provide input to prototyping sessions </li></ul><ul><li>Review documentation </li></ul><ul><li>Review and accept delivered software </li></ul><ul><li>User training / user documentation </li></ul><ul><li>Organise and control user testing </li></ul>(Highsmith, 2002) ( www.dsdm.org)
  35. 35. Agile Methods – Crystal Family <ul><li>Focusing on skills, communications, and community allows the project to be more effective and more agile than focusing on processes and plans </li></ul><ul><li>Alistair Cockburn </li></ul><ul><li>(http://alistair.cockburn.us/crystal ) </li></ul><ul><li>Crystal: clear, yellow, orange, orange-web, red </li></ul>
  36. 36. Agile Methods – Crystal Family (http://alistair.cockburn.us/crystal )
  37. 37. Agile Methods – Crystal Family <ul><li>Principles - summary </li></ul><ul><ul><li>The team can reduce intermediate work products as it produces running code more frequently, as it uses richer communication channels between people. </li></ul></ul><ul><ul><li>Every project is slightly different and evolves over time, so the methodology, the set of conventions the team adopts, must be tuned and evolve </li></ul></ul>(http://alistair.cockburn.us/crystal )
  38. 38. Agile Methods – Crystal Family <ul><li>Elements of Crystal Clear </li></ul><ul><ul><li>Roles </li></ul></ul><ul><ul><ul><li>sponsor, senior designer-programmer, designer-programmer, and user </li></ul></ul></ul><ul><ul><li>Work products </li></ul></ul><ul><ul><ul><li>release plan, schedule of reviews, low-ceremony use cases (or equivalent), design sketches, running code, common object model, test cases, and user manual </li></ul></ul></ul><ul><ul><li>Policy standards </li></ul></ul><ul><ul><ul><li>incremental delivery every two to three months, some automated testing, direct user involvement, two user reviews per release, and methodology tuning workshops </li></ul></ul></ul>(http://alistair.cockburn.us/crystal )
  39. 39. Agile Methods – FDD <ul><li>FDD – Feature-Driven Development </li></ul><ul><ul><li>The system is the Project </li></ul></ul><ul><ul><li>Managers must first learn to see, hear, and think about human systems before they can hope to control them </li></ul></ul><ul><ul><li>Software projects are human systems </li></ul></ul><ul><li>Feature Naming Template </li></ul><ul><ul><li><action> the <result> <by|for|of|to> a(n) <object> </li></ul></ul><ul><ul><li>Calculate the total amount of a Sale </li></ul></ul>(http://www.featuredrivendevelopment.com/ )
  40. 40. Agile Methods – FDD (http://www.featuredrivendevelopment.com/ )
  41. 41. Agile Methods – FDD (http://www.featuredrivendevelopment.com/ )
  42. 42. Agile Methods – FDD (http://www.featuredrivendevelopment.com/ )
  43. 43. Agile Methods – Lean Development <ul><li>book by Mary Poppendieck  and  Tom Poppendieck </li></ul><ul><li>Principles (inspired in Toyota Production System) </li></ul><ul><ul><li>Eliminate Waste </li></ul></ul><ul><ul><li>Amplify learning </li></ul></ul><ul><ul><li>Decide as late as possible </li></ul></ul><ul><ul><li>Deliver as fast as possible </li></ul></ul><ul><ul><li>Empower the team </li></ul></ul><ul><ul><li>Build integrity in </li></ul></ul><ul><ul><li>See the whole </li></ul></ul><ul><ul><li>* Domain, not point, solutions </li></ul></ul><ul><ul><li>… . </li></ul></ul>Businesses are discovering that while their markets change rapidly, their software systems do not . Bob Charette, Foundations of Lean Development (http://www.poppendieck.com/people.htm ) (Highsmith, 2002)
  44. 44. Agile Methods – Lean Development <ul><li>One facet of Lean is a focus on business domains </li></ul><ul><ul><li>Software is built for certain domains that make high-level reusability possible </li></ul></ul><ul><li>The process side of Lean </li></ul><ul><ul><li>Scrum, DSDM </li></ul></ul>(Highsmith, 2002)
  45. 45. Agile Methods - XP <ul><li>Always be doing the most important thing you can be working on </li></ul><ul><li>Kent Beck (XP Immersion workshop) </li></ul><ul><li>XP – Extreme Programming </li></ul><ul><ul><li>OOPSLA’2000 </li></ul></ul><ul><ul><li>Coach, tracker, .... </li></ul></ul><ul><li>Values </li></ul><ul><ul><li>Comunication </li></ul></ul><ul><ul><li>Feedback </li></ul></ul><ul><ul><li>Courage </li></ul></ul><ul><ul><li>Simplicity </li></ul></ul><ul><ul><li>Respect </li></ul></ul>(www.extremeprogramming.org/rules.html) ( http://www.xprogramming.com/)
  46. 46. Agile Methods - XP <ul><li>Principles </li></ul><ul><ul><li>Humanity </li></ul></ul><ul><ul><li>Economy </li></ul></ul><ul><ul><li>Diversity </li></ul></ul><ul><ul><li>Improvement </li></ul></ul><ul><ul><li>Reflection </li></ul></ul><ul><ul><li>Baby Steps </li></ul></ul><ul><ul><li>… </li></ul></ul>(www.extremeprogramming.org/rules.html) ( http://www.agile2008.org/) ( http://www.oopsla.org/) ( http://martinfowler.com/) ( http://www.xprogramming.com/) ( http://www.testing.com/) ( http://c2.com/cgi/wiki?ExtremeProgramming) (www.agilcoop.org.br )
  47. 47. Agile Methods - XP
  48. 48. Agile Methods - ASD <ul><li>ASD – Adaptative Software Development </li></ul><ul><li>more than 100 projects using these practices </li></ul><ul><ul><li>Ken Orr and Sam Bayer </li></ul></ul><ul><li>1994, paper on experiences </li></ul><ul><ul><li>Bayer, Sam, and Jim Highsmith. &quot;RADical Software Development.&quot; American Programmer 7, no. 6 (June 1994): 35–42 </li></ul></ul>Collaboration is difficult, especially when it involves other people Ken Orr
  49. 49. Agile Methods - ASD <ul><li>Characteristics </li></ul><ul><ul><li>Mission focused </li></ul></ul><ul><ul><li>Feature based </li></ul></ul><ul><ul><li>Iterative </li></ul></ul><ul><ul><li>Time-boxed </li></ul></ul><ul><ul><li>Risk driven </li></ul></ul><ul><ul><li>Change tolerant </li></ul></ul>(Highsmith, 2002)
  50. 50. Agile Methods - ASD (Highsmith, 2002)
  51. 51. AGILE WORLD, AGILE METHODS <ul><li>Evaluation, Tendency, Problem, Suggestions, Researches </li></ul>
  52. 52. Agile Methods – Evaluation (Qumer & Henderson-Sellers, 2007) Criteria XP Scrum FDD ASD DSDM Crystal Scope Project size Small, medium Small, medium, and scalable for large Small, medium, and large (business projects/applications) Large and Complex projects Small and large projects (Business Applications) Small and medium Team size <10 <10 and multiple teams * No limit – scalable from small to large teams Not mentioned Minimum 2 and Maximum 6 (Multiple teams) Single team in crystal clear with maximum 6 people in a team. Multiple teams with maximum 40 persons in orange and 80 persons in red methodology Development style Iterative, rapid Iterative, rapid Iterative design and construction Iterative and rapid development – distributed development Iterative, rapid development and cooperative Iterative and rapid development
  53. 53. Agile Methods – Evaluation (Qumer & Henderson-Sellers, 2007) Criteria XP Scrum FDD ASD DSDM Crystal Code style Clean and simple Not specified Not specified Not mentioned Not mentioned Not mentioned Technology environment Quick feedback required Not specified Not specified Not mentioned Not mentioned Not mentioned Physical environment Co-located teams and distributed teams (limited-interaction) Not specified Not specified Co-located and distributed teams Not mentioned Co-located team – no support for distributed development Business culture Collaborative and cooperative Not specified Not specified Not specified Collaborative and cooperative Not mentioned Abstraction mechanism Object-oriented Object-oriented Object-oriented Object-oriented/Component-oriented Object-oriented/Component-oriented Object-oriented
  54. 54. Agile Methods – Evaluation (Qumer & Henderson-Sellers, 2007)
  55. 55. Agile Methods – Evaluation (Qumer & Henderson-Sellers, 2007)
  56. 56. Agile Methods - VersionOne <ul><li>Which Agile methodology do you Now is the Time follow most closely? </li></ul><ul><ul><li>49% Scrum; </li></ul></ul><ul><ul><li>22,3% XP/Scrum hybrid </li></ul></ul><ul><ul><li>8% XP </li></ul></ul><ul><ul><li>2,1% FDD </li></ul></ul><ul><ul><li>1, 9% Lean </li></ul></ul><ul><ul><li>1,4% DSDM </li></ul></ul><ul><ul><li>0,5% Crystal </li></ul></ul>Agile Development: A Manager’s Roadmap for Success White Paper, 2008
  57. 57. Agile Methods - VersionOne <ul><li>What was the MOST IMPORTANT reason for adopting Agile within your team or organization? </li></ul><ul><ul><li>Accelerate Time-to-Market 22% </li></ul></ul><ul><ul><li>Enhance Ability to Manage Changing Priorities 21% </li></ul></ul><ul><ul><li>Increase Productivity 12% </li></ul></ul><ul><ul><li>Enhance Software Quality 10% </li></ul></ul><ul><ul><li>Improve Alignment Between IT and Business 9% </li></ul></ul><ul><ul><li>Improve Project Visibility 6% </li></ul></ul><ul><ul><li>Reduce Risk 6% </li></ul></ul><ul><ul><li>Simplify Development Process 4% </li></ul></ul><ul><ul><li>Other 3% </li></ul></ul><ul><ul><li>Improved/Increased Engineering Discipline 2% </li></ul></ul><ul><ul><li>Reduce Cost 2% </li></ul></ul><ul><ul><li>Enhance Software Maintainability/Extensibility 2% </li></ul></ul><ul><ul><li>Improved Team Morale 1% </li></ul></ul>Agile Development: A Manager’s Roadmap for Success White Paper, 2008
  58. 58. Agile Methods - VersionOne <ul><li>Which of the following specific tools do you currently use? </li></ul><ul><ul><li>36,4% Excel </li></ul></ul><ul><ul><li>24,4% MS Project </li></ul></ul><ul><ul><li>8% Bugzilla </li></ul></ul><ul><ul><li>7,06% Rational </li></ul></ul><ul><ul><li>4,56% Xplanner </li></ul></ul>Agile Development: A Manager’s Roadmap for Success White Paper, 2008
  59. 59. Agile – Case,Tools (large distributed agile team) (Cannizzo et al., 2008)
  60. 60. Agile Methods – Tendency <ul><li>Tendency (Sutherland, 2006 ) (Rao and Trapa, 2006) (Kolovos et al., 2005) </li></ul><ul><ul><li>the future of scrum is still scrum, just faster, better, and cooler </li></ul></ul><ul><ul><li>Join from methods </li></ul></ul><ul><ul><li>Tools </li></ul></ul><ul><ul><ul><li>FireScrum ( www.firescrum.com ) </li></ul></ul></ul><ul><ul><ul><li>ScrumWorks ( http://scrumworks.com/ ) </li></ul></ul></ul><ul><ul><ul><li>Mingle ( http://studios.thoughtworks.com/mingle-agile-project-management ) </li></ul></ul></ul><ul><ul><ul><li>T3 - Tool for Monitoring Agile Development </li></ul></ul></ul><ul><ul><ul><li>COMDD (Code-Oriented Model-Driven Methodology) </li></ul></ul></ul><ul><ul><ul><li>ECGF (Extensible Code Generation Framework) </li></ul></ul></ul><ul><ul><ul><li>DSDM provides guidance on tools to assist people in choosing their own tool set </li></ul></ul></ul>
  61. 61. Agile - Problems <ul><li>Agile is nothing new </li></ul><ul><li>Lack of focus on architecture </li></ul><ul><li>Little scientific support </li></ul><ul><li>Practices are rarely applicable </li></ul><ul><li>Agile is suitable for small teams </li></ul><ul><li>+/- 73% agile project dealt with employees who are beginners </li></ul>(Dyba & Dingsøyr , 2008)
  62. 62. Agile Methods - Criticize <ul><li>XP </li></ul><ul><ul><li>Limited project perspective </li></ul></ul><ul><ul><li>Limited business focus </li></ul></ul><ul><ul><li>Limited Scalability </li></ul></ul><ul><ul><li>Too Extreme , informal for many organisations </li></ul></ul><ul><li>DSDM </li></ul><ul><ul><li>Theoretical </li></ul></ul><ul><ul><li>Lacking in detail for developers </li></ul></ul><ul><ul><li>Lack of scientific studies </li></ul></ul><ul><li>Scrum </li></ul><ul><ul><li>Only Focus on management </li></ul></ul><ul><ul><li>Lack of scientific studies </li></ul></ul><ul><li>Lean, Crystal, FDD, ASD </li></ul><ul><ul><li>Lack of scientific studies </li></ul></ul>
  63. 63. Agile Methods – S uggestions/Researches <ul><li>DSDM and XP (others methods) </li></ul><ul><ul><li>DSDM v4.2 – ( www.dsdm.org ) </li></ul></ul><ul><li>DSDM and UML, RUP ( white papers , www.dsdm.org ) </li></ul><ul><ul><li>tools </li></ul></ul><ul><li>XP and Scrum </li></ul><ul><ul><li>Management and Development </li></ul></ul><ul><li>Some practices </li></ul><ul><ul><li>Pair programming, daily meeting, Workshops, … </li></ul></ul>
  64. 64. Agile Methods – S uggestions/Researches <ul><li>Balancing Discipline and Agility </li></ul><ul><ul><li>Future trends are toward fusion of agile with plan-driven </li></ul></ul><ul><ul><li>Where is the silver bullets?? </li></ul></ul><ul><ul><ul><li>people, values, communications, expectations management </li></ul></ul></ul><ul><ul><li>Some Balanced Methods are emerging </li></ul></ul><ul><ul><ul><li>Crystal Orange, Code Science, DSDM, FDD, Lean, lighter versions of the RUP </li></ul></ul></ul>(Boehm, Turner, 2003)
  65. 65. Agile Methods – S uggestions/Researches <ul><li>Scrum </li></ul><ul><ul><li>Ethnomethodological approaches/ conversation analysis </li></ul></ul><ul><ul><ul><li>Tools for understanding practices and sociological methods </li></ul></ul></ul><ul><li>DSDM </li></ul><ul><ul><li>theory needs some practice </li></ul></ul><ul><li>To explore qualitative studies (mature teams) </li></ul>(Bates & Yates, 2008)
  66. 66. References <ul><li>(Abrantes & Travassos, 2007) ABRANTES,J.F.,TRAVASSOS, G.H., 2007, &quot;Caracterização de Métodos Ágeis de Desenvolvimento de Software&quot;, Proceedings of Workshop de Desenvolvimento Rápido de Aplicações do Simpósio Brasileiro de Qualidade de Software (WDRA - SBQS 2007), Porto de Galinhas-PE, Brazil. </li></ul><ul><li>(Agile Manifesto, 2001) Agile Manifesto, 2001. Manifesto for Agile Software Development. < http://agilemanifesto.org/ > </li></ul><ul><li>(Aoyama, 1998) Aoyama, Mikio. Agile Software Process and its Experience. ICSE, 1998. </li></ul><ul><li>(Bates & Yates, 2008) Bates, C. D. and Yates, S. 2008. Scrum down: a software engineer and a sociologist explore the implementation of an agile method. In Proceedings of the 2008 international Workshop on Cooperative and Human Aspects of Software Engineering (Leipzig, Germany, May 13 - 13, 2008). CHASE '08. ACM, New York, NY, 13-16. DOI= http://doi.acm.org/10.1145/1370114.1370118 </li></ul>
  67. 67. References <ul><li>(Beck & Fowler, 2001) Beck, Kent & Fowler, Martin. Planning Extreme Programming. Addison Wesley, 2001. </li></ul><ul><li>(Boehm, Turner, 2003) Barry Boehm, Richard Turner. Observations on Balancing Discipline and Agility. 2003. </li></ul><ul><li>(Cannizzo et al., 2008) Cannizzo, Fabrizio and Marcionetti, Gabriela and Moser, Paul. Evolution of the Tools and Practices of a Large Distributed Agile Team. Agile Conference, 2008. </li></ul><ul><li>(Chow & Cao, 2007) Tsun Chow, Dac-Buu Cao. A survey study of critical success factors in agile software projects. 2007. </li></ul><ul><li>(Dyba & Dingsøyr , 2008) Tore Dyba˚ *, Torgeir Dingsøyr. Empirical studies of agile software development: A systematic review. 2008. </li></ul>
  68. 68. References <ul><li>(Highsmith, 2002) Highsmith, Jim. Agile Software Development Ecosystems. Addison Wesley , 2002. </li></ul><ul><li>(Kolovos et al., 2005) Kolovos, Dimitrios S. ; Paige, Richard F. and Polack, Fiona. An Agile and Extensible Code Generation Framework. Extreme Programming and Agile Processes in Software Engineering, 6th International Conference, XP 2005, Sheffield, UK, June 18-23, 2005. Springer. Lecture Notes in Computer Science. </li></ul><ul><li>(Larman & Basili, 2003) Craig Larman,Victor R. Basili. Maryland Iterative and Incremental Development: A Brief History. 2003. </li></ul><ul><li>(Miller, 2001) Miller, Granville G.. The Characteristics of Agile Software Processes. Proceedings of the 39 th Int’l Conf. and Exhibition on Technology of Object-Oriented Languages and Systems (TOOLS’01). </li></ul>
  69. 69. References <ul><li>(Muthig et al., 2004) Mikael Lindvall, Dirk Muthig, Aldo Dagnino, Christina Wallin, Michael Stupperich, David Kiefer, John May, Tuomo Kähkönen. Agile Software Development in Large Organizations. 2004. </li></ul><ul><li>(Nerur et al., 2005) Nerur, Sridhar; Mahapatra, RadhaKanta; Mangalaraj, George.Challenges of Migrating to Agile Methodologies. Communications of the ACM, Vol. 48, no. 5, 2005. </li></ul><ul><li>(O’Reilly, 1991) O’Reilly, C.A., Chatman, J., Caldwell, D.F.. People and Organizational Culture: a profile comparison approach to assessing person organization fit. In: Academy of management Journal, pp. 487–516. 1991. </li></ul><ul><li>(Principles Agile Manifesto, 2001) Principles Agile Manifesto, 2001. Manifesto for Agile Software Development. < http://agilemanifesto.org/principles.html > </li></ul>
  70. 70. References <ul><li>(Qumer & Henderson-Sellers, 2007) A. Qumer, B. Henderson-Sellers. An evaluation of the degree of agility in six agile methods and its applicability for method engineering. 2007. </li></ul><ul><li>(Qumer & Henderson-Sellers, 2008) A. Qumer, B. Henderson-Sellers . A framework to support the evaluation, adoption and improvement of agile methods in practice. 2008. </li></ul><ul><li>(Rao and Trapa, 2006) Rao, Santhpur and Trapa, Valerie. T3 - Tool for Monitoring Agile Development. IEEE. Proceedings of AGILE 2006 Conference (AGILE'06) </li></ul><ul><li>(Satir, 1991) Satir, Virginia, et. al., The Satir Model: Family Therapy and Beyond, ISBN 0831400781, Science and Behavior Books, 1991. </li></ul><ul><li>(Sato et al., 2006) Danilo Sato, Dairton Bassi, Mariana Bravo, Alfredo Goldman & Fabio Kon. Experiences Tracking Agile Projects: an Empirical Study, 2006. </li></ul>
  71. 71. References <ul><li>(Smith, 2009) Steven M Smith < http://www.stevenmsmith.com/my-articles/article/the-satir-change-model.html > </li></ul><ul><li>(Sutherland, 2006) Sutherland, J.   Future of scrum: parallel pipelining of sprints in complex projects . Agile Conference, 2005. Proceedings. Patientkeeper, Inc., Brighton, MA, USA; IEEE Explore, 2006. </li></ul><ul><li>(Tolfo & Wazlawick, 2008) Cristiano Tolfo, Raul Sidnei Wazlawick. The influence of organizational culture on the adoption of extreme programming, 2008. </li></ul>

×