NTTデータ
技術開発本部
副本部長
山本修一郎
概要
今回は、何を何にどのように変えるのかという「どのように」の部分について解説する。ここでは、まず前提条件ツリーを用いて最終目標を達成するためにどんな障害があるのかを発見し、それを克服するための中間目標を調べる。次いで移行ツリーを用いて作業を具体的に実行していく計画を明らかにする。これでようやく論理思考プロセスの紹介が完結することになる。
ゴールドラットの論理思考プロセスの概要
前回と同様に、論理思考プロセスを復習しておくと次のようになる[1][2]。今回は第三の問いに答えるための手法を説明する。
問1 何を変革するのか?
現状分析ツリーを用いて、現状の問題点とその根本原因との因果関係を論理的に分析する。
問2 何に変革するのか?
まず対立解消図を用いてゴール、ゴール達成の要件、要件の前提の相互関係を分析することにより、前提間の対立を解消するインジェクションを発見する。次に、未来実現ツリーを用いてインジェクションと因果関係に基づいて、想定される好ましい結果とネガティブ・ブランチの可能性を明らかにする。さらに、ネガティブ・ブランチを用いて最悪の事態を予測し、それに対するインジェクションを考案する。ネガティブ・ブランチを未来実現ツリーに追加する。
問3 どのように変革するのか?
前提条件ツリーを用いて最終目標を達成するための障害やそれに対処するための中間目標の関係を明らかにする。また移行ツリーを用いてどのように変革を完成するかを示す行動の時間的な順序関係を具体化する。
前提条件ツリー
前提条件ツリーの構成要素には、実現すべき目標と中間目標、そして目標を実現する上での障害がある。前提条件ツリーで扱う関係は必要関係と克服関係である。
必要関係では、上位の目標を実現するためには下位の目標が必要であることを表す。これに対して克服関係では上位の目標の障害を下位の中間目標によって解決できることを表す。
新たなシステムが成功するための前提条件を予め明らかにするために作成するのが前提条件ツリーなのである。
前提条件ツリーの作成プロセス
前提条件ツリーの作成では、次の3つの問に答える必要がある。
- 問1 最終目標は何か?
問2 最終目標の障害とそれを防ぐ中間目標として何をなすべきなのか?
問3 中間目標間の時間的な順序はどうなっているのか?
まず手順1から手順3までで、対立する前提条件から望ましい要求と対立しない共通の目的を探索する。次いで手順4から手順6で、対立を解消するためのインジェクションを発見するのである。このように対立を生じさせている要求の目的を探すことで、変更可能な仮定や暗黙の条件を明らかにするための手がかりを見つけることができる。
◆因果関係
因果関係では、目的、要求、前提の論理的な関係を定義する。また同じ前提から対立していた前提の要求が、インジェクションにより論理的に導かれることも因果関係で表す。
【手順1】最終目標を決める
まず、最終的に何を変えたいのかという第1の問の答えを考えることにより最終目標を記述する。
【手順2】障害と中間目標を列挙する
次に、第2の問を考えることで最終目標を達成するための課題としての障害を抽出する。また障害に対する対策を考えて中間目標として記述する。さらにこの中間目標の障害は何かを考えて、その対策を具体化していく。
【手順3】障害と中間目標を確認する
手順2で考えた中間目標により障害を回避できることを確認する。
【手順4】前提条件ツリーの作成を開始する
中間目標を障害に対応付けるとともに、時間順序に従って下から上に配置する。つまり最終目標を頂点として、その前に必要な克服すべき課題と対策とを時間をさかのぼるように上から下に順に配置していくのである。
【手順5】中間目標を結ぶ
時間的に先行する中間目標と障害を後行する中間目標と障害の下に配置し、下の中間目標から上の中間目標に線を引く。すべての中間目標と最終目標とを線で結ぶ。このとき下位の中間目標によって回避される障害から、下位の中間目標からその上位の中間目標へ向けた線に対して線を引く。
【手順6】完成したツリーをレビュする
完成した前提条件ツリーに抜けがないことを確認する。
| 作成手順 | 留意点 | |
|---|---|---|
1 |
最終目標を決める | 何を変えたいのかを記述する。 |
2 |
障害と中間目標を列挙する | 目標を達成するための課題とその対策を記述する。 |
3 |
障害と中間目標を確認する | 中間目標により障害を回避できることを確認する。 |
4 |
前提条件ツリーの作成を開始する | 中間目標を障害に対応付け時間順序に従って配置する。 |
5 |
中間目標を結ぶ | 時間的に先行する中間目標と障害を後行する中間目標と障害の下に配置し、下の中間目標から上の中間目標に線を引く。 すべての中間目標と最終目標とを線で結ぶ。このとき下位の中間目標によって回避される障害から,下位の中間目標からその上位の中間目標へ向けた線に対して線を引く。 |
6 |
完成したツリーをレビュする | 完成した前提条件ツリーに抜けがないことを確認する。 |
上勝町の前提条件ツリーの例
今回もこれまでと同じ徳島県上勝町(かみかつちょう)の町おこしの事例[3]について、前提条件ツリーを作成してみよう。上勝町はミカン以外の産業のない山間の過疎と高齢化に悩む町だったが、葉っぱをビジネスにすることで、活性化に成功したことで有名になった。
ここでは最終目標を「葉っぱを売ることができる」としてみよう。この最終目標に対する障害としては、次の3点が考えられる。
- 葉っぱがない
- 販売組織がない
- 販売経路がない
これに対してそれぞれ次の3つの対策を考えることができるだろう。
- 売れる葉っぱを持っていること
- 葉っぱを売る事業組織を持っていること
- 葉っぱを売る販売経路を持っていること
次にこれらの対策を中間目標として、その障害となるのは何かを考えて、その対策を具体化していく。
たとえば、売れる葉っぱを持っているためには、働く人がいないといけないという課題があり、さらにそのために高齢者が葉っぱを集めることになる。
ところが、高齢者が葉っぱを集めるためには、高齢者が葉っぱが売れることを信用しないという課題が出てくる。そこでこの課題を解決するために、高齢者に葉っぱが売れることを認知してもらう活動が必要になるというわけだ。
このような検討を続けることで、最終目標の実現に向けて考えられるすべての課題を明らかにしていくことができる。最終的に検討結果を整理すると、図1のような前提条件ツリーになるだろう。
- 1:要求工学の概要
- 2:第12回要求工学国際会議 RE2004
- 3:要求仕様
- 4:要求工学プロセス
- 5:要求抽出
- 6:要求分析
- 7:要求確認
- 8:要求管理
- 9:要求追跡
- 10:要求工学の課題
- 11:ジャクソンの問題フレーム
- 12:シナリオ分析
- 13:要求工学国際会議RE2005
- 14:ゴール分析
- 15:iスター・フレームワーク
- 16:要求インタビュー
- 17:ゴール分析 応用編
- 18:ゴール分析 応用編つづき
- 19:ゴール分析の視点
- 20:ソフトシステム方法論 再考(その1)
- 21:ソフトシステム方法論 再考(その2)
- 22:ソフトシステム方法論 再考(その3)
- 23:非機能要求
- 24:信頼性要求
- 25:コミュニケーションの構造
- 26:組織とコミュニケーション
- 27:論理思考プロセスと現状分析ツリー
- 28:対立解消図と未来実現ツリー
- 29:前提条件ツリーと移行ツリー
- 30:特性要因図とゴール思考分析
- 31:i*フレームワークの書き方
- 32:i*フレームワークの危険な曲がり角
- 33:目的思考
- 34:要求工学の研究動向
- 35:アジャイル開発の要求工学
- 36:アジャイル開発の要求工学
- 37:要求レビュ
- 38:要求の曖昧さ
- 39:アクタ関係分析
- 40:要求工学の現状と課題
- 41:セキュリティ要求工学
- 42:ソフトウェア品質要求工学
- 43:イノベーションと要求工学
- 44:Wikiと要求工学
- 45:要求工学プロセスの改善
- 46:アクタ関係から見るユースケースと要求獲得
- 47:要求エンジニア
- 48:要求モデリングと誤り
- 49:要求を軸としたこれからのソフトウェア社会
- 50:ゴール指向とアスペクト指向要求工学
- 51:サービス指向要求工学
- 52:要求質問
- 53:試験工程での要求発見
- 54:要求とテスト
- 55:すりあわせの技術と価値星座
- 56:学生からの質問
- 57:SysMLの要求図
- 58:アシュアランスケースとGSN
- 59:組込み要求工学
- 60:要求とアーキテクチャ
- 61:要求と保守・運用
- 62:オープンソースソフトウェアと要求
- 63:要求工学のオープンな演習の試み
- 64:Web2.0と要求管理
- 65:ソフト製品開発の要求コミュニケーション
- 猿でもわかる“クラウドケータイ”
【猿でもわかるICT】 - 10G-EPONの概要 その4-10G-EPONの課題と今後の動向-
【新ネットワーク】 - やっぱりおかしいよね?メモリの使い方
【通信ソフトウェア開発】 - 猿でもわかる”フレッツテレビ”その2
【猿でもわかるICT】 - 10G-EPONの概要 その3-10G-EPONの特徴2-
【新ネットワーク】 - 10G-EPONの概要 その2-10G-EPONの特徴1-
【新ネットワーク】 - 開発支援ツール
【通信ソフトウェア開発】



