【第8回】 視覚化して考える|実務三年目からの発見力と仮説力

帰納的な推論発見的な推論(アブダクション) は、私たちがソフトウェア開発の現場/実務で(知らず知らずにでも)駆使している思考の形です(それどころか日々の暮らしでも使っています)。

それほど“自然な”思考の形ですが、どんな考え方で、どんなところに注意すると質の高い思考ができるのか、基本知識を押さえておくと実務のレベルアップにつながります。

<実務三年目からの発見力と仮説力 記事一覧>※クリックで開きます

今回は仮説の検討を支援するのに使える図式化表現(表記法)をいくつか紹介します。

図式化に馴染んでいる人はいつも使っているものや気に入ったものを応用すればよいのですが、ふだんあまり図を描かない人は参考にしてみてください。

もちろん、ここに挙げた以外にもアブダクションを支援する“ツール”はたくさんあります。自分に合うものを探しましょう。

なお、紹介では概要のみ記しています。詳細は当該表記法の文献等に当たってください。

グラフ、ツリー、フロー

グラフ

○(丸)を描いて、○と○を線で結んだだけの図(図8-1)も、グラフと呼ばれる立派な図形です(「グラフ」は数学の用語)。

○を ノード や頂点、線を エッジ や辺と呼びます。(念のため、ノードは○(円形)でなくても問題ありません)

エッジでつながれたノードの並びを 経路 と呼びます。
図8-1の(b)のように、辿っていくと始点に戻る経路は 閉じている(閉じた経路) といいます。

図8-1 グラフ
図8-1 グラフ

矢印のついた線を使うと、向きのあるグラフ(有向グラフ)になります(図8-2。矢印がない図8-1は 無向グラフ)。
有向グラフでは、経路は矢印の向きに従います。
順序や依存関係、原因・結果の関係などを表わすのに都合がよいです。

図8-2 有向グラフ
図8-2 有向グラフ

問題となっている事象やその原因(候補)、付随する事象などをノードにして、エッジでそれらを結べば、「原因と結果の関係を示す図」の出来上がりです(図8-3)。

考え始めや、考えがまとまらない時などは、事実を集めながらこんな図形でも描いて眺めてみるとよいでしょう。
問題の特徴が見えてきたり考えるべきことの焦点を絞れたりして、別の図式化の方が適しているならそちらに切り替えればよいわけです。

図8-3 グラフで考える
図8-3 グラフで考える

ツリー

ツリー(木)、樹形図 も誰もが知る図式でしょう。
ひとつのノードを“根っこ(ルート、root)”として、ルートから他のすべてのノードがつながっているように表した無向グラフです(図8-4)。

  • 閉じた経路はない
  • ツリー上の任意のふたつのノードをつなぐ経路はただひとつ

図8-1 (b)、図8-3はツリーではありません。

図8-4 ツリー
図8-4 ツリー

ツリーはノード間の階層関係(親・子、上位・下位など)を表すのに向いています。

  • 構成要素や概念を段階的に詳細化する
  • 主題(ルート)を特定の観点に沿って掘り下げる
  • 主題から発想を漸進的に広げていく

ソフトウェア故障の説明仮説の検討では、故障(結果の事象)をルートに据え、原因として考えられることを枝から葉に向かって書き出しながら詳細を考える、といった使い方ができます(図8-4a)。

注意点としては:

  • ひとつの階層で挙げる事項の観点を統一する
    (たとえば、事象の種類、発生部位、etc.)
  • ひとつの階層で挙げる事項の見落とし・重複がないようにする
  • 枝や葉で挙げる事項が階層関係を飛び越えないようにする
    (あるノードの子ノード(以下)に、そのノードの親/上位の項目を書かない)
図8-4a ツリーで考える
図8-4a ツリーで考える

ツリー系の表記法にはロジックツリーマインドマップなどがあり、それぞれに適した用途や描き方があります。

フロー

原因から結果に至る筋道を描くなら、これもおなじみのフロー図があります。これもグラフの親戚です。

グラフそのままとしても描けますが、
フロー系の表記法にはアクティビティ図フローチャートを始め、表現力が高いものが多くあります。

図8-5 フローで考える(アクティビティ図の例)
図8-5 フローで考える(アクティビティ図の例)

フロー系の表記を利用する場合には、「ソフトウェアの実行の詳細な流れや動作」に注意を奪われないように気をつけましょう。

「原因から結果に至る過程」と「ソフトウェアの詳細な動作」は一致しないこともよくあります。

連関図

