今日も寒し。午前中はもうじき出荷する装置の動作試験の準備。機器を箱から出してラックに組み付け、ケーブルを配線する。
昼前からはミーティング。上司に言われて召集したミーティングで、ソフトウェアのGUIの変更についての意見を集めるというもの。実はあまり気が進まない。
ソフトウェアのユーザーインターフェースは「素人でも分かりそう」な分野であるためか、ソフトウェア開発の知識の無い人が気軽に口を出してくる*1。ところがそういった意見のほとんどは裏付けの無い個人的な印象や好みに過ぎない。ゆえに、誰かの好みに合わせて作ったとしても別の誰かには使いにくくなるといったことがしょっちゅう起こる。
もちろん使う側からのフィードバックは大切だけど、だからと言って単に要望や意見を集めればよいというものではない。開発者はそれらを聞いた上で、実現可能な範囲で最大公約数的に要望を満たす方法を見極めなければならない。本当に議論が必要なのはこの見極めの作業とその後のソフトウェア設計なのだ。
今回のように参加者がプログラミングの素人ばかりで技術的な裏付けの無いミーティングは、言うなれば「社内に居るユーザー」に対する「要望のヒアリング」であって「開発ミーティング」ではない*2。
この手のミーティングに参加すると、みな互いに好き勝手な要望を出してはくれるが、どうやって実現するかはたった一人の「開発者」である自分が一人で悩むしかない。さらに悲しいことに、要望を咀嚼して実装に落とし込むことの難しさを理解してもらえないので、たとえ苦労して要望を実現したとしてもほとんど反応が無かったりする。
協力的だった社員が立て続けに辞めてからここ数年、その繰り返しでさすがに精神的に疲れてきた。自分は一人で平気な性格だと思っていたが、社内で開発の苦労と達成感を誰とも共有できないのは少しきつい。プログラミングさえやっていられれば幸せ、という境地には至れそうもないし、ソフトウェア開発者には向いてなかったのかもねえ。
午後一からもミーティング。こちらは例のデスマーチ寸前プロジェクト。装置の全体像と回路系とソフトウェアの機能分担について、実務担当者の作った資料を見た。ミーティングの内容は前回のミーティングで理解したことばかりで、個人的には何の収穫も無かった。て言うか、ミーティングに出てくるならメールで配布されている資料くらい目を通しておいてもらいたいし、基本的な技術要素が何なのかくらい理解しておいて欲しいものだ。
帰宅後、車で外出。新刊をあさりにTSUTAYAともう一軒の本屋に。ラーメン屋に寄ってから帰宅。