Saturday, December 5, 2009

Agile meeting notes at Toronto JUG Dec 1, 2009


I attended the Toronto JUG meeting on December 1. This time it is about Agile, the presentato is Jack Milunsky from agilebuddy.com. His topic covered agile, SCURM and lean. 
 I put my notes here:

Adopting agile is hard
  Agile requires both bottom up and top down.
  Applying agile practices is easy, but the hard part is new mindset and new philosophy, which is quite different with traditional waterfall methodology
  Agile/Scrum is pervasive; it involves all different teams to change

Lean software technology
Jack spent lots of time on Lean.

Lean’s two pillars:
1.      Just-In-Time Flow
Eliminate inventory,
Do things in batches, which is similar with SCRUM
2.      Autonomation:
         Stop the line,
         Built-in reflex

Just In Time Flow
-          inventory is waste  => partial done software
-          Moving in Just in time
Uncover waste
       Focus on overall concept
       Focus on value

7 principles of lean software development
1.      Eliminate waste
Any partial done software is waste
2.      Build Quality in
            don’t test it in, prevent defect in the first place
            avoid creating defects
            stop the line, automation, unit test
 3.      create knowledge
           knowledge create process
           don’t lock down
 4.      Defer commitment
            “Planning is good, plans are bad”
 5.      Deliver fast
Lean focus on time
Don’t equate fast with hacking
Expose issues
Build quality in
Quality is the first priority
 6.      Respect people
Self organizing team
Trust over command and control
 7.      Optimize the whole
Mindset is important, not just practice
Transfer ownership
Focus on the whole value stream, the big picture
Focus on value, eliminate waste

Waste

·         Extra features
               Justify every feature, limit features
               Extra features are waste, > 60% are extra features.
·         Relearning
             Task switching drops the productivity
              Undocumented code
              No wiki
·         Handoff
         Transition point are waste point, knowledge degrades
          Delays

·         Defects

Increasing speed helps the absence of waste

        Cycle Time =  things in process / average completion rate
How to reduce the cycle time:
-          minimize the number of things in process
-          minimize the size of the things
-          Recommend small batches, which is similar as sprint in SCRUM

80% rule: if the task load is over 80%, the cost, defect rate increase dramatically


Agile in AgileBuddy
Agile buddy spends 20% time for refactoring, (which is very good, they know how important refactoring is, they do it deliberately, very nice!)
Discipline:  set the dial to 11( 80% rule)
Sprint length: 2 weeks

My thoughts
After the meeting, I talked to Jack, and we exchanged the idea, I believe that SCRUM mainly focuses on management side, it only focuses on what to do, but does not cover how to do, if you look at the SCRUM, there is no TDD, refactoring, pair programming, etc. I always have the question: do they need to be added in the SCRUM sprint practices? How? So I think SCRUM only is not enough, SCRUM should work with XP. So I asked Jack his idea about SCRUM vs. XP. He replied me that SCRUM only definitely not enough, it has to work with XP, because some of the XP practices are really fundamental, like TDD, refactoring. That what they are doing in agilebuddy.

I also told him my experience that how difficult to persuade my manager to apply agile in my company, how difficult to apply refactoring. He suggest me to organize a lunch and learn meeting, just watch this video by Ken Schwaber about SCRUM.
I don’t know if it is working. This meeting let think more about agile.Thanks Jack.
 You can visit Jack's blog at here.

No comments:

Post a Comment