the role of leadership in software development

42
l e a n software development www.poppendieck.com The Role of Leadership In Software Development Mary Poppendieck Translated by Kenji Hiranabe ソフトウェア開発現場に求め られる新しいリーダーシップ ~アジャイルに見る大野耐一、デミングの影響~

Upload: kenji-hiranabe

Post on 20-Aug-2015

3.212 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: The Role of Leadership In Software Development

l e a nsoftware development

www.poppendieck.com

The Role of LeadershipIn Software Development

Mary PoppendieckTranslated by Kenji Hiranabe

ソフトウェア開発現場に求められる新しいリーダーシップ

~アジャイルに見る大野耐一、デミングの影響~

Page 2: The Role of Leadership In Software Development

l e a n

1900 – The One Best Way

Frederick Winslow TaylorAssumptions:Assumptions:

Workers will do as little as possibleWorkers do not care about qualityWorkers are not smart enough to know the best way to do their job

Taylor’s View of EfficiencyExpert defines the best way through breaking down the job into parts and finding the best way to do each partPay workers extra for following the method determined by the expertsPresumed Benefits:Presumed Benefits:Workers get higher payEmployers get higher profits

平成21年4月2 Copyright©2007 Poppendieck.LLC

Page 3: The Role of Leadership In Software Development

l e a n

1900 – 高のやり方は1つ

Frederick Winslow Taylor仮定仮定::

作業者はできるだけ仕事をしたくない

作業者は品質を気にしない

作業者は自分の仕事を もうまくやるやり方を知っているほど賢くない

効率に関するTaylorの視点専門家が仕事をブレークダウンし、それぞれの部分を一番うまくやる方法を見つけることで、 高のやり方を定義する。

専門家の決定した方法に従う作業者により報酬を与える

その利点その利点::作業者はより高い報酬を得る

雇用者はより高い利益を得る

3

1969 上野陽一 訳

(能率の父)

Page 4: The Role of Leadership In Software Development

l e a n

1920 – Industrial Training

Charles R. Allen – New Bedford, MassachusettsFour Step method of Industrial Training

Preparation, Presentation, Application, and Testing

On-the job training is best1917 – War Ships were needed

Allen: training program for shipbuildingSupervisors know how to do the jobSupervisors need training in how to train

88,000 people trained in 2 yearsWrote the book “The Instructor, the Man and the Job”“If the learner hasn’t learned, the teacher hasn’t taught.”

平成21年4月4 Copyright©2007 Poppendieck.LLC

Page 5: The Role of Leadership In Software Development

l e a n

1920 – 職業訓練(Inudustrial Training)

チャールズ R. アレン – New Bedford, マサチューセツ州

職業訓練の4ステップ「準備」,「 やってみせる」,「やってみる」, 「フォローアップ」

OJT もよいやり方

1917 – 戦艦が必要となった

アレン:造船の教育プログラム

監督者は仕事のやり方を知っている

監督者は教育の仕方の教育が必要

88,000 人を2年間で教育

本を執筆“The Instructor, the Man and the Job”“生徒が学ばないのは、先生が教えていないのだ。”

5

アレン式4段階法

OJTの父

Page 6: The Role of Leadership In Software Development

l e a n

1940 – Training Within Industry

Wartime ProductionInexperienced WorkforceAdapted Allen’s Approach

Train first line supervisorsJob Instruction – how to train workersJob Methods – how to improve the way work is doneJob Relations – how to treat workers with respect

TWI (Training within Industry)Credited with impressive productivityAbandoned as unnecessary after the warExported to Japan to help rebuild economy

平成21年4月6 Copyright©2007 Poppendieck.LLC

Page 7: The Role of Leadership In Software Development

l e a n

1940 – 企業内訓練(Training Within Industry)

戦時中の生産活動経験のない労働者

アレンのアプローチを採用

現場の上司を教育JI (Job Instruction) – 仕事の教え方

JM (Job Method) – 改善のしかた

JR(Job Relation) – 人の扱い方

TWI (Training within Industry)驚異的な生産性を記録

戦後、不要となった

日本の経済再建のために輸出される平成21年4月7 Copyright©2007 Poppendieck.LLC

