̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ IT ニュース&コラム 2016/ 2/ 1 通巻705号 技術版 ソフトウェアデザイン館 Sage Plaisir 21  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄    ウォーターフォールは最後だけで、まずプロトタイピングをしよう ITのシステムを開発すると、仕様を設計する時期、プログラムを実装する時期、 テストをする時期のように何となく分かれます。 Wikipedia によると、1968年 ごろにソフトウェア開発を職人芸的な作成方法から工業製品としての作成方法に 変える方法として、ウォーターフォール モデルが提唱されました。 PC-9801 などのパソコンが登場よりはるか昔の話です。 ウォーターフォール モデルは、それぞれの工程の出力が次の工程の入力に なっているため、システムの開発は、設計、実装、テストの順番に開発が進む ように思えることでしょう。 しかし、それは開発の管理者の視点でしかあり ません。 何を作るのか分かっていない(設計していない)のにソフトウェアが 実装できるわけがない、ソフトウェアがないのにテストができるわけがない、 と考えるのは、進捗を管理する管理者の視点なのです。 しかし、実際の開発を経験すれば、そんなことはあたりまえもなんでもない ことがすぐに分かります。 ざっくりとした仕様が分かった段階で、すでに、 暫定的なプログラムは作れますし、実際に動くものができなくても、テストの 仕様を作ることはできます。 管理者からすれば、それは後工程でどうせやることだし、仕様が変更される 可能性があるから、先に間違った仕様で作ってしまうと、無駄なコストに なってしまうと考えるでしょう。 ウォーターフォール モデルでは、前工程に戻ること(手戻り)はコスト増大 となる悪であり、最小限にすべきという考えがあります。 済んだはずの工程を もう一度行うと考えれば、コストが増大したと考えてしまうでしょう。 しかし、実際は、コストが増大したのではなく、後工程を始めることができて 初めて不具合を発見することができたと考えるべきです。 そこで初めて、 仕様の変更が始まるのです。 先に後工程を少し始めたことで、仕様を 正しくすることが早くできたと考えるべきなのです。 何もしないで不具合が 見つかるような預言者がいるわけないじゃないですか。 最終稿の仕様ができるまで最終的なソフトウェアは完成しない、最終 バージョンのソフトウェアができるまで最終テストを始められない、 というそれぞれの工程の終了については、ウォーターフォール モデルに 従わざるをえないことは正しいのですが、それぞれの工程を開始する 時期については、順序に決まりはありません。 たとえば、ウォーターフォール モデルに素直に従うと、実装工程、つまり 全体の 2/3 が進捗した時点で、初めて顧客に見せるものができます。 そこで、顧客が、こんなものを作ってくれと頼んだ覚えはない! と言い始めることがあると思います。 「仕様を検討したときに、 これでいいと(顧客が)言ったじゃないですか」、 と言ったところで、実際にシステムは使い物にならないのです。 むしろ、ITシステムというものに詳しくない顧客がほとんどですから、 文字だけの仕様書から完成品を想像するというのは酷な話です。 言った言わないを解決しても、完成しないのです。 そして信頼を失うのです。 でも、安心してください。 全体の 2/3 が進捗した段階でなくても、 顧客に見せるものはできます。 それが プロトタイピングです。 なるべく早い段階、つまり、ウォーターフォールでの分析(仕様作成)の 工程で、プロトタイプを顧客に見せて、完成品に対する意思疎通をしておき、 コストの増大を小さくするという方法です。 1990年代では、プロトタイプは、1からコーディングしたり、専用の プロトタイピング ツールを使わなければばなりませんでしたが、現在では、 MSオフィスや、フリーの Visual Studio、HTML ブラウザーなどで十分な ことが多いです。 なぜなら、プロトタイピングで必要なことは、顧客に 完成品のイメージができるようにすればよいのです。 IPA 独立行政法人 情報処理推進機構では、「発注者ビューガイドライン」 を無料で公開しています。 ただ、プロトタイピングで必要なものを挙げている のではなく、欲張りすぎていて、詳細設計の段階に踏み込んでいます。 これでは、資料を作成するコストが増大することになってしまうでしょう。 つまり二重開発なのです。 すべての画面一覧表、アクション明細表、入出力項目表を 顧客に見せても、意思疎通ができるとはとても思えません。 MECE(重複なく・漏れなく)の考えは重要ですが、それはすべての工程を 終えた時点でそうなっていればよいのです。 Visual Studio などのフリーの レイアウト ツールのほうが効率よく画面のイメージは作れるのに、エクセルで 一生懸命作っているのは、明らかに効率が悪いです。 主要な機能や、 間違えやすい機能についてのみ、表現したい図のフォーマットを参考に するとよいでしょう。 前の工程を終了させなければ、後の工程を始めてはならない、というルールが ウォーターフォール モデルではよくありますが、全体の 2/3 が進捗しなければ 不具合に気づかない可能性が高いという「問題」があるのです。 しかし、 開発プロセスのルールの作成者は、その問題を無視します。 なぜか無視します。 世界標準なんだから、と現に起こっている問題を無視します。 無責任です。 標準プロセスに従うと問題になるので、少しずつ後の工程を先に始めて、 早い段階で意思疎通をしていくのが、コスト増大の予防になるのです。 管理者や顧客に近い人にとっては、開発の進捗をなるべく分かりやすく説明 する必要があり、プロトタイピングなどの「裏プロセス」まで説明すると 複雑になってしまいます。 現実はその複雑さと戦っているのですが、 顧客にとっては必要のないことなので、公式なプロセスは単純なウォーター フォールのまま変わらないのです。 参考 ソフトウェアプロトタイピング https://ja.wikipedia.org/wiki/ソフトウェアプロトタイピング ソフトウェア開発の匠(3):「現状のソフトウェア開発は間違っていないか?」 - @IT http://www.atmarkit.co.jp/ait/articles/0901/28/news151.html 発注者ビューガイドラインの公開:IPA 独立行政法人 情報処理推進機構 https://www.ipa.go.jp/sec/softwareengineering/reports/20080710.html ウォーターフォール・モデル - Wikipedia https://ja.wikipedia.org/wiki/ウォーターフォール・モデル Vモデル - Wikipedia https://ja.wikipedia.org/wiki/Vモデル 注目ニュース 一覧 ◇ Lenovoが 12345678 をSHAREitのWi-Fiパスワードに設定していたことが判明。 http://gigazine.net/news/20160127-lenovo-wifi-password/ … 弱いパスワードの代表例。 これならパスワードの入力は不要だが。 ◇ ついにコンピューターが囲碁でプロ棋士に勝利、倒したのはGoogleの人工知能技術。 http://gigazine.net/news/20160128-computer-win-human-at-igo/ … 手法は従来と同じディープラーニング(学習)。 ようやく学習の成果が出た。 ◇ Googleはモバイル端末に人工知能を組み込み「関係性」を理解できる専用チップ開発を計画している。 http://gigazine.net/news/20160128-google-movidius-machine-intelligence/ … 小さなチップで、クラウドが必要な処理ができるわけがない。 ◇ マイクロソフト、サポートポリシーを更新。新しいCPUに Windows 10 搭載を求める。 http://japan.cnet.com/news/service/35076331/ … 古い OS で最新の CPU までサポートするのは勘弁な、とMS。 ◇ レゴでプログラミングが学べる レゴWeDo 2.0。 小学校・理科と関連。 http://www.itmedia.co.jp/news/articles/1601/20/news079.html … レゴなら子供の興味をひくだろう。 ◇ WKWebView 採用で:iOS版Chromeブラウザ、バージョン48で大幅高速化・安定化。 http://www.itmedia.co.jp/news/articles/1601/28/news058.html … Chrome は、アップルのレンダリング エンジンで動いてたのか。 ◇ グーグル、アップルに10億ドル支払いか。 iOS 端末での検索バー表示。 http://japan.cnet.com/news/business/35076716/ … 公の記録から消すのあり? ◇ ドメイン .shop 運営権利をGMOが落札。世界最高額 約49億円。 http://japan.cnet.com/news/service/35077014/ … 元々ドメイン取得代行をしてるし、高く売れそう。 ソフトウェアデザイン館 Sage Plaisir 21 ホームページ >>> http://www.sage-p.com/ メルマガ >>> http://www.mag2.com/m/0000083983.html ブログ >>> http://blog.livedoor.jp/sage_p/ ツイッター >>> http://twitter.com/Ts_Neko ダウンロード >>> http://www.sage-p.com/freesoft.htm サポート掲示板 >>> http://www.sage-p.com/kg_ban09/z6037C8.cgi 東日本大震災 >>> http://www.sage-p.com/saigai.html メール >>> ts-neko◇sage-p.com ←◇を@に変えてください 緊急メールは件名に「うどんメール」を付けてください。 このメルマガの登録・解除 - http://www.mag2.com/m/0000083983.htm