「ソフトウェア開発は人の問題である」の「人の問題」は、心理的な領域にまで及ぶ

「ソフトウェアは人の問題である」とはよくいわれますが、自分はその意味を相当狭く認識していました。最近やっと、その誤解に気づきました。

「人の問題」といわれて、すぐに思い浮ぶのは、ファシリテーションやチームビルディング、マネジメントなどです。たしかに、それらも人の問題。でも、人の問題というのは、ヒューマンスキルやマネジメントスキルで解決されるモノだけでは、ないんですね。

心理的な側面が要因で起きる問題もまた、「人の問題」であるといえる。当たり前の話ですが、見落としていました。

コードを書くのもデバッグをするのも、所詮は人間であるという事実。だからこそ、要求や設計、実装のバグには、個人のクセ、嗜好、物事の理解の仕方、誤解の仕方、理解の深度などが反映されて、入り込みます。それを掬い取って解きほぐしたり、あらかじめ防いだりすることこそが、この種類の「人の問題」と向き合う方法のようです。

この問題をさくさく解決できるようになるには、深い洞察力がいるんだろうなあ。