Intro to Agile

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

4 comments

Comments 1 - 4 of 4 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

44 Favorites & 3 Groups

Intro to Agile - Presentation Transcript

  1. Agile Overview Balachander Swaminathan (bala@thoughtworks.com) © ThoughtWorks, 2007 1
  2. Agenda for this session • The Story of Software Development • Lean Thinking • Agile Values and Principles • Agile Process • Agile Practices • Summary/Review • Questions/Close © ThoughtWorks, 2007 2 2
  3. The Story of Software Development… We started off with Software Engineering… © ThoughtWorks, 2007 3 3
  4. IEEE defines Software Engineering as…. “Software Engineering is the application of a systematic, disciplined, quantifiable approach to development, operation and maintenance of software: that is, the application of engineering to software.” IEEE Standard Computer Dictionary, ISBN 1-55937-079-3, 1990 © ThoughtWorks, 2007 4 4
  5. Who does Software Engineering? © ThoughtWorks, 2007 5 5
  6. Who does Software Engineering? © ThoughtWorks, 2007 5 5
  7. For the space shuttle’s operating system © ThoughtWorks, 2007 6 6
  8. For the space shuttle’s operating system © ThoughtWorks, 2007 6 6
  9. Some Statistics - NASA’s Defect Density © ThoughtWorks, 2007 7 7
  10. Some Statistics - NASA’s Defect Density The last 11 versions of the space shuttle’s 420,000 line systems had a total of 17 defects. © ThoughtWorks, 2007 7 7
  11. Some Statistics - NASA’s Defect Density The last 11 versions of the space shuttle’s 420,000 line systems had a total of 17 defects. © ThoughtWorks, 2007 7 7
  12. One More Data Point © ThoughtWorks, 2007 8 8
  13. One More Data Point © ThoughtWorks, 2007 8 8
  14. Another real software engineering project © ThoughtWorks, 2007 9 9
  15. Another real software engineering project Safeguard - Ballistic Missile Defense System © ThoughtWorks, 2007 9 9
  16. Another real software engineering project Safeguard - Ballistic Missile Defense System • 1969-1975, 5407 person years code & unit test • Hardware designed at the same design 18 % time as software specs being 20 % written • Late changes in requirements not reqmts an option 20 % integration testing 42 % © ThoughtWorks, 2007 9 9
  17. Another real software engineering project Safeguard - Ballistic Missile Defense System • 1969-1975, 5407 person years code & unit test • Hardware designed at the same design 18 % time as software specs being 20 % written • Late changes in requirements not reqmts an option 20 % integration testing 42 % Did it Succeed? © ThoughtWorks, 2007 9 9
  18. Safeguard - Ballistic Missile Defense System…cont. © ThoughtWorks, 2007 10 10
  19. Safeguard - Ballistic Missile Defense System…cont. Revised Project Statistics © ThoughtWorks, 2007 10 10
  20. Safeguard - Ballistic Missile Defense System…cont. Revised Project Statistics • The project was delivered according to specifications © ThoughtWorks, 2007 10 10
  21. Safeguard - Ballistic Missile Defense System…cont. Revised Project Statistics • The project was delivered according to specifications • Cost: $25 Billion (not adjusted) © ThoughtWorks, 2007 10 10
  22. Safeguard - Ballistic Missile Defense System…cont. Revised Project Statistics • The project was delivered according to specifications • Cost: $25 Billion (not adjusted) • 1969-1975, 5407 person years © ThoughtWorks, 2007 10 10
  23. Safeguard - Ballistic Missile Defense System…cont. Revised Project Statistics • The project was delivered according to specifications • Cost: $25 Billion (not adjusted) • 1969-1975, 5407 person years Operational for 133 days - Project terminated in 1978 © ThoughtWorks, 2007 10 10
  24. Safeguard - Ballistic Missile Defense System…cont. Revised Project Statistics • The project was delivered according to specifications • Cost: $25 Billion (not adjusted) • 1969-1975, 5407 person years Operational for 133 days - Project terminated in 1978 ‘By the time the 6-year anti-missile system project was completed, the new missiles were faster than the anti- missile missiles’ © ThoughtWorks, 2007 10 10
  25. Where did things go wrong? © ThoughtWorks, 2007 11 11
  26. Where did things go wrong? • Software Engineering is a heavy weight methodology and such heavy weight methodologies characteristically are most successful when: – Requirements are stable – Technology is well known and mature – Everything happens as one would expect – We are not taking on anything new or unknown – We have done this many times before © ThoughtWorks, 2007 11 11
  27. Where did things go wrong? • Software Engineering is a heavy weight methodology and such heavy weight methodologies characteristically are most successful when: – Requirements are stable – Technology is well known and mature – Everything happens as one would expect – We are not taking on anything new or unknown – We have done this many times before Projects with these characteristics are few and far between. © ThoughtWorks, 2007 11 11
  28. Other Heavy Weight Methodologies Heavy Weight SEI/IEEE Project Waterfall Standards and Definitions Requirements RUP Management © ThoughtWorks, 2007 12 12
  29. Other Heavy Weight Methodologies Heavy Weight SEI/IEEE Project Waterfall Standards and Definitions Requirements RUP Management Heavy weight methodologies work in some instances, but there are high costs, and the risk in using them in dynamic environments is high. © ThoughtWorks, 2007 12 12
  30. So, heavy weight methodologies don’t seem to meet our needs Is there an alternative? © ThoughtWorks, 2007 13 13
  31. Agenda for this session • The Story of Software Development • Lean Thinking • Agile Values and Principles • Agile Process • Agile Practices • Summary/Review • Questions/Close © ThoughtWorks, 2007 14 14
  32. Lean Thinking – Eliminate Waste • The Toyota Production System, 1988 (1978), Taichii Ohno – Pull Scheduling - Just-in-Time Flow – Expose Problems - Stop-the-Line Culture • Study Of ‘Toyota’ Production System, 1981, Shigeo Shingo – Non-Stock Production - Single Minute Setup – Zero Inspection – Automatic Error Detection at Every Step © ThoughtWorks, 2007 15 15
  33. Lessons from Queuing theory Utilization (%) Source: Beyond Agile Software Development Becoming Lean, Mary Poppendieck, Poppendieck.llc © ThoughtWorks, 2007 16 16
  34. Applying Lean Principles to Software Development Traditional Process © ThoughtWorks, 2007 17 17
  35. Applying Lean Principles to Software Development Traditional Process © ThoughtWorks, 2007 17 17
  36. Applying Lean Principles to Software Development Traditional Process 50 % done? © ThoughtWorks, 2007 17 17
  37. Applying Lean Principles to Software Development…cont. A better way of doing the same © ThoughtWorks, 2007 18 18
  38. Applying Lean Principles to Software Development…cont. A better way of doing the same End-to-End small slices of work © ThoughtWorks, 2007 18 18
  39. Applying Lean Principles to Software Development…cont. A better way of doing the same End-to-End small slices of 20 % done = 100 % usable work © ThoughtWorks, 2007 18 18
  40. Lean Principles applied to Software Development Project Plan/Estimation Requirements Gathering Use Cases / Functional Specs Design Specifications Code Test $ Fix / Integrate Inception $ $ $ $ © ThoughtWorks, 2007 19 19
  41. Lower cost of change through higher quality software Traditional cost profile © ThoughtWorks, 2007 20 20
  42. Lower cost of change through higher quality software Traditional cost profile Time spent: • Finding defects • Fixing Defects • Regression Testing • Deploying © ThoughtWorks, 2007 20 20
  43. Lower cost of change through higher quality software Traditional cost profile Time spent: • Finding defects • Fixing Defects • Regression Testing • Deploying More defects found Agile system cost profile & corrected – causes lower cost of defect correction © ThoughtWorks, 2007 20 20
  44. New Methodologies Emerged XP FDD Scrum Crystal Family DSDM © ThoughtWorks, 2007 21 21
  45. Agenda for this session • The Story of Software Development • Lean Thinking • Agile Values and Principles • Agile Process • Agile Practices • Summary/Review • Questions/Close © ThoughtWorks, 2007 22 22
  46. © ThoughtWorks, 2007 23 23
  47. 2000 © ThoughtWorks, 2007 23 23
  48. 2000 XP | Extreme Programming (Kent Beck) DSDM | Dynamic System Development Method (Dane Faulkner) FDD | Feature Driven Development (Jeff DeLuca) SCRUM (Ken Schwaber) Crystal (Alistair Cockburn) Adaptive Software Development (Jim Highsmith) Lean Software Development (Mary Poppendieck) © ThoughtWorks, 2007 23 23
  49. 2001 © ThoughtWorks, 2007 23 23
  50. Agile manifesto © ThoughtWorks, 2007 23 23
  51. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile manifesto © ThoughtWorks, 2007 23 23
  52. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile – Individuals and interactions over processes and tools. manifesto © ThoughtWorks, 2007 23 23
  53. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile – Individuals and interactions over processes and tools. – Working software over comprehensive documentation. manifesto © ThoughtWorks, 2007 23 23
  54. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile – Individuals and interactions over processes and tools. – Working software over comprehensive documentation. manifesto – Customer collaboration over contract negotiation. © ThoughtWorks, 2007 23 23
  55. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile Individuals and interactions over processes and tools. – Working software over comprehensive documentation. – manifesto Customer collaboration over contract negotiation. – Responding to change over following a plan. – © ThoughtWorks, 2007 23 23
  56. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile Individuals and interactions over processes and tools. – Working software over comprehensive documentation. – manifesto Customer collaboration over contract negotiation. – Responding to change over following a plan. – That is, while there is value in the items on the right, we value the items on the left more.” © 2001 Agile Alliance. http://www.agilemanifesto.org © ThoughtWorks, 2007 23 23
  57. Agile (XP) Values © ThoughtWorks, 2007 24 24
  58. Agile (XP) Values courage © ThoughtWorks, 2007 24 24
  59. Agile (XP) Values communication courage © ThoughtWorks, 2007 24 24
  60. Agile (XP) Values communication simplicity courage © ThoughtWorks, 2007 24 24
  61. Agile (XP) Values communication simplicity courage feedback © ThoughtWorks, 2007 24 24
  62. Agile (XP) Values communication simplicity courage feedback courage © ThoughtWorks, 2007 24 24
  63. Agile (XP) Values communication simplicity courage feedback courage Communication leads to valuable feedback which encourages simplicity which allows for courage to change © ThoughtWorks, 2007 24 24
  64. Agile (XP) Values communication simplicity respect courage feedback courage Communication leads to valuable feedback which encourages simplicity which allows for courage to change © ThoughtWorks, 2007 24 24
  65. Agenda for this session • The Story of Software Development • Lean Thinking • Agile Values and Principles • Agile Process • Agile Practices • Summary/Review • Questions/Close © ThoughtWorks, 2007 25 25
  66. How Agile fits into software delivery Inceptio n Business Case Baseline Requirements/ Stories Baseline Budget Develop Working Software Full Regression Test Suite Support Business Realisation Support Documentation Trained Support Staff © ThoughtWorks, 2007 26 26
  67. Agile development is an iterative and incremental process Inceptio n High level requirements © ThoughtWorks, 2007 27 27
  68. Agile development is an iterative and incremental process Inceptio n High level requirements © ThoughtWorks, 2007 27 27
  69. Agile development is an iterative and incremental process Inceptio n High level requirements © ThoughtWorks, 2007 27 27
  70. Agile development is an iterative and incremental process Inceptio n High level requirements © ThoughtWorks, 2007 27 27
  71. Agile development is an iterative and incremental process Inceptio n High level requirements © ThoughtWorks, 2007 27 27
  72. Agile development is an iterative and incremental process Inceptio n High level release 1 requirements © ThoughtWorks, 2007 27 27
  73. Agile development is an iterative and incremental process Inceptio n High level release 1 requirements © ThoughtWorks, 2007 27 27
  74. Agile development is an iterative and incremental process Inceptio n High level release 1 requirements release 2 © ThoughtWorks, 2007 27 27
  75. Agile development is an iterative and incremental process Inceptio n High level release 1 requirements release 2 © ThoughtWorks, 2007 27 27
  76. Agile development is an iterative and incremental process Inceptio n High level release 1 requirements release 2 release 3 © ThoughtWorks, 2007 27 27
  77. Agile development is an iterative and incremental process Inceptio n High level release 1 requirements release 2 release 3 © ThoughtWorks, 2007 27 27
  78. Agile development is an iterative and incremental process Inceptio n High level release 1 requirements release 2 release 3 Support © ThoughtWorks, 2007 27 27
  79. Agile development is an iterative and incremental process Inceptio Support required at the n end of each release High level release 1 requirements release 2 release 3 Support © ThoughtWorks, 2007 27 27
  80. Agenda for this session • The Story of Software Development • Lean Thinking • Agile Values and Principles • Agile Process • Agile Practices • Summary/Review • Questions/Close © ThoughtWorks, 2007 28 28
  81. Agile Practices Pair IKO Retrospectives Programming Story Wall Daily Stand-ups Velocity Iterations Metrics User Sustainable Stories Pace TEAM © ThoughtWorks, 2007 29 29
  82. Agile Practices Short Automated Releases Pair IKO Retrospectives Build/Deploy Programming Collective Automated Story Wall Daily Ownership Testing Stand-ups Coding Velocity Iterations Co-location Standards Metrics User Sustainable On-site Continuous Stories Pace Customer Integration TEAM ORGANIZATIONAL © ThoughtWorks, 2007 29 29
  83. Agile Practices Short Automated Releases Pair IKO Retrospectives Build/Deploy Programming Refactoring Collective Automated Story Wall Daily Ownership Testing Stand-ups Simple Design Coding Velocity Iterations Co-location Standards Metrics Test Driven Development User Sustainable On-site Continuous Stories Pace Customer Integration INDIVIDUAL TEAM ORGANIZATIONAL © ThoughtWorks, 2007 29 29
  84. Agenda for this session • The Story of Software Development • Lean Thinking • Agile Values and Principles • Agile Process • Agile Practices • Summary/Review • Questions/Close © ThoughtWorks, 2007 30 30
  85. Summary © ThoughtWorks, 2007 31 31
  86. Summary Use of Agile methodologies – Helps handle changing requirements & priorities – Lowers cost of change – Provides better visibility into project progress – Reduces risk – Maximizes return on investment (business value prioritized) – Encourages higher quality, simpler code – Delivers business value early & often © ThoughtWorks, 2007 31 31
  87. Summary Use of Agile methodologies – Helps handle changing requirements & priorities – Lowers cost of change – Provides better visibility into project progress – Reduces risk – Maximizes return on investment (business value prioritized) – Encourages higher quality, simpler code – Delivers business value early & often But, with this capability comes – Constant business involvement – A need for more discipline – Greater emphasis on testing © ThoughtWorks, 2007 31 31
  88. Questions? © ThoughtWorks, 2007 32 32
  89. © ThoughtWorks, 2007 33 33
  90. Agile Overview Thanks for attending! Balachander Swaminathan (bala@thoughtworks.com) © ThoughtWorks, 2007 34

