« 2012年9月2日

2012年9月6日の投稿

2012年9月13日 »

尊敬するDOAの先輩である、渡辺さんがこう書いている。

「データモデルなきアジャイル」の危うさ、より

その種のシステム(※引用者補記:販売管理システムや生産管理システムといった基幹系業務支援システム)をアジャイル開発しようと考えるのであれば、それまでにシステム全体の「あるべきデータモデル」が確立されていなければならない。
業務システムを「身体」に喩えるなら、データモデルは「骨格の設計図」に相当する。いっぽうアジャイル開発で導き出せるのは身体の表面上の諸問題、すなわち「皮膚のぐあい」とか「顔つき」のようなものだ。そういった特徴についていかに緻密に決定できても、それらから「あるべき骨格の姿」は導けない。

それに対して、稲見さんがこんなコメントをしている。

アジャイル開発と言っても色々で、最近流行りのScrumという手法は、開発の中身に関しては何も言及していません。ですが、私の知っているある人達は、データモデルは書いています。また、FDDという手法では、ドメインモデリングから始めると有る様に、データモデルが出発点です。

ぼくも実はこの考えには基本賛成である。というか、確かにデータモデルを初期に設計しなければならない場面はかなりあると思う。このへんのことを少し書いておきたい。

Agilecake ピュアなアジャイルでは、機能を縦スライスで作る。UIからDBまで、細い縦の線をつなぎ、それをユーザのフィードバックを得ながら太くしていく。ぼくはこれをたとえるのに、ぼくは水越さんが書いてくれたこのケーキをよく使う。

つまり、ケーキをつくるのに、一層目のスポンジ、二層目、そしてクリームを塗って最後にイチゴを乗せる、という作り方ではなく、まさに、すぐに食べられるショートケーキを縦に作っていくのだ。

この利点は明らかで、作り終えるまでの半完成品(仕掛、在庫)が少なく、仕様変更のインパクトが引くいこと。また、ユーザに食べさせることで、フィードバックを早期に得、より効果的な仕様を引き出せることだ。

ケーキ屋がもしホールケーキを作らず、ショートケーキで作ることができたなら、売れ残りリスクを低く抑えることができ、かつ、フレッシュなショートケーキをいつでもお客に食べてもらえる。ということになる。これは、要求がなかなか固まらないシステムや、要求のゆれが大きなシステムでは、とっても有効で、ここがアジャイルのポイントだ。ここまでが原則論。

ところが、全体に与える影響が極めて大きく、後戻りしにくい「スポンジ層」というのが存在する。そのひとつが渡辺さんの言われているデータモデルである。データモデルはアプリケーション全体に影響を与え、データモデルの後での変更は高くつくのである。このように、「後戻りが高くつく」ような意思決定は、どうしても先に行う必要があり、そのような制約をもったものには、データモデルのほかにも、

  • 開発言語
  • レイヤーアーキテクチャ
  • セキュリティ
  • スケーラビリティ(※ここは後で議論)
  • 。。。

Leanandcostescalation などがある。これらは「リーンソフトウェア開発」において、高リスク制約(High Stakes Constraint)と呼ばれている。左の図は、2003のMary Poppendieckの講演につかわれた図。もともと、変更を受け入れるのがアジャイルの姿勢であり、どうやったら「後で変更できる」というオプションを開発のライフサイクルにおいてキープし続けるか、というのがアジャイルのテーマなのだが、変更コストが極端に高いものはしょうがないのだ。(ちなみに、それでも意思決定を遅らせたい場合、「セットベース設計」を使う、というのがリーンソフトウェア開発。合わせてリーンソフトウェア開発全体の資料をここに共有しておきます。

でも、ポイントはこの高リスク制約は非常に少なく、「決定を遅らせる工夫」をすることが大切。実はリーンソフトウェア開発では、データモデルも、高リスク制約には入っていない。(ぼくは、場面-たとえば渡辺さんの言われるような基幹業務システム-によっては入ると思っている)

Balance このバランスの話をすると、プロジェクトや製品の文脈によって一概には言えない(だから、文脈ごとに考える必要がある)。Barry Boehm は、このバランスをこんな図(需要供給バランスの図に似ている)で表している。

横軸に、「設計への投資時間」を、縦軸に「設計しすぎ、および、設計しなさすぎ、のリスク」をとって、プロジェクトごとにプロットする。当然、設計や計画に多くの先行投資をし決定事項を多くつくってから開発すれば、設計不十分というリスクを抑える。ところが逆に、設計しすぎて先行投資しすぎるリスクが高まるのだ。

そして、この損益分岐はプロジェクト毎に異なる、というのがベームの主張である。さらに、これはプロジェクト毎、ではなく、サブシステムごと、レイヤーごと、など細分化して適用できるため、先ほどのメアリーの主張とあわせると、

高リスク制約を抜き出して、そこだけは、設計を十分に行え。そうでない部分は変更可能性を保ち、アジャイルに進めるべし、ただし、高リスク制約は思ったよりも多くないぞよ。となる。

最後の但し書きについて一言。

高リスク制約と思われていたものが、最近変更コストが低くなった、という例も本当に多い。たとえば、インフラアーキテクチャの選定と構成は、クラウドが出てから本当に劇的に変わった。先日、AWSの玉川さんと話していて分かったのだが、いまや、机上の推定と計算でインフラの構成を決めているなんて時代遅れだ。クラウドでは、マシンやロードバランサー、コア数やCPUスペックまで、プログラムのように変更できる。すなわち、変更可能性が飛躍的に向上した。こうなると、「緻密に設計する」のではなく、「まずやってみる」、とか、「やって見て、足りなかったら変更する」という方が圧倒的に、コストが低い。

これは、少し年代が高い人は分かると思うが、昔はマシンの時間が高価で、コンパイルにとても時間がかかったから、机上デバッグしていたのに、今は一人ひとつのPCが当たり前になり、IDEが進化してその場でどんどんコンパイルできるようになった。こうなると、「机上デバッグ」なんてするよりも「まずはコンパイルしてみる」という方が圧倒的に生産性が高い。

そんなわけで、高リスク制約と思われているものでも、最近は後で変更が可能となってきたものが多い。それに、工夫すれば後で変更するオプションをできるだけ維持しながら開発できる。こう考えることで、できるだけ、ユーザに見える動くソフトウェアを、すばやく提供すること、すなわち、ケーキを縦に作ることが可能になってきた。

それに、クラウドをはじめ、試すコスト、はどんどん下がっている。ケーキをどれだけ縦に切れるか、その勾配はどんどん垂直に近くなっているのである。

P.S.
ところで、実際に苺ショートケーキ、だが、最近はホールケーキをカットするのでなく、まさに、ショートケーキで作る、とうい話を聞いたことがある。この話の真偽を知っている方はぜひ教えて欲しい。

P.P.S.
また、データモデリングをアジャイルの中でどう扱うか、という話はScott Amblerが昔からしていて、Agile Data とか、Agile Modeling という分野がある。ぼくも、Astah をMindmapと組み合わせて、もっともっとホワイトボード的に使い、Agile Modeling の分野に活用したいと考えている。

(※9/6 追記

平鍋

« 2012年9月2日

2012年9月6日の投稿

2012年9月13日 »

» このブログの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)

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


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