見出し画像

コラム1010 プログラミングが完成しても仕事は終わってない

 中心部分も外側(インタフェース)も作ってプログラムを完成させて、使う人にもOKをもらったからといって終わりではありません。私の感覚では、この一旦プログラムが完成した段階で、全体の2~3割くらいが過ぎたころだと思います。しばらく使ってもらっていると、それまで見つからなかった不具合が出てきたり、こうしてほしいという改良や機能の追加の要望が出てきたりします。
 複数の人が使っていると、矛盾した要望が出てくることもよくあります。矛盾した要望が出てきたとき、その要望通りに改良できませんので、その人たちがなぜそう言ったのかの上位要求を考えると別の答えが出てくるかもしれません。AさんよりBさんの方が怖いからBさんの要望だけ対応しよう、っていうのはダメです。
 また、使ってくださっている全ての方が意見を出してくれるとは限りません。むしろ意見を出してくれる方が少数です。多数の人はソフトウェアに対して不満はないので何も言わず、少数の人が不満を感じて要望を出していたとしたらどうでしょう。これはとてもよくあることで、サイレントマジョリティーとノイジーマイノリティーの関係に似ています。
 少数の人の要望に対応した結果、それまで満足していた多数の人が不満に転じるかもしれません。何か言われたからといって脊髄反射的に対応する前に、変更後のプラスとマイナスの影響を整理することです。納得した上で変更してください。重要な変更は全員に簡単なアンケートをとってもいいでしょう。また、変更がこれまでのプログラミングの方針と整合性が取れているかについても是非考えてください。ここでも首尾一貫が大切です。
 ちなみに、画像を認識するアルゴリズムを開発していた元部下のプログラマーは、プログラミングは子育てのようだ、と言っていました。まだ心もとない状態で誰かに使ってもらう、すなわちかわいい子に旅をさせると、いろんな不具合や要望といった経験を持って帰ってきてくれて、さらに成長するように努力する。完全にお渡しする時は、嫁に出す気分だ、とのことでした。子どもがいない私は、しりませんけど。

c. ノイジーマイノリティ


この記事が気に入ったらサポートをしてみませんか?