量り売りの設計書のその後。
当初はプログラムが原因のバグが多かったが、後半は仕様バグが頻発した。理由は簡単である。仕様書の書き方が曖昧であるのに、仕様がFIXしたものと勘違いしていたからである。よって、当初は曖昧さの解釈が異なる「プログラムのバグ」が多く、後半は仕様自体の甘さによる「仕様バグ」が頻発したのだ。

仕様書は、解りやすくなくてはならない。解りやすいための条件として、読む人によって解釈の余地が発生しないことが挙げられる。そのためには矛盾があってはいけない。

よく、プログラムを作ってから後付で仕様書を作成するケースがある。プロジェクト規模やエンジニアの力量によっては設計書を作らずとも実装はできる。しかし、当初作った設計書を結構手直ししなくてはならないようなら、「設計力」に問題はないかを疑ってみるべきだろう。

いい設計書は、そのままプログラムに落とし込めるし、ツール化すれば自動プログラミングも夢ではないだろう。しかし、IT業界の設計書は、どういう訳かレベルが低いものが多いように感じる。

ときどき、インストールしたはずのソフトが急に使えなくなる事象があった。フリーソフトで、上位バージョンは有償であるものだ。そういう仕込みをソフト側でしてあるのかな?そんなこともできるのか、とか思いながら再度インストールして使っていた。

先日、仕事場で「メールソフトが使えなくなった」という事象があった。消えてしまうようなソフトではないので何だろう?と考えた末「ウィルス対策ソフトがウィルスが含まれているモノとして検知し、隔離したのでは?」と思いついた。調べていると、ビンゴ。

その語、冒頭の消えてしまうソフトも、ウィルス対策ソフトが隔離していた。


ウィルス対策ソフトの中には、このように勝手に隔離してしまうものがある。「こんなの見つけたのでどうしやすか、旦那?」くらいのものがあるソフトもあり、個人的には訊ねてくれるソフトの方が有り難い。


なお、自作ソフトなどでは通信、特にインターネット接続する仕組みがあると「ウィルス」と認定されることが多い。そういうソフトをホワイトリストに追加して「こいつはOK」というようにできた方が有り難いが、そのホワイトリストを更新するようなウィルスも作れなくはないだろう。セキュリティを取るか、利便性を取るか、そのあたりは悩ましいところだ。
知り合いから「VBAでキーロガーを作っている」という話を聞いた。
耳を疑った。なんでそんな面倒なことを?と。すると「仕事場で導入するソフトは制約があるため、exeは許可なく導入できないがVBAはいいらしく、上司がキーロガーを欲しがっていて依頼してきたため」とのこと。

どうやらメールソフトはOutlook系らしく、怪しいメールを送ったりしていないか、を知りたいらしいのだ。
そこのポリシーとして、そういうのもありかな、とは思えなかった。そういうのって、メールサーバーに仕込めえばいい話で、キーロガーにする必然性はあるのか?というのが正直な感想であった。

しかし、VBAの技術としてはかなり高度な部類であったため、技術論として話を聞いていたが結構面白かった。その人はIT系エンジニアでもなんでもないため、プログラミングがそれほど得意なわけではない。ネットではそういう情報がないのでC言語の情報なんかを調べ、なんとかかんとか実用に漕ぎ着けられそうだとのことだった。

最近はよく調べずに何でも質問する人も多い。先達が居ればその知識を分けて貰えてやりたいことが早く済む、という点ではいいだろう。しかし、ITの技術者を名乗っている人がそういうことでは困る。体系的な知識が付かず、応用も利かず、「誰にでもできる仕事」しかできないことになる。
その流れと真反対の行動で、苦労しながらも作り上げた根性には敬意を表したい。