Movatterモバイル変換


[0]ホーム

URL:


BLOGTIMES

cles::blog

平常心是道
« :: »
2019/06/29

改めて Barry Boehm のスパイラルモデルを学ぶ

  softwareengineering  paper 
このエントリーをはてなブックマークに追加

Spiral model of the software process - 改めて Barry Boehm のスパイラルモデルを学ぶ
Spiral model of the software process*1

ソフトウェア開発に関するライフサイクルモデルというと、誰もが知っているのが「ウォーターフォールモデル」と「スパイラルモデル」の2つ。

単に試験対策などで勉強しただけだと、前者は「繰り返しがないモデル」で、後者は「繰り返しがあるモデル」くらいの理解であることも多いと思いますが、今日は改めてこのスパイラルモデルについて調べてみたのでメモ。

大学において専門科目やゼミなどでソフトウェア工学を受講している場合、画像のような図は一度は目にするであろう図ですが、変に翻訳されてしまっていたりすると肝心な部分が抜け落ちている場合があります。Google でスパイラルモデルを画像検索してみると、原型をとどめていないものも多く、PDCA と誤解しているものがあったりと、まさに玉石混淆という感じです。

提唱者は Barry Boehm

まず、スパイラルモデルを最初に提唱したのは Barry Boehm(バリー・ベーム)
それを知っていても、きちんと原文を読んだことがある人は少ないのではないでしょうか。

Barry Boehm の論文のほとんどは USC Viterbi School of Engineering のCenter for Systems and Software Engineering(CSSE) のウェブサイトでPDF が公開されていることが分かったのでこれはいろいろと使えそうです。ちなみに上記の原稿はオリジナルを OCR しているようで、単語の r が n になっている typo (例えば spiral → spinal 、software → softwane という)が何カ所かあります。

ポイントは Risk-Driven

スパイラルモデルは大きく4つのステップで構成されており、ポイントは2つ目(右上)の部分でしょうか。

  1. Determine objectives, alternatives, constraints(目的、代替案、制約の決定)
  2. Evaluate alternatives, identify, resolve risks(代替案の評価、リスクの特定と解決)
  3. Develop, verify next-level product(次のレベルの製品の開発、検証)
  4. Plan next phases(次フェーズの計画)

このEvaluate alternatives, identify, resolve risks の部分については、以下のように書かれています。

Frequently, this process will identify areas of uncertainty that are significant sources of project risk. If so, the next step should involve the formulation of a cost-effective strategy for resolving the sources of risk. This may involve prototyping, simulation, benchmarking, reference checking, administering user questionnaires, analytic modeling, or combinations of these and other risk resolution techniques.

このため、ここでプロトタイプを作るのはあくまでプロジェクトのリスクを識別、解決するための手段であることがわかります。従って、「スパイラルモデル」=「プロトタイプを作る」という理解は必ずしも正しくないことが分かります。

このRisk-Driven(リスク駆動)考え方はこの記事を通して一貫しています。つまり、スパイラルモデルはプロジェクトのリスク(不確実性)が高い部分に着目することが重要であり、これらを少しずつ評価する方が手戻りが少なくなるということを言っているわけで、これは最近のアジャイル開発の考え方とも矛盾していないことに驚きます。

Boehm のソフトウェア開発に関するリスク Top 10

この記事の中で Boehm は以下のようなソフトウェア開発に関するリスク Top 10 を挙げています。

スパイラルモデルが発表されたのが 1988 年なので、もうそれから30 年以上経っていますが、依然としてソフトウェア開発に関する核心部分の問題は全く解決されていないということが改めて確認できます。

  1. Personnel shortfalls(要員不足)
  2. Unrealistic schedules and budgets(非現実的なスケジュールと予算)
  3. Developing wrong software functions(誤ったソフトウェア機能の開発)
  4. Developing the wrong user interface (誤った UI の開発)
  5. Gold plating (過剰品質?)
  6. Continuing stream of requirement changes (継続的な要求仕様変更)
  7. Shortfalls in externally furnished components (外注部品に関する不足)
  8. Shortfalls in externally performed tasks(外注タスクに関する不足)
  9. Real-time performance shortfalls(リアルタイム性能の不足)
  10. Straining computer-science capabilities(コンピュータサイエンス能力の濫用?)

ちなみに Gold plating(金メッキ) というのは聞き慣れませんが、これは PMBOK と同じく要求された以上のものを作ってしまうというムダ(過剰品質)ということでいいんでしょうかね。

多くのプロジェクトはリスクの高い状況を自らに作り出している

そのほかにも最後の Straining computer-science capabilities の Straining という単語もどう捉えたらよいか難しいですが、Longman で strain を調べると "to cause difficulties for something by making too much work or too many problems which it cannot deal with easily" とあるので、 頭でっかちになってコンピュータサイエンスを使いすぎると良くないみたいな感じなんでしょうか。

ちなみにこのルール名で検索をしてみたら、以下の本の一節がヒットしました。

Richard W. Selby, "Software Engineering: Barry W. Boehm's Lifetime Contributions to Software Development, Management, and Research," John Wiley & Sons, p.435, 2007/06/04.

2.3.1.6 Straining Computer Science capabilities
Here again, many projects create high-risk situations for themselves by neglecting to establish whether computer-science technology can meet their stated requirements, or by gold plating requirements in ways that can turn straightforward software-development project into high-risk software-research projects.

多くのプロジェクトはリスクの高い状況を自らに作り出している」というのはなかなか痛烈です。

この分でリスクの高い状況を作り出す原因として触れられている原因は2つですが、Straining computer-science capabilities の意味は", or by gold plating requirements ~" 以下の部分という感じでしょうか。過剰なソフトウェアサイエンスが、簡単なソフトウェア開発プロジェクトをリスクの高いソフトウェア研究プロジェクトに変えることができる方法だというのは、ソフトウェア工学者としては心に留めておきたいところです。

  • *1: Barry Boehm, "A Spiral Model of Software Development and Enhancement," IEEE Computer, Vol. 21, Issue 5, p. 64, May 1988.

byhsur at 23:47[5年前][4年前][3年前][2年前][1年前][1年後][2年後][3年後][4年後][5年後] |
こんな記事もあります 「ライフサイクル リスク ソフトウェア開発
バレット食道?
アサヒは今後ストロング系のチューハイを市場投入しない
ネットワーク機器を廃棄する前に設定情報の消去を
更新時のクレカの発送は普通郵便?
酒が弱い人は胃がんのリスクが高い
来月から自転車のヘルメットが努力義務化
84g の KIZAWA カーボン折りたたみ傘
平均未読メール数は 646 通?
国土交通省が国管理河川の水害リスクマップを公表
今日から正式に療養生活(療養 2 日目)
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/11050
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL:Yahoo! JAPAN IDでログイン

« :: »
Copyright © 2004-2023 by CLES All Rights Reserved.
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 .アーロンチェアのポスチャーフィットを修理(99663)
2 .年次の人間ドックへ(99079)
3 .福岡銀がデマの投稿者への刑事告訴を検討中(99068)
4 .三菱鉛筆がラミーを買収(98678)
5 .2023 年分の確定申告完了!(1つめ)(98647)
最新のエントリ
cles::blogについて
誰が書いてる?
最近行った場所
サイトポリシー
タグ一覧
検索ワードランキング

Referrers

    Powered by CLES
    Nucleus CMS v3.31SP3/w memcached
    21375059(W:5684 Y:1545 T:0878)
    cles::blogのはてなブックマーク数
    benchmark


    [8]ページ先頭

    ©2009-2025 Movatter.jp