うるう日処理をしていないミス:本番環境で、こんなことがあるの?

 「うるう日」設定ない機器がエラー、4県警で免許証作成でシステム障害…スギ薬局も一時精算できずというのは、信じられないような初歩的ミスだ。西暦で4で割り切れる年はうるう年である。まあ、付帯条件があって、西暦年号が100で割り切れて400で割り切れない年はうるう年ではないのだが、こんな例外は2100年までやってこないので、普通のシステム開発では考える必要はない。まあ、それ以前に、うるう年がどうかを判定するライブラリー関数は用意されているはずなので、そもそも、うるう日があることさえ意識すればいいはずである。かつ、テストだって簡単だろう。ということを考えると、このミスは、うるう日があることを仕様に入れていないことが最大の問題である。かつ、テストする側も気づかなかったという本当に初歩的なミスだ。なんか信じられない。

小規模FPGAの実態

 私のような組み込み技術者が使うFPGAというのは、グルーロジックを小規模FPGAで実装するというものが多い。昔は、グルーロジック用のデバイスがたくさんあったが、今ではバスドライバなど一部のデバイスしかなくなってきているからだ。FPGAメーカーから見たら、たぶん、小規模FPGAは儲からない領域なのだろう。新製品といえば、高速大規模のFPGAが多い。
 とはいえ、一部のメーカーは、小規模FPGAを製品化している。そんな小規模FPGAのメーカーによる考え方の違いがよくわかるのが組み込みの「一番根っこ」を狙うか否か 戦略が別れる小規模FPGAの現状だ。そもそも小規模FPGA自体があまり記事にはならないので、この記事は貴重である。

不良な客はどこにでもいる

 SIerは「不良な客」から撤退だ! 官公庁でも金融機関でも構うことはないぞは、今ちょうど、不良な客との対応をしているので、共感を持って読んだ。私の仕事はSIerではないのだが、システムを提供するという意味ではよく似ている。この手の仕事は、客の質によって、かなり異なる。トラブルがあったとき、お前の会社は全く信頼できない、とかいう客がいる。もともと、無理があるのを何とかしてきた結果のトラブルなのに、こういう言葉をいう客は、こちらの方から信頼できない。そもそも、こんな客の案件を営業は断るべきである。

流行だからと言ってIoT応用製品を企画したが・・・

 「集めましたIoT」に「こねくりAI」 DX推進で製造業が陥りがちなワナとは?の「集めましたIoT」は、私にも経験がある。私は前職で通信関連の技術開発をしていた。その頃、突如としてIoTという言葉が流行した。通信技術を開発している身としては、IoTというからには、何か製品に応用しなければ、ということになる。そこであるのが、今ある製品にセンサーを搭載し、インターネットで接続すれば、何かできるだろうという発想である。ニーズからではなく、シーズからの発想。しかも、流行だから何かやらないと、ということで、実際には、何もたいしたことはできない。しかも、今までネットには接続されていない製品をネットに接続するので、そのコストを考えると、月額サービスで提供しなければ、という発想になる。
 実際には、そんな月額サービス料を支払っても欲しい機能は提供できない。当たり前である。欲しい機能ではなく、できる機能の積み上げだからだ。バカバカしいことだ。

営業と開発の関係

 営業が無理して取ってきた案件で、問題が発生している。あまりにも複雑で、顧客がやっかいな案件である。売り上げが目標達成していないと、えてして、こういうことになりがちである。とりあえず、案件確保できれば、あとは、開発の責任だからだ。本当は、営業というのは、会社の過去なのだから、最後まで責任を取る必要があるのだが、そうはなっていない。

全ての悪は要求仕様書から生まれる:確かに!

 イチから全部作ってみよう(3)MINORIに学べ、全ての悪は要求仕様書から生まれるという題名に、思わず苦笑した。「全ての悪は要求仕様書から生まれる」というのは、本当にその通りである。そもそも要求を書き下すのは、難しい。特に業界の常識とかがあると、その部分は、省略されがちで、それが、あとあと問題になることも多い。
 さらに、実際に開発フェーズに入らないと、要求仕様のどこに抜けがあるかがわからないことが多い。このことが、開発上、いろんな問題を発生する。

社会インフラのITシステムのすごさ

 すべてのフェーズでミスが重なった ―全銀ネットとNTTデータ⁠⁠、全銀システム通信障害の詳細を説明という記事は読みごたえがあった。まず、驚いたのは、試験の厳重さである。さすがに、社会のインフラだけあって、ここまで試験しているのか、ということに驚いた。私が経験してきた開発では、こんな厳重な試験はやったことがない。
 そして、これだけの試験をしても、問題は起きるということである。
 反省事項として、各フェーズで、とれたはずの対策についても、述べられていたが、理屈としてはその通りだが、これだけのことを、現場でやり通すのは、大変だなあ、というのが実感だ。同じ「開発」という言葉を使っていても、その実態の違いを実感した記事だった。

実際にモノをさわらせるトヨタの技術者教育のすごみ

 エンジン音から故障部品を見抜け、トヨタ入社1年目の課題を読んで、トヨタの技術者教育のすごみを感じた。エンジンが故障している車両と、正常な車両を用意して、新人技術者に、その故障箇所を特定させるという研修をやっているのである。実際にモノをさわり、観察し、原理原則を考え、自分でやってみる。技術者にとって、最も重要な部分である。ここまでの技術者教育をやっている会社はそれほど多くないと思う。新人時代に、こういう教育を受けることが、どれだけ技術者にとって重要かを考えると、もっともっと、新人教育のやり方を工夫すべきだと思うとともに、どんな技術者に育ってほしいかの現場の考えも重要なのだろうと痛感した。

営業と技術開発との力関係

 技術部門は安請け合いするな、営業からの無理筋の依頼は断るべしは、同感する人が多いだろう。社内で、営業の声が一番大きいという会社は多いだろう。技術開発部門は、いつも営業に押し切られ、何か後追いの仕事をする。一方で、技術開発部門として、新しい技術を開発しても、こんなもの、どうやって売るんだといって、否定される。
 きっちりと対等の関係を結ぶべきだろう。