Lean Mean & Agile 2009

910 views

Published on

Conference report after attending Agile 2009 in Chicago.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
910
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Lean Mean & Agile 2009

  1. 1. Lean, Mean, & Agile Agile 2009 Conference Report Harold Shinsato - October 8, 2009
  2. 2. Yes Power Integrity Challenge Strength Courage Winning No Violence Arrogance Etc.
  3. 3. Challenge Truth, Beauty, Fun
  4. 4. Agile
  5. 5. Agile Scrum & XP
  6. 6. Lean 5 Steps
  7. 7. Lean Software Development
  8. 8. A little history • agilemanifesto.org - February 2001 • Programmers tired of bureaucracy • lean.org - Toyota Post WWII • Few customers • Had to remove waste • Scrum Conference + XP Conference
  9. 9. Agile 2009 Conference • Chicago - August 24-27 • 1350+ Attendees • Large Music Festival Model (21 “stages”) • 20+ sessions going on at any time • Any number of “Open Jam” sessions
  10. 10. User Experience (UX) • Jared Spool Keynote • Guerilla Usability Testing • Guerilla User Research • Lightweight Design • Integrated with Agile/Scrum/Iterative dev.
  11. 11. What’s the Story? As <role> I want <function> so that <business value> Rachel Davies Johanna Rothman
  12. 12. Deliberate Practice
  13. 13. 10 Years to World Class • The Role of Deliberate Practice in the Acquisition of Expert Performance - by Anders Ericsson • Sufficient time (hours a day) • Mentor/Coach/Teacher • Specific practice • Immediate Feedback
  14. 14. Uncle “Bob” Martin objectmentor.com
  15. 15. Software Craftsmanship • Software Craftsmanship North America • Know your craft • Study more than 1 language (Java, C#, Dynamic, Functional) • YOU are responsible for your training • No technical debt - only mess making
  16. 16. Test Driven Development
  17. 17. TDD Benefits • Clean code • Self documenting • Full unit test suite • Enables near 0 defect rate • Ensures flexible code
  18. 18. Behavior Driven Development
  19. 19. BDD Benefits • TDD is actually not about testing • TDD is a design methodology • “Test” Driven Development encourages “Test” mindset and delays mastery of TDD • BDD encourages starting from the behavior and the use of • Mock objects
  20. 20. BDD Sessions + Tools • Agile 2009 Sessions: • “Acceptance Testing Java Applications with Cucumber, RSpec, and JRuby” • “How to Make Your Testing More Groovy” • Tools • RSpec, Cucumber, JBehave, EasyB, .......
  21. 21. RSpec/Cucumber
  22. 22. JBehave
  23. 23. EasyB
  24. 24. Mock Objects • Mock Roles not Objects • System Under Test & Collaborators • “Mocks aren’t Stubs” (or dummies) • State vs. Behavior Verification • Java tools - jMock, EasyMock, Mockito
  25. 25. JMock Example SUT sut = new SUT(); // System Under Test Mock mock = new Mock(Collab.class); //setup expectations mock.expects(once()).method(“neededMethod”) .with(eq(1), eq(“String param”)); //exercise sut.testedMethod((Collab) mock.proxy()); //verify mock.verify(); assertEquals(EXPECTED_STATE, sut.state());
  26. 26. Bad Mocking (thanks Paolini Carolini & Sudhindra Rao) • Unreadable tests • Replacing Integration Testing • Unnecessary (e.g.Value Object) • Context Confusion • Mock returns Mock • Mock Abuse (better: FakeDB, Dummy, Stub, Fixture)
  27. 27. Dynamic Languages & Groovy
  28. 28. Groovy = less code
  29. 29. Other Groovy Features • Fully compatible with Java code • Can use Static Types • Easy to make Domain Specific Language • Dynamic typing, closures, metaprogramming, etc. • Easy XML processing, string & list handling
  30. 30. Groovy Adoption
  31. 31. Discussion vs. Dialog
  32. 32. Decision vs. Exploration • Discussion is “convergent”. It assumes a single viewpoint must be chosen. • Dialog or Conversation allows for exploration and does not require decision. • Dialog is critical for many Agile processes. • User Research, Retrospectives, Learning
  33. 33. Dialog Processes • World Café • Open Space Technology • Deep Democracy • Appreciative Inquiry
  34. 34. Leadership Stage • Coaching • Organizational Development • Change Management • Collaborative vs. “Command & Control” • Leadership & Self-Organizing • “Stepping Up & Stepping Back”
  35. 35. Post-Heroic Leadership Gilles Brouillet “Developing Agile Leaders and Team: A Developmental Path”
  36. 36. Stages of Leadership
  37. 37. Responsibility Redefined • Dr. Christopher Avery • Leadership means 100% Responsibility • Responsibility != Accountability • Responsibility != Shame
  38. 38. Responsibility Process
  39. 39. We cannot solve our problems with the same thinking we used when we created them.
  40. 40. We Want Your Questions, Thoughts ...

×