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.
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
knowledge create process
don’t lock down
“Planning is good, plans are bad”
Lean focus on time
Don’t equate fast with hacking
Expose issues
Build quality in
Quality is the first priority
Self organizing team
Trust over command and control
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.
He also suggest me to organize a lunch and learn meeting, just watch this video by Ken Schwaber about SCRUM..This meeting let think more about agile.Thanks Jack.
Loved reading this, thanks
ReplyDelete