Your SlideShare is downloading. ×
0
Agile Software Development <ul><li>  </li></ul>http://www.flickr.com/photos/pauldineen/2122384796/
Hi, my name is Eric Lefevre-Ardant <ul><ul><li>http://ericlefevre.net/ </li></ul></ul><ul><ul><li>@elefevre </li></ul></ul>
About this course <ul><li>  </li></ul>http://www.flickr.com/photos/hikingartist/3000697868/
Topics Covered <ul><ul><li>Origins of Agile </li></ul></ul><ul><ul><li>Elementary Agile Notions </li></ul></ul><ul><ul><li...
Appendix <ul><li>  </li></ul>
Context <ul><li>This course has been delivered by me at CNAM (Centre National des Arts & Métiers) in Paris, France, in Oct...
Creative Commons License <ul><li>This course is made available under the Creative Commons Attribution License. </li></ul><...
1 - Origins <ul><li>  </li></ul>http://www.flickr.com/photos/crobj/3008872870/
Pre-1990's http://www.flickr.com/photos/salford_ian/3053537527/
1990's Iterations & Increments Patterns System Thinking RUP
Main Agile Methodologies Scrum XP Lean Software Development Kanban, Crystal...
The Agile Manifesto http://agilemanifesto.org/
Appendix
Agile Methods Timeline Eric Lefevre-Ardant
2 - Elementary Agile Notions
Exercise: Let's Build Towers http://www.flickr.com/photos/argenberg/310301539/
Exercise: Lessons Learned http://www.flickr.com/photos/elefevre/5206309248/in/set-72157625388834349/
Timebox Pomodoro Technique Illustrated, Staffan Nöteberg
Visual Management Eric Lefevre-Ardant
Empowerment Eric Lefevre-Ardant
Early Delivery http://www.flickr.com/photos/banyan_tree/3746867726/
Only Working Software Counts http://en.wikipedia.org/wiki/File:Windows1.0.png
Simplicity <ul><li>  </li></ul>http://www.flickr.com/photos/zarkodrincic/2117512295/
Technical Excellence <ul><li>  </li></ul>
Inspect & Adapt http://www.flickr.com/photos/genista/2635776870/
3 - Scrum & XP http://www.flickr.com/photos/69745777@N00/17620691/
Scrum http://www.flickr.com/photos/kiwi/24658003/
Overview of Scrum <ul><li>  </li></ul>http://www.mountaingoatsoftware.com/presentations/30-an-overview-of-scrum
Roles <ul><li>Product Owner </li></ul>Team ScrumMaster
Product Backlog http://www.mountaingoatsoftware.com/scrum/product-backlog
Iteration Backlog http://www.flickr.com/photos/kakutani/2761992149/
Meetings: Sprint Planning <ul><li>  </li></ul>http://www.flickr.com/photos/improveit/1682637661/ http://www.flickr.com/pho...
Meetings: Daily Scrum http://www.flickr.com/photos/dinomite/3885727769/
Meetings: Sprint Review Eric Lefevre-Ardant
Meetings: Sprint Retrospective <ul><li>  </li></ul>Eric Lefevre-Ardant
We're Doing Scrum But… http://www.flickr.com/photos/sundazed/1450388845/
Extreme Programming http://www.flickr.com/photos/elefevre/2915504264/
XP Values Communication Simplicity Feedback Courage
XP: Fine Scale Feedback <ul><li>  </li></ul>
Simplicity
Whole Team Collective Code Sustainable Pace Coding Standards Metaphors
Test-Driven Development
4 - Test-Driven Development Exercise http://www.flickr.com/photos/elefevre/5014954493/in/set-72157622496321083/ 
5 - Requirements http://www.flickr.com/photos/bensonkua/4994313194/
Vision <ul><li>  </li></ul>http://www.flickr.com/photos/threadedthoughts/4503155143/
INVEST <ul><ul><li>Independent </li></ul></ul><ul><ul><li>Negotiable </li></ul></ul><ul><ul><li>Valuable to users </li></u...
User Stories <ul><li>  </li></ul>http://www.flickr.com/photos/jnicho02/2827250133/
Exercise: Wide Band Delphi http://en.wikipedia.org/wiki/File:John_Collier_-_Priestess_of_Delphi.jpg
Estimations http://www.openclipart.org/
Acceptance Testing Tests on User Stories Examples Automation Exploratory Testing
Appendix <ul><li>  </li></ul>
Exercise: Fantasy Chess Game <ul><ul><li>Pieces have special skills, as in Dungeon & Dragon </li></ul></ul><ul><ul><li>Run...
6 - Facilitation http://www.flickr.com/photos/elefevre/1747263454/
Command & Control http://www.flickr.com/photos/hikingartist/3163416240/
Hands-Off
Shared Responsability http://www.flickr.com/photos/hikingartist/3010375090/
Facilitator: a Servant Leader http://www.flickr.com/photos/a2gemma/2548878626/
Listen & Observe http://www.flickr.com/photos/nikonvscanon/402213996/
Remove Obstacles http://www.flickr.com/photos/amagill/3366720659/ http://www.flickr.com/photos/ajabogado/4409800729/ http:...
Work Environment: The War Room <ul><li>  </li></ul>
Information Radiators http://ultimatewallboard.com/entries/89005#91343 http://ultimatewallboard.com/entries/89005#89036 ht...
Meetings http://www.flickr.com/photos/create-learning/4245782006/
Support Product Owner http://www.flickr.com/photos/jaredrichardson/4447639299/
The Invisible Coach http://www.flickr.com/photos/elefevre/5155221949/
Appendix
Picture of Algodeal Office
Picture of Algodeal Office
Picture of Algodeal Office
7 - Scrum Simulation http://www.flickr.com/photos/us_embassy_newzealand/4361070594/
8 - Beyond Methodologies http://www.flickr.com/photos/abnelgonzalez/2058764760/
The First Rule Is: There Are No Rules http://www.flickr.com/photos/charmainetham/420602513/
Lean
Doctor, is it going to hurt? http://www.flickr.com/photos/nez/1181776681/
Community <ul><li>http://fr.groups.yahoo.com/group/xp-france/ (Agile France) </li></ul><ul><li>https://groups.google.com/g...
Books: Necessary Readings
Books: Further Readings
The End <ul><li>This is the end of this course. I hope you enjoyed it. </li></ul><ul><li>--Eric Lefevre-Ardant </li></ul>
Upcoming SlideShare
Loading in...5
×