1950年、日本に導入。1973年、手引書(現在も使用)が発行される。1982年、手引書の内容が一部改定される。1992年、改定増補版の手引書が発行される。(現在も使用されている)

Page 8: The Role of Leadership In Software Development

l e a n

JI (Job Instruction)

平成21年4月8 Copyright©2007 Poppendieck.LLC

Page 9: The Role of Leadership In Software Development

l e a n

JM (Job Method)

平成21年4月9 Copyright©2007 Poppendieck.LLC

Page 10: The Role of Leadership In Software Development

l e a n

JR (Job Relations)

平成21年4月10 Copyright©2007 Poppendieck.LLC

Page 11: The Role of Leadership In Software Development

社団法人雇用問題研究会 http://www.koyoerc.or.jp/index.html

Page 12: The Role of Leadership In Software Development

l e a n

TWI Premise: The Five Skills of Good Supervisors

1. Knowledge of the WorkThe kind of information that makes one business different from all other businesses: materials, services, processes, equipment operations, etc.

2. Knowledge of ResponsibilitiesThe company’s situation regarding policies, regulations, rules, agreements, schedules, etc.

3. Skill in InstructingNo matter how much knowledge or skill a person has about the work itself, if they do not have skill in instructing, it will not be possible to pass that knowledge and skill to others

4. Skill in Improving MethodsHelping to produce greater quantities of quality products in less time, by making the best use of the available people, machines, and material

5. Skill in LeadingSupervisors must be able to work with people, because the results of a supervisor’s work depends on the output of other people

平成21年4月12 Copyright©2007 Poppendieck.LLC

Page 13: The Role of Leadership In Software Development

l e a n

TWI の前提: よい監督者の5つのスキル

1. その仕事自身についての知識その仕事を他の仕事から特徴づける情報:材料、サービス、工程、装置操作など

2. 責任と役割についての知識方針、規制、ルール、合意事項、スケジュールなどの会社の状況

3. 教えるスキル仕事自身の知識やスキルがいくらあっても、教えるスキルがなければ知識を他人に伝達することができない。

4. 手法を改善するスキルより短い時間で品質の高い製品を多く製造するために、人、機会、材料を もうまく利用する。

5. リーダーとしてのスキル監督者は人々と共に働くことが出来なければならない。監督者の仕事の結果は、他の人々の成果にかかっている。

平成21年4月13 Copyright©2007 Poppendieck.LLC

Page 14: The Role of Leadership In Software Development

l e a n平成21年4月14 Copyright©2006 Poppendieck.LLC

1950 – Toyota Production System

Taiichi OhnoJust-in-Time Flow

Eliminate WasteStop-the-Line Culture

Mistake-Proof the ProcessRelentless Improvement

Learn Through Experiments

Books:Workplace Management, 1982, (2007)The Toyota Production System, 1988 (1978)

Taiichi Ohno(1912-1990)

Page 15: The Role of Leadership In Software Development

l e a n

大野耐一(1912-1990)

平成21年4月15 Copyright©2006 Poppendieck.LLC

1950 – トヨタ生産方式

大野耐一

ジャスト・イン・タイムムダどり

自働化(ライン・ストップの文化)プロセスをポカヨケする

たゆまぬカイゼンやってみて、そこから学ぶ

Books:現場経営(Workplace Management), 1982, (2007)トヨタ生産方式: 脱規模の経営, 1988 (1978)

Page 16: The Role of Leadership In Software Development

l e a n

Taiichi Ohno onStandard Work

There is something called standard work, but standards should be changed constantly. Instead, if you think of the standard as the best you can do, it’s all over. The standard work is only a baseline for doing further kaizen. It is kai-aku [change for the worse] if things get worse than now, and it is kaizen [change for the better] if things get better than now. Standards are set arbitrarily by humans, so how can they not change?

You should not create these away from the job. See what is happening on the gemba and write it down.From Workplace Management, by Taiichi Ohno, originally published in 1982, from translation by Jon Miller, Gemba Press, 2007.

平成21年4月16 Copyright©2007 Poppendieck.LLC

Page 17: The Role of Leadership In Software Development

l e a n

大野耐一 on「標準」

標準作業というものがあるが、標準というのは、刻々変わっていかにゃおかしいんで、そいつを、標準というのを 善だと思ったらもういかん。標準というのは、改善するためのひとつのベースであってね、今より悪くなったやつは改悪であり、今よりよくなったやつは改善なんで、こんなものは人間がいい加減に決めるんでね、変わっていかねばおかしい。

現場を離れて書いてはいかん。現場で起きていることを見て書きなさいって言うんだね。

出典:『現場経営』, 大野耐一(1982), 訳 “Workplance Management”, by Jon Miller, Gemba Press, 2007.

平成21年4月17 Copyright©2007 Poppendieck.LLC

Page 18: The Role of Leadership In Software Development

l e a n

Taiichi Ohno onEstablishing Standards

When creating Standard Work, it will be difficult to establish a standard if you are trying to achieve ‘the best way.’This is a big mistake. Document exactly what you are doing now. If you make it better than it is now, it is kaizen. If not, and you establish the best possible way, the motivation for kaizen will be gone.

That is why one way of motivating people to do kaizen is to create a poor standard. But don’t make it too bad. Without some standard, you can’t say ‘We made it better’because there is nothing to compare it to, so you must create a standard for comparison. Take that standard, and if the work is not easy to perform, give many suggestions and do kaizen.

平成21年4月18 Copyright©2007 Poppendieck.LLC

Page 19: The Role of Leadership In Software Development

l e a n

大野耐一 on標準づくり

そいつを、標準作業をつくれというと、何かベストのも

のを心掛けると、標準というものは仲々できん。これは大きな間違いだね。いまやっていることをそのまま書け、と。で、こ

れよりもよくすれば改善だしね。そうでないと、 善のものが出ちゃったら、改善意欲はなくなってしまう。

だから、みんなの改善意欲を上げるのにはね、まずい

標準つくるのもひとつの手だ。けれどもあんまりでたらめじゃね。何か標準がないと、 ようしましたと言ったってね、比べる

相手がないといかんので、それについては標準というのを、とにかくつくらにゃいかん、と。それを持っていって、やりにくかったらどんどん意見出して改善をやりなさい。

平成21年4月19 Copyright©2007 Poppendieck.LLC

Page 20: The Role of Leadership In Software Development

l e a n

Taiichi Ohno: Who Decides on Standards?

We need to use the words ‘you made’ as in ‘follow the decisions you made.’ When we say ‘they were made’ people feel like it was forced upon them. When a decision is made, we need to ask who made the decision. Since you also have the authority to decide, if you decide, you must at least follow your decision, and then this will not be forced upon you at all.

But in the beginning, you must perform the Standard Work, and as you do, you should find things you don't like, and you will think of one kaizen idea after another. Then you should implement these ideas right away, and make this the new standard.

平成21年4月20 Copyright©2007 Poppendieck.LLC

Page 21: The Role of Leadership In Software Development

l e a n

大野耐一: 誰が標準を決める?

決めたことを守るということは、「決めた」という言葉

にせんといかんのだね。「決められた」というと、なにかこう押しつけられた感じを持つんでね。決めたということは誰が決めたか、自分も決める権利があるんだし、自分で決めたやつは自分で守るくらいのことはね、これは何も押しつけでもなんでもない。

だけど 初は、まずその標準作業をやってみて、

やっていくうちに、これはつまらんなとか、こうしたらええとかああしたらええと改善案が出るはずだ。そしたらそいつをすぐ採り上げて、今度はそれを標準にしていけばいい。

平成21年4月21 Copyright©2007 Poppendieck.LLC

Page 22: The Role of Leadership In Software Development

l e a n

Taiichi Ohno onChanging Standards

Years ago, I made them hang the standard work documents on the shop floor. After a year I said to a team leader, ‘The color of the paper has changed, which means you have been doing it thesame way, so you have been a salary thief for the last year.’ I said ‘What do you come to work to do each day? If you are observing every day you ought to be finding things you don't like, and rewriting the standard immediately. Even if the document hanging there is from last month, this is wrong.’

At Toyota in the beginning we had the team leaders write down the dates on the standard work sheets when they hung them. This gave me a good reason to scold the team leaders, saying ‘Have you been goofing off all month?’

If it takes one or two months to create these documents, this is nonsense.

平成21年4月22 Copyright©2007 Poppendieck.LLC

Page 23: The Role of Leadership In Software Development

l e a n

大野耐一 on標準を変えること

昔、標準作業書というものを現場にぶら下げさせたんだけど、一年たって、紙の色が変わっておるのにね、そのままやっておるというのは、お前一年間月給泥棒だぞ、と言ってやった。毎日なにしに会社へ出てきておるんだ。毎日見ておったらね、ああ、あそこはつまらんなとか、ここはつまらんなと、すぐ書き替えにゃおかしい。

トヨタじゃ 初、標準作業表をぶら下げて日付入れさせといたんだね。お前、一ヶ月遊んでおったのかって言って、組長を怒る材料になるわけだ。

そいつをつくるのに、一ヶ月も二ヶ月をかかるというばかなことがあるか、とか。

平成21年4月23 Copyright©2007 Poppendieck.LLC

Page 24: The Role of Leadership In Software Development

l e a n

1980 – Dr. W. Edwards DemingSystem of Profound Knowledge

Appreciation for the systemA systems view was fundamental; never sub-optimize. Manage the relationship between suppliers, producers, and customers

Knowledge of VariationMost variation is “common cause variation” – inherent in the system.

Trying to eliminate this variation only makes things worse.Systemic problems lie beyond the power of the individual worker.Deadlines and slogans do nothing to address systemic problems.

Provide leadership in changing the way the system works.Theory of Knowledge

Use the Scientific Method to improve systems Hypothesis, Experiment, Learn, Incorporate Learning (PDCA)

PsychologyWhen it comes to people, the things that make a difference are skill, pride, expertise, confidence, and cooperation.

平成21年4月24 Copyright©2007 Poppendieck.LLC

Page 25: The Role of Leadership In Software Development

l e a n

1980 –エドワード・デミング博士「深遠な知識」のシステム

システムの正しい理解システム的な見方が基盤となる。決して部分 適すべからず。サプライヤ、顧客間の関係をマネジメントする。

変動についての知識ほとんどの変動は「一般原因による変動」-システムに内在している。

変動を排除しようとすると状況は悪化する。システムに内在する問題は、個々の作業者の力ではどうしようもない。締め切りやスローガンはシステムの問題解決については役に立たない。

システムの働きを変えるにはリーダーシップが必要。

知識の理論システムを改善するには、科学的手法を使え

「仮説」、「実験」、「学習」、「学習の組み入れ」 (PDCAと同じ)心理学

人に関することは、スキル、誇り、専門知識、自信、協力による影響が大きい。

平成21年4月25 Copyright©2007 Poppendieck.LLC

Page 26: The Role of Leadership In Software Development

l e a n

Kaoru IshikawaOn Management:The fundamental principle of successful management is to allow subordinates to make full use of their ability.Everyone who is connected with the company … must be able feel comfortable and happy with the company, and to make use of his capabilities and realized his potential. Profit first is an old-fashioned idea that must be discarded.Top managers and middle managers must be bold enough to delegate as much authority as possible. That is the way to establish respect for humanity as your management philosophy.On Standards:Standards and regulations are imperfect. They must be reviewed and revised constantly. “If newly established standards are regulations are not revised in six months, it is proof that no one is seriously using them.”Detailed standards and regulations are useless if they are established by headquarters staff and engineer-specialists who do not know or do not try to know the workplace and who ignore the wishes of the people who have to use them.

平成21年4月26 Copyright©2007 Poppendieck.LLC

Page 27: The Role of Leadership In Software Development

l e a n

石川馨

マネジメントについて:成功を導くマネジメントの基本原則は、部下に自己の能力をフルに発揮できる環境を与えること。

全員が会社の一員である。会社と共に快適かつ幸福に感じることができ、そして、自己の能力を発揮し潜在能力を実現することができなければならない。会社の利益先行という古い考えは、捨てるべきだ。

トップの経営者と中間管理職は、権限をできるだけ委譲する勇気を持たなければならない。そうすることが、「人間性の尊重」を、あなたのマネジメント哲学として確立する方法だ。

