エンジニアにとっての問題解決能力

Keywords

Contents

  • 1. 全体像
  • 2. 問題
  • 3. 原因
  • 4. 技術
  • 5. 重要なこと
  • 5-1. ビジネスサイドからの解決したい問題の列挙
  • 5-2. エンジニアサイドからの技術(テクノロジープッシュ)

全体像

問題

問題とは現状と理想のギャップ

  • 誰にとって問題か(開発者・ビジネスサイド・ユーザ・それ以外)
  • どの程度の問題(ギャップ)か
  • いつまでに解決すべき問題か

原因

問題を引き起こす原因

  • 因果関係の成立の3つの条件(時間的先行性、共変性、第3の原因の排除)
  • 社内、ひいては、技術で介入できる原因か

技術

原因に介入するための技術。

介入の卑近な例としては、[塩分を取ればとるほど血圧が上がる]という因果関係があった場合に、血圧を下げることを意図して、塩分を控えめにすること。

  • 他の技術じゃダメなのか(複数観点での比較と価値判断)
  • 運用で介入できないのか

重要なこと

問題、原因、技術の一貫性。問題が変われば使用する技術は変わるし、使う技術が変われば解決するだろう問題も変わる。

ビジネスサイドからの解決したい問題の列挙

  • その問題はビジネスサイドが言っているだけで、ユーザは問題ではないのでは
  • ある方法Aで原因Bに介入して欲しいとビジネスサイドはいうが、問題は引き起こしている原因はB'かもしれない。そうなると方法はA'が妥当かもしれない。

エンジニアサイドからの技術(テクノロジープッシュ)

  • 技術Aで原因Bに介入するのは妥当か
  • そもそも原因Bによって引き起こされる問題Cは本当に問題なのか