« 2009年1月4日

2009年1月5日の投稿

2009年1月8日 »

私の立場は「コーディングは設計(の一部)だ」(by Jack Reeves)である。ここでは、コーディング以前のラフな設計(例えばUMLのクラス図やシーケンス図レベルのアイディア、それがホワイトボードに描かれていようが、紙であろうが、JUDEであろうが、日本語であろうが)を、ここでは設計と呼ぼう。

設計とコーディングの距離が増えれば増えるほど、ムダが増える。私の主張は、できるだけ、1つの関連部分の設計とコーディングは、「一人の人」が「少しずつ」行ったほうがよい、ということだ。昔見た「詳細設計書」という細かい実装の詳細を日本語である人が書き、それを見て別の人がコードを書く、ということは避けたい。ここでの距離とは、

  1. 頭脳間距離。
  2. 時間的距離。

の2つ。

頭脳的距離は、物理的に書く人の頭脳の距離だ。1人の人が設計からコーディングまでを含めて担当すれば、この距離は0だ、別の頭脳が担当するならば同じ部屋にいた方がよい。また、そうでなければ、ブロードバンドなコミュニケーション手段がある方がよい。次に、時間的距離は、設計をしてからコーディングをするまでの時間の長さだ。最初に大きな設計をして、すごく時間がたってから実装する場合、時間的な距離が長い。でも、設計してすぐコーディングをする、あるいは行ったり来たりできれば、この距離は短い。これには、1つの設計単位(いわば、バッチサイズ)が小さいことが求められる。TDD(テスト駆動開発)は、私がこれまで経験した一番小さなバッチサイズだ。

この距離が短ければ、設計をラフにすることができる。ラフにすれば、実装時にやってみて分かった情報で設計を詳細化しながら進めることができる(決定を十分な情報が得られるまで遅らせられる)。この距離を長くとると、設計を詳細化する必要がある。その結果、出来上がった実装を二回繰り返すようなはめになるし、実装時にはじめてわかる詳細を無視した設計になるために無理な構造を作り出す。

この2つの距離を短くしよう。一筆書きで一気に全設計を書き上げて壁の向こうに投げようとせず、段階的詳細化を行う中で徐々に知識を得ながら自由度を狭めるような、漏斗型の設計とコミュニケーションが、もっとも効率的にリソースを使って、分かりやすく重複の少ないコードを生み出す。

さて、ここまでが理想の話。一人の人が全部できっこないし、ラフな設計だけで全員に意図を共有できるわけも無い。あなたの状況でできっこない。

どうしたらいい?考えよう。。。。

設計者が、常に同じ場所でコーディングに参加してもらうのはどうだろう?最初から全体を設計せず分割し、ちょっとずつ設計-実装して得た知識を次の設計に活かせないだろうか?デザインレビューを、実装者を交えてやったら、意図を伝えることのプラスにならないだろうか?ペアを組んで設計とコーディングを交互にやってみたらどうだろう?DSLをうまくつかって、ドメイン特化した開発環境をつくり、設計=コーディングとなるような手法を作れないだろうか。

などなど。。。何か、設計とコーディングを結ぶ線を短くできないだろうか、と考えていこう。これは、アジャイルの宣伝ではなく、設計(デザイン)という活動を本質的なものにしたい、という技術的な思いだ。

平鍋

« 2009年1月4日

2009年1月5日の投稿

2009年1月8日 »

» このブログのTOP

» オルタナティブ・ブログTOP



プロフィール

平鍋 健児

平鍋 健児

株式会社チェンジビジョン代表取締役社長、永和システムマネジメント副社長。
オブジェクト指向開発、UMLの勘所、アジャイルな開発手法の未来、マインドマップのソフトウェア開発での利用方法、プロジェクトファシリテーション(見える化)を語ります。現在、マインドマップとUMLの融合エディタ、astah*(アスター、旧JUDE)を開発中。

詳しいプロフィール

Special

- PR -
最近のトラックバック
カレンダー
2013年4月
日 月 火 水 木 金 土
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
hiranabe
Special オルタナトーク

仕事が嫌になった時、どう立ち直ったのですか?

カテゴリー
エンタープライズ・ピックアップ

news094.gif 顧客に“ワォ!”という体験を提供――ザッポスに学ぶ企業文化の確立
単に商品を届けるだけでなく、サービスを通じて“ワォ!”という驚きの体験を届けることを目指している。ザッポスのWebサイトには、顧客からの感謝と賞賛があふれており、きわめて高い顧客満足を実現している。(12/17)

news094.gif ちょっとした対話が成長を助ける――上司と部下が話すとき互いに学び合う
上司や先輩の背中を見て、仕事を学べ――。このように言う人がいるが、実際どのようにして学べばいいのだろうか。よく分からない人に、3つの事例を紹介しよう。(12/11)

news094.gif 悩んだときの、自己啓発書の触れ方
「自己啓発書は説教臭いから嫌い」という人もいるだろう。でも読めば元気になる本もあるので、一方的に否定するのはもったいない。今回は、悩んだときの自己啓発書の読み方を紹介しよう。(12/5)

news094.gif 考えるべきは得意なものは何かではなく、お客さまが高く評価するものは何か
自社製品と競合製品を比べた場合、自社製品が選ばれるのは価格や機能が主ではない。いかに顧客の価値を向上させることができるかが重要なポイントになる。(11/21)

news094.gif なんて素敵にフェイスブック
夏から秋にかけて行った「誠 ビジネスショートショート大賞」。吉岡編集長賞を受賞した作品が、山口陽平(応募時ペンネーム:修治)さんの「なんて素敵にフェイスブック」です。平安時代、塀に文章を書くことで交流していた貴族。「塀(へい)に嘯(うそぶ)く」ところから、それを「フェイスブック」と呼んだとか。(11/16)

news094.gif 部下を叱る2つのポイント
叱るのは難しい。上司だって人間だ、言いづらいことを言うのには勇気がいるもの。役割だと割り切り、叱ってはみたものの、部下がむっとしたら自分も嫌な気分になる。そんな時に気をつけたいポイントが2つある。(11/14)

news094.gif 第6回 幸せの創造こそ、ビジネスの使命
会社は何のために存在するのでしょうか。私の考えはシンプルです。人間のすべての営みは、幸せになるためのものです――。2012年11月発売予定の斉藤徹氏の新著「BE ソーシャル!」から、「はじめに」および、第1章「そして世界は透明になった」を6回に分けてお送りする。(11/8)

オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。


サイトマップ | 利用規約 | プライバシーポリシー | 広告案内 | お問い合わせ