SlideShare a Scribd company logo
Lean, Mean, & Agile
  Agile 2009 Conference Report
    Harold Shinsato - October 8, 2009
Yes
 Power
Integrity
Challenge
Strength
Courage
Winning




              No
             Violence
            Arrogance
               Etc.
Challenge




Truth, Beauty, Fun
Agile
Agile Scrum & XP
Lean 5 Steps
Lean Software
Development
Lean Mean & Agile 2009
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
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
User Experience (UX)

• Jared Spool Keynote
• Guerilla Usability Testing
• Guerilla User Research
• Lightweight Design
• Integrated with Agile/Scrum/Iterative dev.
What’s the Story?
As <role> I want <function>
 so that <business value>



                   Rachel Davies

                   Johanna Rothman
Deliberate Practice
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
Uncle “Bob” Martin




           objectmentor.com
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
Test Driven
Development
TDD Benefits

• Clean code
• Self documenting
• Full unit test suite
• Enables near 0 defect rate
• Ensures flexible code
Behavior Driven
 Development
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
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, .......
RSpec/Cucumber
JBehave
EasyB
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
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());
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)
Dynamic Languages &
     Groovy
Groovy = less code
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
Groovy Adoption
Discussion vs. Dialog
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
Dialog Processes

• World Café
• Open Space Technology
• Deep Democracy
• Appreciative Inquiry
Leadership Stage
• Coaching
• Organizational Development
• Change Management
• Collaborative vs. “Command & Control”
• Leadership & Self-Organizing
• “Stepping Up & Stepping Back”
Post-Heroic Leadership


       Gilles Brouillet
“Developing Agile Leaders and
Team: A Developmental Path”
Stages of Leadership
Responsibility
         Redefined
• Dr. Christopher Avery
• Leadership means 100% Responsibility
• Responsibility != Accountability
• Responsibility != Shame
Responsibility Process
We cannot solve our problems
with the same thinking we used
    when we created them.
We Want Your Questions, Thoughts ...

More Related Content

PDF
Test Driven Design by Jonas Auken
PPTX
The Fundamentals of Continuous Software Design
PDF
Farhan Thawar - Managing an Agile Team
PDF
2 anton muzhailo - team development techniques you must know to be a valuab...
PPTX
Software Craftsmanship and Agile Code Games
PPTX
How we daily manage and work in a dispersed company: Particular Software
PPTX
On working in Particular
PPT
Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)
Test Driven Design by Jonas Auken
The Fundamentals of Continuous Software Design
Farhan Thawar - Managing an Agile Team
2 anton muzhailo - team development techniques you must know to be a valuab...
Software Craftsmanship and Agile Code Games
How we daily manage and work in a dispersed company: Particular Software
On working in Particular
Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

What's hot (17)

PPTX
Clean Code Talk (draft)
PDF
Intro to our Agile Release Planning workshop
PPTX
Play to Learn: Agile Games with Cards and Dice
PPTX
"GitHub com for lazy in cloud project management" by Sergejs Matancevs from S...
PDF
Getting started with dev tools (05 09-17, santa monica) upload
PPTX
Hiep le - xp should be dead! here is why.
PDF
Vladimirs Ivanovs — How minions can help creating a complementary team and fi...
PPTX
Building an Online Presence
PDF
Agility without Complexity: Fast and Efficient
PDF
Being a tech speaker
PPTX
DevOps Quiz
PPT
Dealing with challenges (technical)
PDF
Mob Programming for Continuous Learning
PPT
Nimble Framework - Software architecture and design in agile era - PSQT Template
PDF
Agile and UX
PPTX
Babysitting your orm essenmacher, adam
PDF
Tips & Tricks for Being a Successful Tech Lead
Clean Code Talk (draft)
Intro to our Agile Release Planning workshop
Play to Learn: Agile Games with Cards and Dice
"GitHub com for lazy in cloud project management" by Sergejs Matancevs from S...
Getting started with dev tools (05 09-17, santa monica) upload
Hiep le - xp should be dead! here is why.
Vladimirs Ivanovs — How minions can help creating a complementary team and fi...
Building an Online Presence
Agility without Complexity: Fast and Efficient
Being a tech speaker
DevOps Quiz
Dealing with challenges (technical)
Mob Programming for Continuous Learning
Nimble Framework - Software architecture and design in agile era - PSQT Template
Agile and UX
Babysitting your orm essenmacher, adam
Tips & Tricks for Being a Successful Tech Lead
Ad

Viewers also liked (16)

