奥が深い症候群

ソフトウェア開発の職場でよく発症する症状 

奥が深い症候群

使いにくいツールに「奥が深い」と言ってのめり込む症候群。往往にしてもっとシンプルな解決策が他にある。

TexC++PerlVimEmacs、弊社フレームワークなどで発症しがち。

理由があるはず症候群

不合理(に見える)仕組みを見つけた時「こうなっているのにはきっと理由があるはず」と推測して、手をつけようとしない症候群。

実際には、

- 過去に必要だったが現在では不要になったものだったもの
- 継ぎ足しで実装して複雑になってしまったもの
- 原作者の無知によって誤った実装をしているだけのもの

といった、特に理由なく不合理になっているケースも多く、こういったものは取り除くべきである。

また、理由があって変わった仕組みになっている場合も、「きっと理由があるはず」と推測するのではなく、作った人やドキュメントに当たって本当の理由を調べるべきだ。

レガシープロジェクトのメンテで発症しがち。

現実を見ろ症候群

ソフトウェアのバージョンが古い、テストが未整備であるなどの問題について「だが、そんな時間は無い。現実を見ろ!」と、無視してしまう症候群。

ビジネスでは時間や人手を効果的に配分しなければならないが、果たして、メリット・デメリットを十分評価した上で、PHP 4.0 を使い続ける判断をしたのだろうか?新機能を使えないプログラマーが不満を持つというだけでなく、セキュリティホールを抱えてしまう恐れもある。

また、「時間がない」のはテストが不十分で、不具合修正に追われているからかもしれない。

こうすればイケるよ症候群

ツールの欠陥を、ツール自体の改良ではなく、使い方で回避しようとする症候群。奥が深い症候群に似ているが、プログラマーよりもプログラムを使う社員に発症しがち。

購入したソフトウェアだと、不具合報告しても直してもらえず(「それは仕様です」なんて言われたり)、運用でカバーするしかないことが多い。だが、内製のソフトウェアでそれをし出すと、結局は誰の得にもならない。

エンドユーザーは社内SEに忌憚なく不満を伝えるべきだ(もちろん、社内SEが真摯に対応するという前提の下での話)。

だってわかんないもん症候群

こうすればイケるよ症候群が悪化した状態。

ツールの機能を深く理解せず、目先の目的を達成するためだけの誤った使い方をし、副作用が無視できないほど巨大化した段階で社内SEに持ち込み尻拭いをさせる症状。

「どうしてこんなになるまで相談しなかったんですか?」という質問に「だって、難しくてわかんないもん!」「俺たちは素人だもん!」と感情的に反発するのが特徴。

なお、プログラマーでも発症することがある。PlayやRailsなど(患者から見て)エッジなフレームワークを触ることになったとき発症し、作法をよく理解せずに実装、バグをしこんでしまう。

発症するときは、ツールの利用側と開発・運用側とが没交渉であることが多い。まず、顔を合わせて話すことから始めよう。

あとがき

 書いていてどこかで読んだことがあるな、と思ったら、この本でした。

この記事より、もっと多く、もっと深い内容が書かれているので、お盆におじいちゃんにもらったお小遣いで買って読んでください。

アドレナリンジャンキー プロジェクトの現在と未来を映す86パターン

アドレナリンジャンキー プロジェクトの現在と未来を映す86パターン