メルマガ ソフトウェア業界 新航海術 |
ホーム |
バックナンバー |
2010年のシステム開発 |
航海術 |
||
バックナンバーの全文検索 全バックナンバー(古い号が先) 全バックナンバー(新しい号が先) ●:5年後のシステム開発 ●:ブルックスの法則 ●:グーグルの衝撃 ●:保存できないエディタ |
●:製造業の呪縛 ●:請負と派遣 ●:永久運動の設計 ●:大きくなるか、小さくなるか ●:ゴーイング・コンサーン ●:金持ちソフト会社、貧乏ソフト会社 |
●:経営の基準となる数字 ●:借入れと連帯保証 ●:ソフトウェア振替という麻薬 ●:賃金決定の仕組み ●:SE・プログラマの資質 ○:その他 |
************************************************************** _/_/_/_/_/_/_/ ソフトウェア業界 新航海術 _/_/_/_/_/_/_/_/_/ ************************************************************** 第22号 2004/05/03 ▼ まえがき ▼ [5年後のシステム開発]本を書くこととシステム開発 ▼ [5年後のシステム開発]ウォーターフォールモデルと漸増的モデル ▼ [5年後のシステム開発]漸増的開発のきわどさ ▼ [5年後のシステム開発]まず品質、生産性は後からついてくる ▼ 次回以降の予告 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= まえがき *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= 蒲生嘉達です。お疲れ様です。 本メルマガは、慶の社員(正社員・契約社員)及び慶と契約している 個人事業主の方々に配信しています。 また、会計の説明で誤りがあるといけないので、金山税理士にも 配信しています。 感想をお持ちなら是非返信してください。 第6号で漸増的開発について解説しましたが、今回はより詳細に 書き直しました。 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= [金持ちソフト会社、貧乏ソフト会社] 本を書くこととシステム開発 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= 本を書くという行為は、下記の点でシステム開発と似ています。 ・最初に構想があり、それを実現する行為である。 ・その過程で何度も書き直す。 坂村健氏、クリンジリー氏も同じような感想を語っています。 > 私はかねてから「プログラムを書くということは小説を書くことに > 似ている」と思っています。 > 文章が上手に書け、言葉をたくさん知っていれば、すぐにいい小説が > 書けるというわけではありません。まず大事なのは、その作品の中で、 > どんなストーリーを展開しようかというアイデアです。面白い > 「プロット(あらすじ)」がなければ、人を楽しませる小説は > 書けません。(坂村健著「痛快!コンピュータ学」より) > ソフトウェア開発というのは、本の執筆と同じように反復の > プロセスだ。プログラムまたはプログラムの一部を書き、うまく > いかなかったら改良し、それでもまだ具合がよくならなければ、 > もう一回、あるいはさらに二十回もの改良を加える。 > こうしたプロセスを経て、ようやくユーザの手元に送られることに > なるかもしれない。プログラム開発というのは、そうした作業 > である。 > (ロバート・X・クリンジリー著「コンピュータ帝国の興亡」より) *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= [5年後のシステム開発] ウォーターフォールモデルと漸増型モデル *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= ウォーターフォールモデルの欠点は、工程をまたがった反復が 行なわれず、その結果、できあがったものがユーザニーズから乖離 してしまう可能性が高いという点です。 設計段階で全てが見通せるわけではなく、実装してみて初めて分かる ことも多いのに、下流から上流への流れを想定していないのです。 実際にウォーターフォールモデルの時代には下記のようなパターンが 非常に多かったのです。 @作ってみたが使い物にならなかった。 次期バージョンで大幅に改修し、ようやく使い物になった。 A開発工程の後半になって、このままだと使い物にならないことが 判明し、再スケジュールし、大幅に作り直して、使い物になる システムを完成させた。 その欠点を是正するために漸増的開発が登場しました。 本の執筆のようにどんどん反復しようという手法です。 インクリメンタル(漸増型)モデル、スパイラル(渦巻き型)モデル、 イテレーティブ(繰り返し型)モデルは漸増的開発の中の流派です。 それぞれ少しずつ違っていますが、「反復することによって、使い物 になるシステムを迅速に開発する」という点では共通しています。 漸増的開発はプロトタイピングとも微妙に違っています。 プロトタイピングの目的が「外部仕様の確定」なのに対し、 漸増的開発の目的は「使い物になるシステムの迅速な開発」とう より広範囲なものです。 ブルックスも1975年に書いた「人月の神話」では、ウォーター フォールを前提とした「やり直し」を奨励していますが、1986年に 書いた「銀の弾などない」では漸増的開発を奨励しています。 (1)「人月の神話」からの引用 > たいていのプロジェクトでは、最初に完成したシステムは > ほとんど使い物にならない。遅すぎたり、大き過ぎたり、 > 使いにくかったりする。ひどいものになると、この三つすべてが > 当てはまっていることもある。こうなると、痛手だとしても賢明な > 方法として最初からやり直す。・・・(中略)・・・新しいシステム > コンセプトないしは新技術が使用される場合、システムは一つは > 駄目にするつもりで作成しなければならない。というのは最高の > プランニングでさえも、一回目で成功するほどには計算され尽く > していないからである。(ブルックス「人月の神話」より) (2)「銀の弾などない」からの引用 > システムはたとえ適当なダミーサブプログラムを呼び出すこと > 以外役立つことは何もしないにしても、まず動くように作られる > べきである。それから少しずつシステムを肉付けしていく。 > (ブルックス「銀の弾などない」より) *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= [5年後のシステム開発] 漸増的開発のきわどさ *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= 注意しなければならない点は、漸増的開発は単純に短納期化・ 低価格化を目的にしているわけではないという点です。 「ウォーターフォールで使い物になるシステムを作ろうとすれば、 大きな単位で作り直しをしなければならない。より小さな単位で 作り直しをしていくことによって、使い物になるシステムを作り 出すまでの期間が短縮される。したがって、結果的に短納期化・ 低価格化される」というまわりくどい理屈なのです。 このまわりくどい理屈を逆に言うと、次のようにならないでしょうか? 使い物にならなくてもよいなら、ウォーターフォールの方が管理が 楽だし、予定どおり終了する可能性が高いという意味では、短納期・ 低価格ではないのか? 過去に類似したシステムを手がけていて、上流工程で十分に下流工程 を見通せるなら、ウォーターフォールの方が管理が楽だし、短納期・ 低価格ではないのか? 「使い物になるシステムを作る」ことに重点を置きすぎると、 いつまでも反復が繰り返されて、納期が守れなくなるのでないのか? 短納期・低価格に重点を置きすぎると、システムのプロット (あらすじ)作りの前にプログラミングするようになるのでは ないのか? 冒頭に引用した坂村氏の言葉「 面白い『 プロット(あらすじ)』 がなければ、人を楽しませる小説は書けません。」をもう一度読み 直してください。 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= [5年後のシステム開発] まず品質、生産性は後からついてくる *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= 第21号で解説したとおり古典的なソフトウェアエンジニアリングは 「まず品質、生産性は後からついてくる」と教えています。 漸増的開発の精神は、まさしく「まず品質、生産性は後からついてくる」 です。 細かく作り直すことによって、仕様面でも性能面でも品質が上がる。 したがって、後から大きくやり直す必要がなくなり、結果的に 短納期・低価格が実現されるのです。 ところが、「経済のグローバル化による低価格化・短納期化圧力」の 下で漸増的開発の短納期・低価格の側面が強調され過ぎた結果、 「とりあえず作って後から品質をあげていく」手法として誤解される ようになってしまいました。 プロットなしで小説が書けないのと同じく、設計なしでシステムは 開発できません。 「もしも、8時間で木を切り倒せと言われたら、わたしは7時間を斧の 刃を研ぐことに費やす。」(リンカーン) 小説におけるプロット作り、システム開発における設計は、 斧の刃を研ぐことです。 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= 次回以降の予告 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= 次号は、5月10日発行予定です。乞うご期待!! -------------------------------------------------- 発行: 株式会社 慶 代表取締役 蒲生 嘉達 y_gamou@kei-ha.co.jp http://www.kei-ha.co.jp TEL:03-5951-8490 携帯:090-1258-6347 |