ITと哲学と

IT系エンジニアによる技術と哲学のお話。

「○○がない」ということについて最近考えること

「○○がない」という言葉を聞くたびに、最近思うことがある。

「○○がない」って、一見問題提起っぽく見えるけど、その実はただの事実を述べてるにすぎない。

これをどうやったら解決すべき問題や、より良くするためのアクションを誘発する問いにできるか?を考えてみたい。

たとえば?

「hogehoge分析をしてみた結果、第N象限に関する取り組みがないです」とか「UnitTestが無いです。テストコード自体も、テストコードを書く文化自体もないです」みたいなやつ。

どういうこと?

「○○がない」ってのは事実であり、○○が存在していないってことを指摘している。

「問題」というのはなんらかの不都合があるから解決する対処だとすると、「○○がない」という事実が、そのまま全てなんらかの不都合に結びつくものでは無いと思う。

例えば、「弊社には薬剤師がいない」という事実があったとして、弊社はソフトウェアメーカなので別段不具合はないのでそれは問題ではないと思うわけで。

このように、「ない」という事実は問題に直結しない。

ここまで極端な例ではなくても、「みんながあったらいいかも」と思うような内容であっても、様々な制約や優先事項から取り入れていないケースもあるかも。 例えば、「弊社にはテレビCMがない」という事実があり、テレビCMがあればもっと売れるようになるかも?という期待はあるけど、予算や理念、効果についての考えなどからそういう選択をしている(?)ものであり、それは問題ではないと思う。

このような切り分けなく「○○がない」という事実自体を問題として扱うと、それの解決方法は「○○がある」という状態を作ることにもなる。 その結果、「○○がない」を裏返した「○○がある」状態をやみくもに目指すことになり、有限なリソースをへんな配分で消費してしまったりすることになる。

さらに、「○○がない」事実を「○○がある」状態に変えたところで、その奥にある問題を発見できていないので、真の問題に対するカイゼンが進まないと言う問題もある。

前述の「テレビCMがない」こと自体を問題として捉えてみると、それを解決するためには「テレビCMをうつ」ということになる。 が、解決するべき問題って、売り上げが少ないとか購買層からの認知が低いとかそういうことですよね。

購買層からの認知が低いことが問題であれば、テレビでマス向けに広告打たなくてもいいかもしれないし、売り上げが少ないことが問題であれば、もっと営業活動に投資するとかあるかもしれない。利益が低いみたいな問題であればCM打つことによって余計費用がかさんでマイナス効果が出るケースもあるかも。

じゃあどうしたらいい?

問題まで落とし込んで考えるべきだと思う。 「○○がない」ことでどんな不都合があるのか?

テストコードがないから、どんな不都合があるのか?みたいな。

テストコードがないことで、テスト工数が余計にかかっているとか、バグが流出しているとか、リファクタリングできないとか。そういう具体的な問題をベースに考えるようにしたい。 そうしないと、ただ「ある」状態をやみくもに目指すことになると思う。

問題まで落とし込めば、ある状態を作る以外のもっと良い解決策にたどり着くかもしれない。

おちは?

ないです。