事象間の因果関係の解明を支援するための図式化表現に連関図があります(図8-6)。
(連関図は新QC七つ道具のひとつです)

  • 結果事象(解決したい問題)に多くの事象(原因)が関係しており、事象どうしの因果関係が複雑と見込まれる状況で、
  • 事象間のつながり、因果関係を図示し、全体を俯瞰しながら主原因を検討する場合に適しています(プロセス改善時の原因分析など)。
図8-6 連関図
図8-6 連関図

注意点としては:

  • 結果事象に直結するノードには一次原因として、事象を引き起こした直接の原因を配置する。
    一次原因に抜け漏れ・重複がないようにする
  • 一次原因から、それを引き起こした原因という風に、結果から原因を逆向きに考える
  • 原因から結果へのつながりをよく考える(ひとつの原因から複数の結果、複数の原因からひとつの結果)
  • 主原因(支配的な原因や、対策を打つべき原因)が必ずしも末端のノードにあるとは限らない。
    問題が生じても、それを無化したり回復する仕組みを設けて対処すればよい場合もある

ソフトウェアの故障や不具合でも、複数の要因が絡み合ったり連鎖したりした結果であることはしばしばあります。
特に人的要因が絡んでくる場合にはこの図式化は適しています。

親和図(KJ法)

そもそも原因の手がかりがつかめない、現象自体が入り組んでいてよく判らない、といった状況なら、親和図(KJ法A型図解)を使ってみるのも手です(図8-7。親和図は新QC七つ道具での呼称です)。

図8-7 親和図
図8-7 親和図

ソフトウェア故障や不具合について、確認された事実を集め、グループ化してみることで(たとえば、環境や設定、事前状態、付随して発生した事象、事後状態、など)、込み入ったデータが整理されていき、重要な事柄が見えてくるでしょう。

図8-7a 親和図で考える
図8-7a 親和図で考える

どんな図式化を使うにしても

気をつけたい点

手段と目的が入れ替わらないように気をつけましょう。

  • きれいな図、“正しい”図を描こうとすることに労力を傾けてしまう
    (その結果、事実を集めたり見直したり発想を広げたりすることに時間がさけない)
  • 図が間違っていると感じた時に修正するのを躊躇してしまう

仮説を考える助けとして図を描いているだけなのですから、図のきれいさや図としての“正しさ”を気にする必要はありませんし、間違いに気づいたらさっさと破棄して描き直すのが吉です。

まず、目に見える形に表そう

どこから手をつけていいか見当がつかない、原因や過程の候補を思いつかない、といった五里霧中状態では、「考える手がかり」を考えるのが大変だったりします。

先に紹介した親和図(KJ法)的アプローチはそんな場合に有効で有用です。

  • 関係のありそうな ものごとをとにかく 書き出す
    (先行/後続する事象, 環境や設定, 実際に行なった操作, etc.)
  • 関係のなさそうな ものごとでも目にしたものや気になったことは 書き出す
  • つながりがありそうなものがないか考える
    (関連しそうなものをグループ化してみる、関係なさそうなものは取り除けておく、etc.)

視覚化してもいい考えが出てこないという時は……次回は仮説の着想を促す「考えるためのヒント」を紹介します。

参考文献

  • 猪原正守 『新QC七つ道具 混沌解明・未来洞察・重点問題の設定と解決』 日本規格協会 2016
  • 二見良治 『演習 新QC七つ道具』 日科技連出版社 2008
  • 川喜田二郎 『発想法 改版』 中央公論社 2017

図版に使用した画像の出典

  • 品質探偵コニャン:Produced by Sqripts. No Unauthorized Reproduction.
【連載】ソフトウェアエンジニアのための論理スキル[実務三年目からの発見力と仮説力] 記事一覧

SHARE

  • facebook
  • twitter

SQRIPTER

望月信昭(もちづき のぶあき)

gst lab.

記事一覧

gst lab.所属

前世紀は主にソフトウェアエンジニア/プログラマーとして活動。
今世紀はソフトウェアテストのコンサルティング、実務の支援、テスト関連技術トレーニングの企画・開発・講師/ファシリテーターといった領域で活動。近年は若年層ソフトウェアテスト技術者の育成に関わることが多い。
ISTQB-FL、テスト技法、論理スキルなど、ワーク盛りだくさんのトレーニングやワークショップを提供中。

note⇒ https://note.com/nob_mottie/

RANKINGアクセスランキング
#TAGS人気のタグ
  • 新規登録/ログイン
  • 株式会社AGEST
NEWS最新のニュース

Sqriptsはシステム開発における品質(Quality)を中心に、エンジニアが”理解しやすい”Scriptに変換して情報発信するメディアです

  • 新規登録/ログイン
  • 株式会社AGEST