+ SiddhiSiddhi, 3 years ago

custom

10138 views, 44 favs, 16 embeds more stats

The Intro to Agile session at Agile Chennai 2007 pr more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 10138
    • 9928 on SlideShare
    • 210 from embeds
  • Comments 4
  • Favorites 44
  • Downloads 1860
Most viewed embeds
  • 74 views on http://www.silverstripesoftware.com
  • 57 views on http://pm-blog.com
  • 47 views on http://siddhi.blogspot.com
  • 12 views on http://knitinr.blogspot.com
  • 4 views on http://edtechdev.mrooms2.net

more

All embeds
  • 74 views on http://www.silverstripesoftware.com
  • 57 views on http://pm-blog.com
  • 47 views on http://siddhi.blogspot.com
  • 12 views on http://knitinr.blogspot.com
  • 4 views on http://edtechdev.mrooms2.net
  • 3 views on http://www.trollhouse.fr
  • 3 views on file://
  • 2 views on http://www.slideshow.com
  • 1 views on http://localhost
  • 1 views on http://www.clearspring.com
  • 1 views on http://www.o53.net
  • 1 views on http://www.mvyx.com
  • 1 views on http://www.geoffblake.com
  • 1 views on http://www.netvibes.com
  • 1 views on http://aulavirtual.ingenieriausp.com
  • 1 views on http://livebackgammon.info

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories