Chat (Lingr.com)
Informaiton
Daily
Column
- MySQL日本語の旅(5/1)
- アクセス向上秘伝(5/9)
- 一風変ったHaskellλ門(6/13)
- SICP Answer Book (5/31) 問題3.26追加
Zope Solution
Extra
アーカイブ
OSS案内所
Site Info
関連リンク
「これがやることだ。期日は変えられない。もちろん、最高の品質じゃなければ承知しない!」
とビジネス側の人たちは言いました。
「この機能は作るべきですが、この機能は要りません。この技術を使わなければダメです。」
と開発側の人たちは言いました。
どちらもたくさん努力しましたが、得られるものはとても小さいものでした。
そして、お互い不幸な人生を送りましたとさ。
(おしまい)
あなたのところでも、この物語のような「争い」や「力比べ」をして、不幸になっていませんか?
”相手を負かすことが自分の仕事だ...”
格闘家なら、その通りかも知れませんが、きっとあなたは格闘を仕事にしていないと思います。
だから相手を負かしても、トロフィーはもらえないし、賞金もありません。若干、上司にはほめられるかも知れませんが、相手には嫌われること確実です。人から嫌われるのが好きな人ってあまりいませんよね?
では、格闘家でないあなたがハッピーになる方法とは...
お互いのやるべきことをはっきりさせる
これだけなんです。
例えば、「開発に必要な時間を見積もること」は、ビジネス側が行うことではありません。
これを一方的にビジネス側が「期日は変えられない。」と言い張れば、開発側は守れない約束をさせられることになり、リリースまで毎日大変な思いをすることになります。
これじゃぁ、やる気なくなりますよね?
反対に、「ビジネスに必要な機能を決めること」は、開発側が行うことではありません。
これを一方的に開発側が「この機能は作るべきです。」と言い張れば、ビジネス側はその機能を何のために使うのかわからず、作られた後に結局はいらないということに気付くのです。
そんなの、おかしいですよね?
要は、ビジネス側にはビジネス側としてやるべきこと、開発側には開発側としてやるべきことがあるということなんです。
それを無視して、やるべきことをやらずに、やるべきことではないことに口出しをすれば、不幸な「争い」や「力比べ」が始まっても、不思議はないですよね?
つまり、ビジネス側と開発側には、「夫婦の間の暗黙のルール」みたいなものがあるということですね(^_^)
XPでは、以下のようにルールを決めています。
ビジネス側がやってはいけないこと
- 自分たちがよくわからないことを開発側に相談せずに決めてしまうこと
- 開発に必要な時間の見積もりや納期を勝手に決めること
- 開発側が出した見積もりに難癖やケチをつけたり、一方的に却下してしまうこと
- 開発のやり方やルールに必要以上に文句を言うこと
- 技術的な選択の決定を開発に任せてしまうこと
- プロジェクトの舵取りを開発に任せてしまうこと
開発側がやってはいけないこと
- 自分たちがよくわからない機能をビジネス側に聞かずに推測して作ること
- ”必要そうな”機能を勝手に作ってしまうこと
- ビジネス側が必要とする機能に難癖やケチをつけたり、一方的に却下してしまうこと
- ビジネスのやり方やルールに必要以上に文句を言うこと
- 技術的な選択の決定を(ビジネス側の代わりに)すること
- プロジェクトの舵取りを(ビジネス側の代わり)すること
ビジネス側がやるべきこと
- 「何がしたいのか?」を正直に開発側に出す
- 「何がしたいのか?」を開発側に見積もってもらう
- 見積もってもらった時間を元に納期を決める
- 機能の要否や作る順番を決める
- ビジネスのやり方やルールを決める
- 技術的な選択の決定を行う
- プロジェクトの舵取りを行う
開発側がやるべきこと
- ビジネス側の「何がしたいのか?」をまず聞く
- 「何がしたいのか?」に対して、必要な時間を見積もる
- 見積った時間を脚色せずビジネス側に伝える
- わからない機能があれば、遠慮なく聞く(推測しない)
- 開発のやり方やルールを決める
- 技術的な選択肢をビジネス側に提案する
- プロジェクトの舵取りに協力する
お互いがやるべきことをやる、そのことに責任を持つ、そしてお互いの仕事を尊重する...
つまり、お互いを尊敬するということですね。
これこそが大人のゲーム(=開発)のやり方だと思いませんか?
いつまでも駄々をこねて、相手を困らせてばかりの幼稚なゲームはもうやめにしましょうよ(^_^)