エンジニアにとっての問題解決能力
Keywords
Contents
- 1. 全体像
- 2. 問題
- 3. 原因
- 4. 技術
- 5. 重要なこと
- 5-1. ビジネスサイドからの解決したい問題の列挙
- 5-2. エンジニアサイドからの技術(テクノロジープッシュ)
全体像
問題
問題とは現状と理想のギャップ
- 誰にとって問題か(開発者・ビジネスサイド・ユーザ・それ以外)
- どの程度の問題(ギャップ)か
- いつまでに解決すべき問題か
原因
問題を引き起こす原因
- 因果関係の成立の3つの条件(時間的先行性、共変性、第3の原因の排除)
- 社内、ひいては、技術で介入できる原因か
技術
原因に介入するための技術。
介入の卑近な例としては、[塩分を取ればとるほど血圧が上がる]という因果関係があった場合に、血圧を下げることを意図して、塩分を控えめにすること。
- 他の技術じゃダメなのか(複数観点での比較と価値判断)
- 運用で介入できないのか
重要なこと
問題、原因、技術の一貫性。問題が変われば使用する技術は変わるし、使う技術が変われば解決するだろう問題も変わる。
ビジネスサイドからの解決したい問題の列挙
- その問題はビジネスサイドが言っているだけで、ユーザは問題ではないのでは
- ある方法Aで原因Bに介入して欲しいとビジネスサイドはいうが、問題は引き起こしている原因はB'かもしれない。そうなると方法はA'が妥当かもしれない。
エンジニアサイドからの技術(テクノロジープッシュ)
- 技術Aで原因Bに介入するのは妥当か
- そもそも原因Bによって引き起こされる問題Cは本当に問題なのか