プラグインを使いこなす技術

SIer に勤めていると、今自分が抱いている感覚とは異なるソースコードを書くことがある。
具体的にはプラグインの類だ。既に出来上がっている筈の「A」という仕様を変化させた「A’」を作ることが良くある。
それは何故かと言われると、設計書に端を発している。設計書は「A」を使うことを見越して記述されているのだが、「A」が設計者の予想と異なっていた場合に、製造者は「A’」を新たに作らなければならなくなってくるという仕組みだ。
ここで重要になってくるのは「設計書を変えずに実装を変える」という点だ。設計書は不変であり実装は可変だ。これが処理系やDBMSなどの仕様ならば設計書を書き換えるという発想にも至りやすいのだが、なまじプラグインのような「SIer に勤めている俺でも作れるんじゃね?」的な発想に至りやすいものだと、その亜種が量産されてしまう傾向にあったりする。
問題となるのは、一般的に亜種の方が品質が低いことと、亜種プラグインは再利用可能では無いということだ。前者は言わずもがな。後者は「A’を使いまわそうとしたけど、設計書にそぐわないね。A”を作ろうか」という発想になるから、すなわち再利用可能では無いということになる。
プラグインを作成する、あるいは独自機能を作成するといったことが「技術力があります!」とアピールされることは良くある。が、自分に取ってはプラグインを作る技術より、使いまわす技術のほうが重要であり、高度であると考えている。
プラグインを使いこなす技術を SIer は持っていない。プラグインは再利用されずに量産される。プラグインは使われない。