PPT
MiM Madison 2010 rally
PPT
Seventh grade mi m presentation
PPT
Fda phacilitate2010final
PDF
Nubilum: Resource Management System for Distributed Clouds
PPTX
Proyecto Escuela Saludable2009
PPT
PDF
FDA 1997 Points to Consider for Monoclonal Antibodies
PPTX
MiM Madison SO Conference Presentation
PPTX
Year 8 cad toy instructions
PPT
Balton From Poland
PDF
Jonathan Teague Gsa Info Pack
PDF
Burst TCP: an approach for benefiting mice flows
PDF
2. guru bimbingan kaunseling
PPTX
The Three Branches Of Government Power Point
PPT
So You Say You Want a Revolution? Evolving Agile Authority
PPTX
stress management
MiM Madison 2010 rally
Seventh grade mi m presentation
Fda phacilitate2010final
Nubilum: Resource Management System for Distributed Clouds
Proyecto Escuela Saludable2009
FDA 1997 Points to Consider for Monoclonal Antibodies
MiM Madison SO Conference Presentation
Year 8 cad toy instructions
Balton From Poland
Jonathan Teague Gsa Info Pack
Burst TCP: an approach for benefiting mice flows
2. guru bimbingan kaunseling
The Three Branches Of Government Power Point
So You Say You Want a Revolution? Evolving Agile Authority
stress management
Ad

Similar to Lean Mean & Agile 2009 (20)

PDF
Testing in Agile Development
PPTX
PDF
Enter the mind of an Agile Developer
PDF
Agile testing - Madhu Krishnappa
PDF
Frank's Learning Summary - Evolution of agile testing
PPTX
Agile Testing: The Role Of The Agile Tester
PDF
Agile Testing How To Succeed In An Extreme Testing Environment John Watkins
PDF
Agile Basics / Fundamentals
PDF
PMI ACP Prep Course
PDF
From Incremental & Iterative to Agile – What's the Right Process For Your Tea...
PDF
Be Modern Agile Tester
PPT
Agile Testing XBOSoft Jared Richardson Phil Lew
PPTX
Introduction to Agile Testing
PDF
Business Value of Agile Methods: Benefits of Testing Early & Often
PPTX
Agile Testing Agile Ottawa April 2015
PPTX
Agile Project Management
PDF
Introduction to Test Driven Development
PPT
The Dancing Agile Elephant
PDF
STLDODN - Agile Testing in a Waterfall World
Testing in Agile Development
Enter the mind of an Agile Developer
Agile testing - Madhu Krishnappa
Frank's Learning Summary - Evolution of agile testing
Agile Testing: The Role Of The Agile Tester
Agile Testing How To Succeed In An Extreme Testing Environment John Watkins
Agile Basics / Fundamentals
PMI ACP Prep Course
From Incremental & Iterative to Agile – What's the Right Process For Your Tea...
Be Modern Agile Tester
Agile Testing XBOSoft Jared Richardson Phil Lew
Introduction to Agile Testing
Business Value of Agile Methods: Benefits of Testing Early & Often
Agile Testing Agile Ottawa April 2015
Agile Project Management
Introduction to Test Driven Development
The Dancing Agile Elephant
STLDODN - Agile Testing in a Waterfall World

Recently uploaded (20)

PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Electronic commerce courselecture one. Pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Approach and Philosophy of On baking technology
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
cuic standard and advanced reporting.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Cloud computing and distributed systems.
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Electronic commerce courselecture one. Pdf
Machine learning based COVID-19 study performance prediction
Mobile App Security Testing_ A Comprehensive Guide.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Approach and Philosophy of On baking technology
Digital-Transformation-Roadmap-for-Companies.pptx
The AUB Centre for AI in Media Proposal.docx
cuic standard and advanced reporting.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Encapsulation theory and applications.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
NewMind AI Weekly Chronicles - August'25 Week I
Per capita expenditure prediction using model stacking based on satellite ima...
Spectroscopy.pptx food analysis technology
Cloud computing and distributed systems.
The Rise and Fall of 3GPP – Time for a Sabbatical?
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx

Lean Mean & Agile 2009

  • 1. Lean, Mean, & Agile Agile 2009 Conference Report Harold Shinsato - October 8, 2009
  • 9. 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
  • 10. 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
  • 11. User Experience (UX) • Jared Spool Keynote • Guerilla Usability Testing • Guerilla User Research • Lightweight Design • Integrated with Agile/Scrum/Iterative dev.
  • 12. What’s the Story? As <role> I want <function> so that <business value> Rachel Davies Johanna Rothman
  • 14. 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
  • 15. Uncle “Bob” Martin objectmentor.com
  • 16. 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
  • 18. TDD Benefits • Clean code • Self documenting • Full unit test suite • Enables near 0 defect rate • Ensures flexible code
  • 20. 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
  • 21. 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, .......
  • 24. EasyB
  • 25. 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
  • 26. 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());
  • 27. 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)
  • 30. 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
  • 33. 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
  • 34. Dialog Processes • World Café • Open Space Technology • Deep Democracy • Appreciative Inquiry
  • 35. Leadership Stage • Coaching • Organizational Development • Change Management • Collaborative vs. “Command & Control” • Leadership & Self-Organizing • “Stepping Up & Stepping Back”
  • 36. Post-Heroic Leadership Gilles Brouillet “Developing Agile Leaders and Team: A Developmental Path”
  • 38. Responsibility Redefined • Dr. Christopher Avery • Leadership means 100% Responsibility • Responsibility != Accountability • Responsibility != Shame
  • 40. We cannot solve our problems with the same thinking we used when we created them.
  • 41. We Want Your Questions, Thoughts ...