検索
連載

イチから全部作ってみよう(6)要求仕様フェーズにおける開発の標準化やスパイラルモデルの有効性山浦恒央の“くみこみ”な話(175)(3/3 ページ)

ECサイトを題材にソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」がスタート。シリーズ第6回は、開発方法の整備やスパイラルモデルなど、前回に続きさまざまな問題がある要求仕様フェーズの対処法について解説します。

Share
Tweet
LINE
Hatena
前のページへ |       

 例えば、もし世界で初めて電気自動車(EV)を作るのであれば、いきなり最終製品を大量生産するのは大きなリスクがあります。まず、シャシー、タイヤ、電池、モーターだけを載せて、正常に走行するかをチェックし、問題があれば設計仕様を改善します。これが第1ラウンドです。致命的な問題が最終工程で出るのは避けられます。

 第2ラウンドとしてシャシーにボディーを載せ、サーキットで走行させます。ここで、さらに問題点を改善し、最終工程として、GPS、エアコン、カーステレオ、エアバッグなど、フル装備でテストし、問題がなければ最終形として生産体制に入ります。

 このように、数回に分けて開発するのがスパイラルモデルです。「ウオーターフォールモデルを何回か繰り返す開発方式」であり、ウオーターフォールモデルの派生型といえるでしょう。

 何回繰り返すかはプロジェクトによりさまざまで、2回の場合もあれば、1週間で1回、回していたプロジェクトもありました。何回、繰り返すにしても、最重要課題は「品質が良いこと」です。バグだらけだと、1回も回りません。

 初めての顧客用にシステムを開発する場合や、経験したことがない新しい分野のソフトウェアを開発する場合、スパイラルモデルをおススメします。今回の「ワインショップのECサイトの開発」では、スパイラルモデルを採用し、小さい単位で細かく開発することで、仕様の誤解を防ぎ、顧客からの変更要求にも柔軟に対応できるようにします(図3)。

図3
図3 小さい単位で開発するイメージ[クリックで拡大]

 以下に、図3で示した3つのバージョンを解説します。

  • (1)第1バージョン:商品表示処理を作成し、クライアントからフィードバックを得る。ワインECサイトの全ての機能を、一気に開発すると、変更に対応することが大変です。そこで、ワインを表示する処理だけを集中的に作成し、クライアントからフィードバックをもらいます
  • (2)第2バージョン:商品購入処理を作成して加え、再度フィードバックを得る。(1)で得たフィードバックを取り入れ、顧客がワインを購入する商品購入処理を作成します。これで、顧客が商品を選び、購入するところまで作成出来ました
  • (3)第3バージョン:発送処理を追加作成する。(2)のフィードバックの修正を行い、伝票作成処理を追加作成します

 このように、発注側からフィードバックをもらいながら進めることで、最終段階での致命的なダメ出しや、急激な仕様変更に対応できます。

3.終わりに

 今回は、前回に続けて要求仕様フェーズの問題点を整理し、その対処法を紹介しました。要求仕様フェーズの問題点は解決するのが非常に大変で、どんな組織であっても何らかの悩みを持っています。

 学生の皆さんは、会社に入ると、要求仕様フェーズの問題と嫌でも戦うことになります。今はあまりイメージできないかもしれませんが、問題点と対処法を知識として頭の片隅に入れておいていただければと思います。

山浦先生執筆の書籍が販売中です!

 本連載で取り上げた「ソフトウェア技術者のためのバグ百科事典」を大幅に加筆、修正した山浦恒央先生の書籍「ソフトウェア技術者のためのバグ検出テキスト」が日科技連出版から好評発売中です。連載でも取り上げた、「要求仕様書のバグ」「実装抜けのバグ」「テスト業務のバグ」など、バグを36種類に分類して解説しています。囲碁や将棋であれば、「相掛かり」「矢倉」「四間飛車」「藤井システム」のような戦法を網羅した内容になっています。

 前著「ソフトウェア技術者のためのバグ検出ドリル」(2019年11月刊行)も好評発売中です。実際にバグを含む要求仕様書、設計書、コーディング、デバッグ、保守を具体的に取り上げ、練習問題として31問を出題しました。同書は、囲碁や将棋における「次の一手」的な問題であり、ピンポイントの場面を取り上げ、実践力を鍛えることを目的としています。

ソフトウェア技術者のためのバグ検出テキストソフトウェア技術者のためのバグ検出ドリル 画像クリックで出版社のWebサイトへ

 両書とも興味のある方は、Amazon.comや書店でチェックしてください!

【 筆者紹介 】
山浦 恒央(やまうら つねお)

東海大学 大学院 組込み技術研究科 非常勤講師(工学博士)


1977年、日立ソフトウェアエンジニアリングに入社、2006年より、東海大学情報理工学部ソフトウェア開発工学科助教授、2007年より、同大学大学院組込み技術研究科准教授、2016年より非常勤講師。

主な著書・訳書は、「Advances in Computers」 (Academic Press社、共著)、「ピープルウエア 第2版」「ソフトウェアテスト技法」「実践的プログラムテスト入門」「デスマーチ 第2版」「ソフトウエア開発プロフェッショナル」(以上、日経BP社、共訳)、「ソフトウエア開発 55の真実と10のウソ」「初めて学ぶソフトウエアメトリクス」(以上、日経BP社、翻訳)。


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る