問題解決において注意すべきこと


ソフトウェアはユーザが思った通りに動くことはない。
あるいは試験不足や想定しない不具合は必ず発生するものである。

経験と勘で発生を未然に防ぐことは重要だし、システムテストはそのために存在する。
試験データの生成や試験自動化等々できることはいくらでもある。
端的に言うと確認してもいないものを客に出すから問題が起きる(大抵組織体制の問題だが..)。

それでも問題が起きた時どうすべきか?
だいたいトラブルに巻き込まれている時点で金の話が二の次になっているはず。

  • 諦める

だいたい検証してないから起きる話ではあるが検証時間が無限にとれるわけでなし諦めて解決するしかないと腹をくくろう。
誰かが解決してくれると期待しても悲しくなるだけだ。

  • 出来ることを考える

Microsoftが…IEが…開発会社が…と色々考えられる話はあるが他社に原因があると推測しても具体的な個所を指摘できない場合は言及してはならない。
具体的な個所判明しているならば解決しているが、他社の可能性を指摘して、自社の責任範囲だった場合が最悪パターン。
特に未熟なSE/PGに言わせてはならない。上役だったら?…そりゃ上役の責任だからどうでもいい話。自社で出来ることを考えよう。
(商用ソフト使ってるときは有耶無耶になるまでたらいまわしにしてエンドが誰が悪かったのか分らなくなるまで待つとかもあるが)

  • 原因を妄想で決定しない

原因が分かる≒解決する
原因が分かるまではあらゆる可能性を想定して確認する。
「誰かが大丈夫だと言っていた..」「文書に書いてあった」などは信じてはいけない。

  • 検証して切り分ける

起きるパターンの発生因子が何由来かを考え、発生しうる単純構成で検証する。
複合要因の場合はあるが、発生因子をつかなまない事には解決できない。
とりあえずばかばかしいほど単純な検証から始め、発生するかしないかで切り分ける。

基本経験と勘の問題で仕組みが理解できないと原因の推測ができない。
第三者があっさり解決して見せた場合、自分/自社に何が不足していたのかを検討するべき。
解決能力の有無は金に直結する。あーでもないこーでもないの時間と言うのが一番無駄な時間。

カテゴリー: 雑記 パーマリンク