標準について:標準とルールはもともと不完全なものだ。定常的にレビューと改定を行う必要がある。 「新しく確立された標準が6ヶ月改定されてなかったら、その標準がまじめに使われていない証拠だ。」

詳細な標準とルールは、現場を知らない、あるいは知ろうとしない、管理部門のスタッフと専門エンジニア、あるいは実際に標準を使う人々の思いを無視する人たちで確立しても、役に立たない。

平成21年4月27 Copyright©2007 Poppendieck.LLC

QCサークルの生みの親

←石川ダイアグラム(魚骨図)

Page 28: The Role of Leadership In Software Development

l e a n

Three Stonecutters were asked:“What are you doing?”

What are You Building?

平成21年4月28 Copyright©2007 Poppendieck.LLC平成21年4月28

I’m cutting stones!

I’m earning a living.I’m building a cathedral.

Page 29: The Role of Leadership In Software Development

l e a n

3人の石切工に質問した:“何をやっているのですか?”

何を作っているの?

平成21年4月29 Copyright©2007 Poppendieck.LLC平成21年4月29

石を切っているんです!

生計のために働いています.聖堂をつくっているんです。

Page 30: The Role of Leadership In Software Development

l e a n

Respect People

Move responsibility anddecision-making to the lowest possible level.

The Litmus Test:When workers are

annoyed by their job –Do they complain, ignore it, or fix it?

平成21年4月30 Copyright©2007 Poppendieck.LLC

Stone Cutters or Cathedral Builders?

Page 31: The Role of Leadership In Software Development

l e a n

人間性の尊重

責任と意思決定を、できる限り 下層に移動

すること

リトマス試験:作業者の仕事がうまく

いかないとき–

文句を言う、無視する、自分で治す?

平成21年4月31 Copyright©2007 Poppendieck.LLC

石切なのか、聖堂を作っているのか?

Page 32: The Role of Leadership In Software Development

l e a n

Task Manager

“Here is what to do and how – do it!”

Leadership

Group Facilitator

“You’re Empowered!”

Builder of Learning Organizations

“Here is our purpose and direction –

I will guide and coach”

Bureaucratic Manager

“Follow the Rules!”

平成21年4月32 Copyright©2007 Poppendieck.LLC

Toyota LeadersTo

p-D

own

(Dire

ctiv

e)B

otto

m-U

p(D

evel

opm

ent)

General Management Expertise In-Depth Understanding of WorkFrom: The Toyota Way, Jeffrey Liker, p 181

Page 33: The Role of Leadership In Software Development

l e a n

作業管理者“これをこうやります。さあ、

やってください。”

リーダーシップ

グループファシリテーター

“みなさんの力で!”

学習する組織の創り手

“目的と方向性はこうです。一緒にやろう!”

官僚的管理者“決まりに従え!”

平成21年4月33 Copyright©2007 Poppendieck.LLC

Toyota Leadersトップダウン

(指示

型)

ボトムアップ

(開発

型)

一般的な管理技術 仕事内容の理解From: 『ザ・トヨタ・ウェイ』, ジェフリー・ライカー

Page 34: The Role of Leadership In Software Development

l e a n

Leadership

Three Models of LeadershipOld “Dictator” Style: “Do it my way…”1980s “Empowerment” Style: “Do it your way... ”Lean Style: “Follow me…and let’s figure this out together ”

The leader’s job at Toyota1. Act as a teacher2. Get each person to take the initiative to solve

problems and improve his or her job.3. Ensure that each person’s job is aligned to provide

value for the customer and prosperity for the company平成21年4月34 Copyright©2007 Poppendieck.LLC

John Shook

Page 35: The Role of Leadership In Software Development

l e a n

リーダーシップ

Leadership の3つのモデル

古き “独裁者” スタイル: “私のやり方で…”1980s “エンパワメント” スタイル: “あなたのやり方で... ”リーン・スタイル: “着いて来て、一緒に考えよう”

トヨタでのリーダーの仕事

1. 先生としての役割

2. 一人ひとりが主体的に問題解決し、仕事を改善するように指導。

3. 一人ひとりの仕事が、「顧客の価値」と「会社の繁栄」の両方に価値提供するように、必ず整合させる。

