概要
エンジニアが解決する必要のある仕事上の問題は、当初からはっきり与えられていることは少ない。
このため、「与えられた問題をどうやって解いたらいいかを考える」学力テストのような方法論で解決を試みても、実際にはなかなか解決することができない。
書籍「エンジニアリング組織論への招待~不確実性に向き合う思考と組織のリファクタリング」では、そのような問題に対応する「情報を生み出す考え方」を説明している。
本記事では、書籍の内容を引用した上で、例題を通して、その実践例を示す。
情報を生み出す考え方
仕事と学力テストの3つの違い
学力テスト | 仕事 | |
---|---|---|
人数 | 1人 | 複数人 |
情報 | 問題に書いてある | 必ずしもあるわけではない |
答え | 決まっている | 決まっていない(問題を設定することからはじまる) |
学力テストの場合は、与えられた問題を読み込むと、どこかに解決への鍵がある。その鍵を発見することができれば、そこから解答を自分1人の力で導くことができる。私たちは、これまでの学習過程で、無意識のうちに問題をそのような方法で解く習慣が身についてきてしまっている。
しかし、エンジニアが直面する仕事上の問題の場合、当初の情報内に解決への鍵が必ずしも存在しているわけではない。では、どのようにして問題を解決すべきなのだろうか。
経験主義と仮説思考
解決のための考え方は、経験主義と仮説思考である。
- 経験主義
- 情報を入手するために、行動を起こして、その結果を観察し、そこから問題解決を行う考え方
- 仮説思考
- 限定された情報であっても、その情報から全体像を想定し、それを確かめることで少ない情報から問題解決に向かう思考様式
「仕事と学力テストの3つの違い」の表に記載した通り、情報は必ずしも十分に存在するわけではない。このため、まずは情報の不足を補うための行動をする必要がある。
また、仮説を立てることで、すべての情報が揃っていなくても、早く問題を解決することができる。
例題
では、実際に具体的な例を挙げて考えてみよう。
あなたは会社の情報システム部門に所属している。
ある社員から「自席でふだん利用しているPCから、インターネットにつながらなくなった」という問い合わせがあった。
さて、どのように解決すればよいか?
不足している情報は何か?
「インターネットにつながらなくなった」という文が指す問題は曖昧である。
受け取り手によって、そのイメージはバラバラになってしまう。
このため、まずはどのような情報が不足しているために、問題が曖昧になってしまっているのかを考えてみよう。
たとえば、下記のような例が挙げられるはず。自分で考えて、もっとたくさん挙げてみよう。
- いつから発生しているのか。発生する前には何をしたのか。
- 周りの人も同じような問題が発生しているのか。
不足している情報がわかったら、実際に行動を起こして情報を入手しよう。
たとえば、それらの不明点を問い合わせ元の社員に質問したり、実際に現場に行って自分で確かめたりできる。
新たに入手した情報から仮説を立てよう
行動した結果、下記のような情報を新しく手に入れることができた。
- 問題が発生しているのは、特定のWebサイトだけではない
- 最近、ソフトウェアを新しくインストールした
- 周りのPCでは問題が発生していない
その情報から、問題の原因に対する仮説を立ててみよう。
たとえば、下記のような仮説が立てられるはずである。
- 新しくインストールしたソフトウェアに問題があるのでは?
- 単にLANケーブルが抜けているだけでは?
仮説を立てることができれば、また、その仮説を行動によって確かめればよい。
システム思考
このように、仕事上で直面する問題においては、学力テストと違って、一回で正解を導き出す必要はない。時間と資源の制約の中で、より正解に近づく一手を打ち続けることこそが重要である。
結果的には、そのほうが短時間で解決することができるだろう。
ほかの例: 仮説を検証するために、小さなコードを書いて結果を確かめよう
参考書籍
本記事の内容は、エンジニアリング組織論への招待~不確実性に向き合う思考と組織のリファクタリングの「1-3. 情報を生み出す考え方」を引用した上で、例を挙げての解説を試みたものです。
本書はきちんと順を追って話を運んでくれるので、新人エンジニアから組織の長まで、幅広いエンジニアに対しておすすめです。
エンジニアリング組織論への招待:リファレンスガイド第1章/第2章も参考にどうぞ。