Agile Course CNAM 2011

4,287

Published on

Course on Agile Software Development given in October 2011 to students at CNAM, in Paris.

Published in: Technology, Sports
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,287
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
23
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • email Slideshare teach that there are alternative ways of doing IT projects make you willing to learn more
  • No text in English exercises Topics: Origins Elementary Notions Scrum &amp; XP TDD in Practice Requirements Facilitation Scrum Exercise Beyond Methodologies
  • 1968 The Software Crisis 1970 Winston Royce &amp;quot;a flawed model&amp;quot; 1986 Fred Brooks &amp;quot;No Silver Bullet&amp;quot; BDUF PMI Project Triangle Lean Manufacturing
  • Christopher Alexander: A Pattern Language: Towns, Buildings, Construction (1977) Design Patterns: Kent Beck, Ward Cunningham =&gt; Organizational patterns Jerry Weinberg: System Thinking &amp;quot;how things influence one another within a whole&amp;quot; Lightweight methods: against heavily regulated, regimented, micromanaged, waterfall model RAD
  • Kent Beck Ward Cunningham Martin Fowler Robert C. Martin Ron Jeffries Ken Schwaber Jeff Sutherland Mike Beedle Andrew Hunt Dave Thomas Alistair Cockburn Brian Marick &amp;quot;Artisanal retro-futurism crossed with team-scale anarcho-syndicalism.&amp;quot; Jim Highsmith Steve Mellor Arie van Bennekum James Grenning Jon Kern
  • 1000&apos;s of people did it 20x spagetti 1x marshmallow 1m tape 1m string 18 mins Must: be freestanding have marshmallow on top break up spagetti, tape, string if needed use as much/as little of the kit as necessary the highest, stable marshmallow wins
  • Lessons: kids do better prototyping helps marshmallow is metaphor for hidden assumptions (not as light as thought) test early &amp; often incentives magnify income last year: 46, 21, 0 cm
  • face-to-face conversation
  • Business people and developers must work  together daily throughout the project. sustainable development self-organizing teams
  • Release early, release often
  • The only measure of progress No gold-plating Must be used by real customers Reid Hoffman  (LinkedIn) ‘If you are not embarrassed by the first version of your product, you’ve launched too late.’
  • &amp;quot;the art of maximizing the amount of work not done&amp;quot;
  • Less features, more quality
  • Embrace change
  • Exam!
  • rugby 1986, Hirotaka Takeuchi and Ikujiro Nonaka  &amp;quot;The New New Product Development Game Ken Schwaber Jeff Sutherland presentation at OOPSLA&apos;95 book in 2001
  • Features listed by priority
  • Technical tasks
  • With the PO Figure out the features to work on Detail the corresponding technical tasks
  • Standup meeting Daily meeting Scrum meeting What did you do yesterday? What will you do today? Are there any impediments in your way?
  • Demo of features
  • what went well? what went not so well? what concrete actions for next sprint? Prime Directive: &amp;quot;Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.&amp;quot;
  • Long iterations BDUF no whole team estimates not by team disruption of sprint tasks assigned to individuals...
  • 1996 C3 project, Smalltalk 1999 XP Explained controversial Kent Beck &amp;quot;I  asked the team to crank up all the knobs to 10 on the things I thought were essential and leave out everything else. &amp;quot;
  • &amp;quot;the art of maximizing the amount of work not done&amp;quot; Wordle.net: YAGNI Simple~Design Simple~Design KISS Refactoring Refactoring Refactoring DRY Small~Releases/Increments Release~Often~Release~Early Coding~Standards
  • Respect
  • Test-Driven Design
  • FizzBuzz Hangman Fibonacci
  • Statement of project objectives =&gt; implementable chunks? Value? Completeness?
  • Personas (or people you know...) 3C: Card Conversation Confirmation &amp;quot;Cards are a promise for further discussions&amp;quot;
  • Area of Asia include Middle East include Russia include Eastern side of Turkey exclude Australia 44,579,000 km 2 lessons: Count, Compute (relative) &amp; Judge go with previously known info (if possible) relative estimates ask for details use very large error margins when not sure better when estimates are first hidden from other groups (no influence)
  • Humans are good at doing relative estimates, bad at absolute estimates. Fibonacci sequence Powers of 2 T-shirt sizes
  • 1st public release in 3 months must be cash-flow positive in 6 months Build Product Backlog write down all features on separate cards/sticky notes keep only INVEST features sort by priority do relative estimates for enough features for the first 2 months if necessary, split big features into smaller features (optional) split 1 feature into technical tasks
  • Old style: managers tell workers what to do. Workers do not commit.
  • costs: 50% information loss at each step?
  • Protect team Teach Share experience Put own money on table Facilitate creativity and empowerment Improve the team’s engineering practices and tools as needed Communicate, communicate, communicate
  • Also, see pictures of Algodeal office a few slides later
  • Conduct meetings Help reach decisions Keep out from deciding
  • Product Backlog Communication Updates Communication with rest of company
  • Goal is to make one&apos;s role irrelevant Self-Organization
  • Continuous Integration widget
  • Tourism in Space Dog Keeping Wedding Planner Educational Games Anniversary Cakes Select PO, Vision &amp; Product Backlog : 10 minutes Sprint Planning: 10 minutes: PO selects 3 to 5 items PO decides order Team decides tasks Team estimates tasks 1st Daily Meeting: 2 mins Sprint Day 1: 10 minutes Daily Meeting: 3 minutes Sprint Day 2: 10 minutes Demo: 10 minutes Retrospective
  • Cargo Cult
  • William Edwards Deming Kaizen: continuous improvement Kanban: limited WIP ‘your system is truly different’  Wordle.net: A3 Plan-Do-Check-Act/PDCA Set-based~Development Eliminate~waste Eliminate~waste Eliminate~waste Amplify~learning Amplify~learning Queueing~Theory Decide~as~late~as~possible Decide~as~late~as~possible  Lean~Software~Development Lean~Software~Development Lean~Software~Development Lean~Software~Development Value~Stream~Mapping Deliver~as~fast~as~possible Deliver~as~fast~as~possible Empower~the~team Empower~the~team Pull~Systems Self~Determination Build~integrity~in Build~integrity~in See~the~whole See~the~whole Last~Responsible~Moment Limited~WIP Lean~Startup
  • Devops very active communities: Serious Games
  • Transcript of "Agile Course CNAM 2011"

    1. 1. Agile Software Development <ul><li>  </li></ul>http://www.flickr.com/photos/pauldineen/2122384796/
    2. 2. Hi, my name is Eric Lefevre-Ardant <ul><ul><li>http://ericlefevre.net/ </li></ul></ul><ul><ul><li>@elefevre </li></ul></ul>
    3. 3. About this course <ul><li>  </li></ul>http://www.flickr.com/photos/hikingartist/3000697868/
    4. 4. Topics Covered <ul><ul><li>Origins of Agile </li></ul></ul><ul><ul><li>Elementary Agile Notions </li></ul></ul><ul><ul><li>Overview of Scrum & XP </li></ul></ul><ul><ul><li>TDD in Practice </li></ul></ul><ul><ul><li>Requirements </li></ul></ul><ul><ul><li>Facilitation </li></ul></ul><ul><ul><li>Scrum Simulation </li></ul></ul><ul><ul><li>Beyond Methodologies  </li></ul></ul>
    5. 5. Appendix <ul><li>  </li></ul>
    6. 6. Context <ul><li>This course has been delivered by me at CNAM (Centre National des Arts & Métiers) in Paris, France, in October 2011. </li></ul><ul><li>The slides are slightly different from those shown during the class, to make them a bit more suitable for web reading. I also fixed a few slides after receiving feedback during the course. </li></ul>
    7. 7. Creative Commons License <ul><li>This course is made available under the Creative Commons Attribution License. </li></ul><ul><li>You may share, modify this document as much as you wish, and even teach the course yourself, as long as you give attribution to me. For example, include a link to  http://ericlefevre.net/  somewhere. </li></ul><ul><li>To the best of my knowledge, all the pictures included were also released under this same license. </li></ul><ul><li>Please see this link for details: </li></ul><ul><li>    http://creativecommons.org/licenses/by/3.0/ </li></ul>
    8. 8. 1 - Origins <ul><li>  </li></ul>http://www.flickr.com/photos/crobj/3008872870/
    9. 9. Pre-1990's http://www.flickr.com/photos/salford_ian/3053537527/
    10. 10. 1990's Iterations & Increments Patterns System Thinking RUP
    11. 11. Main Agile Methodologies Scrum XP Lean Software Development Kanban, Crystal...
    12. 12. The Agile Manifesto http://agilemanifesto.org/
    13. 13. Appendix
    14. 14. Agile Methods Timeline Eric Lefevre-Ardant
    15. 15. 2 - Elementary Agile Notions
    16. 16. Exercise: Let's Build Towers http://www.flickr.com/photos/argenberg/310301539/
    17. 17. Exercise: Lessons Learned http://www.flickr.com/photos/elefevre/5206309248/in/set-72157625388834349/
    18. 18. Timebox Pomodoro Technique Illustrated, Staffan Nöteberg
    19. 19. Visual Management Eric Lefevre-Ardant
    20. 20. Empowerment Eric Lefevre-Ardant
    21. 21. Early Delivery http://www.flickr.com/photos/banyan_tree/3746867726/
    22. 22. Only Working Software Counts http://en.wikipedia.org/wiki/File:Windows1.0.png
    23. 23. Simplicity <ul><li>  </li></ul>http://www.flickr.com/photos/zarkodrincic/2117512295/
    24. 24. Technical Excellence <ul><li>  </li></ul>
    25. 25. Inspect & Adapt http://www.flickr.com/photos/genista/2635776870/
    26. 26. 3 - Scrum & XP http://www.flickr.com/photos/69745777@N00/17620691/
    27. 27. Scrum http://www.flickr.com/photos/kiwi/24658003/
    28. 28. Overview of Scrum <ul><li>  </li></ul>http://www.mountaingoatsoftware.com/presentations/30-an-overview-of-scrum
    29. 29. Roles <ul><li>Product Owner </li></ul>Team ScrumMaster
    30. 30. Product Backlog http://www.mountaingoatsoftware.com/scrum/product-backlog
    31. 31. Iteration Backlog http://www.flickr.com/photos/kakutani/2761992149/
    32. 32. Meetings: Sprint Planning <ul><li>  </li></ul>http://www.flickr.com/photos/improveit/1682637661/ http://www.flickr.com/photos/improveit/1683672523/
    33. 33. Meetings: Daily Scrum http://www.flickr.com/photos/dinomite/3885727769/
    34. 34. Meetings: Sprint Review Eric Lefevre-Ardant
    35. 35. Meetings: Sprint Retrospective <ul><li>  </li></ul>Eric Lefevre-Ardant
    36. 36. We're Doing Scrum But… http://www.flickr.com/photos/sundazed/1450388845/
    37. 37. Extreme Programming http://www.flickr.com/photos/elefevre/2915504264/
    38. 38. XP Values Communication Simplicity Feedback Courage
    39. 39. XP: Fine Scale Feedback <ul><li>  </li></ul>
    40. 40. Simplicity
    41. 41. Whole Team Collective Code Sustainable Pace Coding Standards Metaphors
    42. 42. Test-Driven Development
    43. 43. 4 - Test-Driven Development Exercise http://www.flickr.com/photos/elefevre/5014954493/in/set-72157622496321083/ 
    44. 44. 5 - Requirements http://www.flickr.com/photos/bensonkua/4994313194/
    45. 45. Vision <ul><li>  </li></ul>http://www.flickr.com/photos/threadedthoughts/4503155143/
    46. 46. INVEST <ul><ul><li>Independent </li></ul></ul><ul><ul><li>Negotiable </li></ul></ul><ul><ul><li>Valuable to users </li></ul></ul><ul><ul><li>Estimable </li></ul></ul><ul><ul><li>Small </li></ul></ul><ul><ul><li>Testable </li></ul></ul>
    47. 47. User Stories <ul><li>  </li></ul>http://www.flickr.com/photos/jnicho02/2827250133/
    48. 48. Exercise: Wide Band Delphi http://en.wikipedia.org/wiki/File:John_Collier_-_Priestess_of_Delphi.jpg
    49. 49. Estimations http://www.openclipart.org/
    50. 50. Acceptance Testing Tests on User Stories Examples Automation Exploratory Testing
    51. 51. Appendix <ul><li>  </li></ul>
    52. 52. Exercise: Fantasy Chess Game <ul><ul><li>Pieces have special skills, as in Dungeon & Dragon </li></ul></ul><ul><ul><li>Runs on Oracle 11g </li></ul></ul><ul><ul><li>Computer plays random (legal) moves </li></ul></ul><ul><ul><li>Computer plays opening moves from a database </li></ul></ul><ul><ul><li>Computer plays moves from a list of historical games </li></ul></ul><ul><ul><li>Is scalable on many servers </li></ul></ul><ul><ul><li>Computer anticipates checkmate 4 moves early </li></ul></ul><ul><ul><li>Different chess boards are available </li></ul></ul><ul><ul><li>Games are recorded (summary of moves at the end) </li></ul></ul><ul><ul><li>Games can be replayed step-by-step </li></ul></ul><ul><ul><li>User can ask for playing tips </li></ul></ul><ul><ul><li>Games can be played with a remote user </li></ul></ul><ul><ul><li>Crazy animations </li></ul></ul><ul><ul><li>Games can be saved & restored later </li></ul></ul>
    53. 53. 6 - Facilitation http://www.flickr.com/photos/elefevre/1747263454/
    54. 54. Command & Control http://www.flickr.com/photos/hikingartist/3163416240/
    55. 55. Hands-Off
    56. 56. Shared Responsability http://www.flickr.com/photos/hikingartist/3010375090/
    57. 57. Facilitator: a Servant Leader http://www.flickr.com/photos/a2gemma/2548878626/
    58. 58. Listen & Observe http://www.flickr.com/photos/nikonvscanon/402213996/
    59. 59. Remove Obstacles http://www.flickr.com/photos/amagill/3366720659/ http://www.flickr.com/photos/ajabogado/4409800729/ http://www.flickr.com/photos/athomeinscottsdale/3279949186/
    60. 60. Work Environment: The War Room <ul><li>  </li></ul>
    61. 61. Information Radiators http://ultimatewallboard.com/entries/89005#91343 http://ultimatewallboard.com/entries/89005#89036 http://www.flickr.com/photos/improveit/1674657487/
    62. 62. Meetings http://www.flickr.com/photos/create-learning/4245782006/
    63. 63. Support Product Owner http://www.flickr.com/photos/jaredrichardson/4447639299/
    64. 64. The Invisible Coach http://www.flickr.com/photos/elefevre/5155221949/
    65. 65. Appendix
    66. 66. Picture of Algodeal Office
    67. 67. Picture of Algodeal Office
    68. 68. Picture of Algodeal Office
    69. 69. 7 - Scrum Simulation http://www.flickr.com/photos/us_embassy_newzealand/4361070594/
    70. 70. 8 - Beyond Methodologies http://www.flickr.com/photos/abnelgonzalez/2058764760/
    71. 71. The First Rule Is: There Are No Rules http://www.flickr.com/photos/charmainetham/420602513/
    72. 72. Lean
    73. 73. Doctor, is it going to hurt? http://www.flickr.com/photos/nez/1181776681/
    74. 74. Community <ul><li>http://fr.groups.yahoo.com/group/xp-france/ (Agile France) </li></ul><ul><li>https://groups.google.com/group/dojo-at-lunch </li></ul><ul><li>http://wiki.agile-france.org/cgi-bin/wiki.pl?DojoDeveloppement </li></ul>AgileOpen Coding Dojo
    75. 75. Books: Necessary Readings
    76. 76. Books: Further Readings
    77. 77. The End <ul><li>This is the end of this course. I hope you enjoyed it. </li></ul><ul><li>--Eric Lefevre-Ardant </li></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×