平成21年4月35 Copyright©2007 Poppendieck.LLC

John Shook

Page 36: The Role of Leadership In Software Development

l e a n

Chief Engineer

平成21年4月36 Copyright©2007 Poppendieck.LLC

Responsible for Business Success Develops Deep Customer UnderstandingDevelops the Product ConceptCreates The High Level System DesignSets the ScheduleUnderstands what customers will value and conveys this to the engineers making day-to-day tradeoffsArbitrates trade-offs when necessaryDefends the Vision

Page 37: The Role of Leadership In Software Development

l e a n

チーフ・エンジニア

平成21年4月37 Copyright©2007 Poppendieck.LLC

トヨタの「チーフエンジニア」(CE)ビジネスの成功に責任を持つ

顧客の深い理解を構築する

製品コンセプトを開発する

上位レベルのシステムデザインを作る

スケジュールを設定する

顧客の価値を理解し、日々のトレードオフを行うエンジニアにその理解を伝達する

必要なときにトレードオフを調整する

ビジョンを維持する

Page 38: The Role of Leadership In Software Development

l e a n

Leadership Roles

Functional LeaderFunctional LeaderExpertise

Job InstructionStandards

Methods ImprovementStaffing & Career Path

Job Alignment

Process LeaderProcess LeaderProcess Coach

Project LeaderProject LeaderFundingTracking

Marketing LeaderMarketing LeaderBusiness ResponsibilityCustomer UnderstandingRelease PlanningTradeoffs

Technical LeaderTechnical LeaderSystem Architecture

At a high levelWork daily with those developing the details

Technical GuidanceIntegrationTradeoffs

平成21年4月38 Copyright©2007 Poppendieck.LLC

Page 39: The Role of Leadership In Software Development

l e a n

リーダーの役割

機能リーダー機能リーダー専門知識

ジョブ・インストラクション

標準改善

育成とキャリアパスジョブ・アラインメント

プロセス・リーダープロセス・リーダープロセス・コーチ

プロジェクト・リーダープロジェクト・リーダー資金調達トラッキング

マーケティングリーダーマーケティングリーダービジネスの責任顧客の理解リリース計画トレードオフ

テクニカルリーダーテクニカルリーダーシステムアーキテクチャ

上位レベルで開発する人たちと日々一緒に

技術支援インテグレーショントレードオフ

平成21年4月39 Copyright©2007 Poppendieck.LLC

Page 40: The Role of Leadership In Software Development

l e a n

Process or People?DemingMost of the problems we encounter (perhaps 90%) are the result of multiple influences, they generally cannot be attributed to a single cause. Assigning blame for a problem to the last person involved is worse than counterproductive, it will probably make the bad situation worse.

Fujio Cho* “We get brilliant results from average people managing brilliant processes. Our competitors get average results from brilliant people working around broken processes.”

平成21年4月40 Copyright©2007 Poppendieck.LLC*Chairman, Toyota Motors

Change the System

“We get brilliant results from average people managing brilliant systems. Our competitors get average results from brilliant people working around broken systems.”

TPS:Toyota Production SystemThinking People System

1. Just-in-Time Flow2. Stop-the-Line Culture3. Relentless Improvement4. Respect for People

Page 41: The Role of Leadership In Software Development

l e a n

プロセス? ピープル?デミング

我々が出会うほとんど(おそらく90%)の問題は、一般的に原因を1つに特定できない、複数の影響の結果である。問題の原因を一部の人のせいにして追究するのは、全く逆効果だ。悪い状況をさらに悪くしてしまう。

張富士夫(トヨタ自動車会長)

平成21年4月41 Copyright©2007 Poppendieck.LLC

“ふつうの人々からすばらしい成果をあげるような、すばらしいシステムをマネジメントする。我々のコンペティタは、すばらしい人々から普通の成果を上げるような、壊れたプロセスに四苦八苦している。”

システムを変えるTPS:Toyota Production SystemThinking People System

1. ジャスト・イン・タイムの流れ2. ライン・ストップの文化3. たゆまぬ改善4. 人間性の尊重

Page 42: The Role of Leadership In Software Development

l e a nsoftware development

www.poppendieck.com

Thank You!More Information: www.poppendieck.com