メルマガ ソフトウェア業界 新航海術 |
ホーム |
バックナンバー |
2010年のシステム開発 |
航海術 |
||
バックナンバーの全文検索 全バックナンバー(古い号が先) 全バックナンバー(新しい号が先) ●:5年後のシステム開発 ●:ブルックスの法則 ●:グーグルの衝撃 ●:保存できないエディタ |
●:製造業の呪縛 ●:請負と派遣 ●:永久運動の設計 ●:大きくなるか、小さくなるか ●:ゴーイング・コンサーン ●:金持ちソフト会社、貧乏ソフト会社 |
●:経営の基準となる数字 ●:借入れと連帯保証 ●:ソフトウェア振替という麻薬 ●:賃金決定の仕組み ●:SE・プログラマの資質 ○:その他 |
******************************************************************** _/_/_/_/_/_/_/_/_/ ソフトウェア業界 新航海術 _/_/_/_/_/_/_/_/_/_/ ******************************************************************** 第3号 2003/12/22 ▼ まえがき ▼ 前号までのあらすじ ▼ システム開発という仕事はどのような仕事なのか? ▼ 今週号のまとめ ▼ 次回以降の予告 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* まえがき *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* 蒲生嘉達です。お疲れ様です。 本メルマガは、慶の社員(正社員・契約社員)及び慶と 契約している個人事業主の方々に配信しています。 感想、異論、反論をお持ちなら是非返信してください。 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* 前号までのあらすじ *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* ソフトウェア開発の歴史の中で、開発生産性を劇的に向上させた 特効薬として、まずOSと高水準言語、次いでUNIX、RDBMS、構造化 プログラミングがあげられます。 その後も、オブジェクト指向プログラミング、UML、 ウォータフォール型から反復型への移行、さらに反復型開発を 徹底したRUPとXP等、多くの技術・技法が現われましたが、 これらの発明の効果は劇的と言えるほどではありません。 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* [5年後、システム開発の仕事はどのようになっているか?] システム開発という仕事はどのような仕事なのか? *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* ここで、システム開発という仕事はどのような仕事なのか 明らかにしておきましょう。 システム開発という仕事はよく建築にたとえられます。 建築という仕事の概要は次のとおりです。 (1)建築家は顧客のために、顧客に分かる言葉で設計図を書きます。 この段階での設計は利用者の側から見た設計です。 (2)工事の施工段階に入ると建築家は施工業者のために工事用の 詳細図を作成します。 (3)施工業者は設計者の作成した設計図と詳細図に基づき工事します。 そして、「システム開発では外部設計が(1)の作業にあたり、 内部設計は(2)の作業であり、プログラミング以降は(3)の 作業にあたる」と説明されます。 これは非常に分かりやすい説明ですが、システム開発に おける設計が建築における設計よりもはるかにやっかいで 異質なものであるという事実を忘れさせる恐れがあります。 システム開発と建築との大きな違いを3つ上げます。 [不可視性:視覚化しにくい] 建築は3次元空間に物理的に存在するものです。 したがって本質的に視覚化しやすいものなのです。 建築の場合は、素人でも設計図を見てどのような建物ができるのか 十分に理解できます。 それに対してソフトウェアは、人間の思考という形のないものから 生まれ、最終形はビットのオン・オフとも、不特定多数の人々の 使用とも言える創作物です。 ソフトウェアは、どの段階でも自然には視覚化できないものです。 例えば楽譜を見ても素人はどのような曲であるか理解できません。 玄人なら分かるかというと、同じ楽譜でも解釈に大きな幅があります。 ソフトウェアは視覚化しにくいという一点では音楽に似ています。 そのくせ、音楽と違って極端な厳密性が要求されます。 [可変性:柔軟すぎる] 建築の場合は、途中での仕様変更がいかに大変なことか、 素人でも直感的に理解できます。 一方、プログラムは極端に自由で可塑的な素材なので、 顧客もプログラマも仕様変更を安易に考えてしまいます。 また、視覚化のしにくさから設計図段階では完成像をイメージ できないため、工程が半分以上進みおぼろげながら完成像が 見えてきた段階で、顧客は「自分のイメージと違う」と 言い出します。 つまり、システム開発での仕様変更(顧客の側から見たら 変更ではない)の圧力は建築の比ではないのです。 [複雑性:量が増大すれば質が複雑化する] 建築は規模が大きくなっても部品の種類はさほど増えません。 同種の部品を数多く使って規模的に大きくしていくのです。 体積が10倍になっても、部品の数が増えるのみで種類は ほとんど変わりません。 一方、ソフトウェアは似通っている部品があれば共通化して、 行数を圧縮するので、それでも量が増える場合は、部品の 種類も増えているということです。 つまり建築は体積が増えても質的には大差ないのに対し、 ソフトウェアは行数が増えれば質的にも複雑になっていくのです。 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* 今週号のまとめ *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* システム開発には外部設計、内部設計、製造という作業が 含まれます。この点については、建築のみならず、自動車、 服、鞄などの人工製品の製作も同じです。 演劇、音楽、彫刻といった芸術ですら似たような工程があります。 これは人間の創作活動がもつ一般的な性格なのです。 しかし、システム開発の設計作業は他の製品の設計作業よりも はるかにやっかいな作業です。 そしてそのやっかいさは、「視覚化しにくい」「柔軟すぎる」 「量が増大すれば質が複雑化する」というソフトウェアの本性に 由来するものです。 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* 次回以降の予告 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* 12/29 最近の発明が何故劇的効果をあげないのか? 1/6 5年後、システム開発の仕事はどのようになっているか? 次号は、12月29日発行予定です。乞うご期待!! -------------------------------------------------- 発行: 株式会社 慶 代表取締役 蒲生 嘉達 y_gamou@kei-ha.co.jp http://www.kei-ha.co.jp TEL:03-5951-8490 携帯:090-1258-6347 |