tool
DESCRIPTION
Tool and process obsession is one key pitfall of software development and agile development. What shall we do about itTRANSCRIPT
Building your Silver Bullet
Daniel Teng, Certified Scrum Coach Agile Tour 2010 Qingdao
Tools
• Thinking Tools – Lean Thinking – Theory of Constraints – System Thinking – 6 Thinking Hats
• Process Tools – Scrum – Extreme Programming – Kanban – CMMI – RUP – Test Driven Development
• Physical Tools – Car – Knife & Fork, Chopstick – Gun – Computer
• Organizational Tools – Score Balanced Card – Matrix Organization – Review/Control Board – Performance Evaluation
• Personal Tools – To-do list – Mind Map – Pomodoro Technique
• Design tools – CRC card – Color Modeling
• Programming Tools – Implementation Patterns, Design
Patterns, Architectural Patterns – Refactoring – Clean Code
Tool: ”anything used as a MEANS of accomplishing a task or PURPOSE.” - dictionary.com
People has tool OBSESSION
武林至尊
Silver Bullet (银弹)
Panacea (万灵药)
• Best Practice
• Standard
• Short-cut
• …
Some Other Similar Things
Easy
I want out-of-box answer
Copy & Paste
Don’t make me think
山寨
LAZY
Companies Like Building Fancy Tools
• Now Kanban is very popular, Let’s try Kanban
• We adopted Kanban because Scrum failed
• Let’s define a company agile standard
• Once you use our tool, you will have agile
• Let’s buy the best agile tools
• Learn Pascal (Other things) in seven days
• Agile will not work for us, our requirement is fixed from the beginning
Symptom of Tool Obsession
• Agile is a Tool
• Tool is only the MEAN, not the GOAL
• Tool is neither good or bad
• Tool has context
• Any tool can be mis-used
• Never attribute people problem to tools
Never BLAME the tools
“PEOPLE as non-linear, first-order components in software development”
“Software development (design in general) is a purely intellectual team activity, which means that everything about PEOPLE – their mood, their communication, their communities – affect the outcome of the process. “
It is a PEOPLE Problem
Agile Manifesto
“We build PEOPLE before building cars”
What TOYOTA Says
• 失道而后德,失德而后仁,失仁而后义,失义而后礼。夫礼者,忠信之薄,而乱之首。前识者,道之华,而愚之始。
• When the Way is lost, there remains harmony; When harmony is lost, there remains love; When love is lost, there remains justice; But when justice is lost, there remains ritual. Ritual is the end of compassion and honesty, The beginning of confusion; Belief is a colorful hope or fear, The beginning of folly.
Let’s Build the PEOPLE
• Knowledge – the fact or condition of being aware of something
– the fact or condition of having information or of being learned
• Skill – the ability to use one's knowledge effectively and
readily in execution or performance
– a learned power of doing something competently
• Competence – having requisite or adequate ability or qualities
Three Concepts
• Knowing more about tools
• Knowing more tools
• Sharing
• Choosing tools wisely
Strategies for building up Competence & Skills
Know MORE about your tools
• Code Katas
– Watching others
• Coding Dojo, Retreat , Pair Programming
– Practicing with others
• Masters & Coach
• Open Source Projects
• 不闻不若闻之,闻之不若见之,
见之不若知之,知之不若行之。
学至于行之而止矣。 -- 《荀子·儒效》
• I hear and I forget; I see and I remember; I do and I understand.
-- Xunzi
Practice Makes Perfect
http://money.cnn.com/magazines/fortune/fortune_archive/2006/10/30/8391794/index.htm
Kata - Practices Deliberately for 100, 000 hrs
Coding Dojo, Retreat , Pair Programming Doing & Practicing with others
Coding Retreat
Master, Mentor, Coach
• Books, Blogs, Magazines
• Conferences
• Communities of Practices
• Professional Networks
• Mailing group, BBS
Know more tools
Books, Blogs, Magazine
Design & Patterns Magazine
Estimating&Planning
Scrum
XP
Career Lean
Conferences
Community of Practices, Study Group
Tech Talk
Professional Network
Mailing Group, BBS, RSS Reader
• Write Blogs
• Speak at Conferences
• Contribute to Open Source
• Answer Questions in Mailing Group
People to SHARE to LEARN
Speak at Events
Contribute to Open Source
• “Choose your tools wisely, that they
allow for the development of your skill.”
Tools That Develop Your Skill
• Agile is a tool, not goal
• Never attribute people failure to tools
• Understand the goal
• Build the people
– Know more about the tools
– Know more tools
– Encouraging Sharing
– Choose tool wisely
• That they allow for the development of your skill
2010/12/14 Daniel Teng 40 Take Away
• Deliberate Practice in Software Development - Mary Poppendieck
• Characterizing people as non-linear, first-order components in software development – Alistair Cockburn
• The thinking tool called agile – Henrik Kniberg • Sharpen the saw – Dan North • Promiscuous Pairing and Beginner’s Mind – Arlo
Belshee • Taoteching – Laotzu • Ruxiao - Xunzi
Reference
Email: [email protected] Blog: http://www.cnblogs.com/tengzy/ LinkedIn: http://www.linkedin.com/in/dteng Twitter: http://twitter.com/danielteng
2010/12/14 Daniel Teng 42