メルマガ ソフトウェア業界 新航海術

ホーム

バックナンバー

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





前のページに戻る   ホーム