Tool

42
Building your Silver Bullet Daniel Teng, Certified Scrum Coach Agile Tour 2010 Qingdao

description

Tool and process obsession is one key pitfall of software development and agile development. What shall we do about it

Transcript of Tool

Page 1: Tool

Building your Silver Bullet

Daniel Teng, Certified Scrum Coach Agile Tour 2010 Qingdao

Page 2: Tool
Page 3: Tool

Tools

Page 4: Tool

• 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

Page 5: Tool

People has tool OBSESSION

Page 6: Tool

武林至尊

Page 7: Tool

Silver Bullet (银弹)

Page 8: Tool

Panacea (万灵药)

Page 9: Tool

• Best Practice

• Standard

• Short-cut

• …

Some Other Similar Things

Page 10: Tool

Easy

I want out-of-box answer

Copy & Paste

Don’t make me think

山寨

LAZY

Page 11: Tool

Companies Like Building Fancy Tools

Page 12: Tool

• 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

Page 13: Tool

• 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

Page 14: Tool

“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

Page 15: Tool

Agile Manifesto

Page 16: Tool

“We build PEOPLE before building cars”

What TOYOTA Says

Page 17: Tool

• 失道而后德,失德而后仁,失仁而后义,失义而后礼。夫礼者,忠信之薄,而乱之首。前识者,道之华,而愚之始。

• 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.

Page 18: Tool

Let’s Build the PEOPLE

Page 19: Tool

• 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

Page 20: Tool

• Knowing more about tools

• Knowing more tools

• Sharing

• Choosing tools wisely

Strategies for building up Competence & Skills

Page 21: Tool

Know MORE about your tools

• Code Katas

– Watching others

• Coding Dojo, Retreat , Pair Programming

– Practicing with others

• Masters & Coach

• Open Source Projects

Page 22: Tool

• 不闻不若闻之,闻之不若见之,

见之不若知之,知之不若行之。

学至于行之而止矣。 -- 《荀子·儒效》

• I hear and I forget; I see and I remember; I do and I understand.

-- Xunzi

Page 23: Tool

Practice Makes Perfect

http://money.cnn.com/magazines/fortune/fortune_archive/2006/10/30/8391794/index.htm

Page 24: Tool

Kata - Practices Deliberately for 100, 000 hrs

Page 25: Tool

Coding Dojo, Retreat , Pair Programming Doing & Practicing with others

Page 26: Tool

Coding Retreat

Page 27: Tool

Master, Mentor, Coach

Page 28: Tool

• Books, Blogs, Magazines

• Conferences

• Communities of Practices

• Professional Networks

• Mailing group, BBS

• Twitter

Know more tools

Page 29: Tool

Books, Blogs, Magazine

Design & Patterns Magazine

Estimating&Planning

Scrum

XP

Career Lean

Page 30: Tool

Conferences

Page 31: Tool

Community of Practices, Study Group

Page 32: Tool

Tech Talk

Page 33: Tool

Professional Network

Page 34: Tool

Mailing Group, BBS, RSS Reader

Page 35: Tool

Twitter

Page 36: Tool

• Write Blogs

• Speak at Conferences

• Contribute to Open Source

• Answer Questions in Mailing Group

People to SHARE to LEARN

Page 37: Tool

Speak at Events

Page 38: Tool

Contribute to Open Source

Page 39: Tool

• “Choose your tools wisely, that they

allow for the development of your skill.”

Tools That Develop Your Skill

Page 40: Tool

• 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

Page 41: Tool

• 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

Page 42: Tool

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