長かった1週間半が終わろうとしています。久々にアドレナリンとドーパミンが大放出でした。
最初は先週の木曜だったかな。
私が今の仕事場をお手伝いするようになる前に、ある方に依頼して作ってもらった一種のリモコンみたいな装置があります。これは名古屋のある現場に設置されていて、とあるシステムの一部として動くものだそうです(私も今週になった初めて知った!)。そもそもはそのシステム系のソフト屋さんと打ち合わせで月曜日に名古屋へ出張という話でした。
仲介するブローカーさんから「今の仕様を出してくれ」って言われて、簡単な仕様書にまとめて送ったんですよ。これが先週の水曜日だったはず。そしたらね・・・
「仕様が違う!」という事でオオモメ。なんか客先が認識していた仕様と、今、実際に動いているコントロールの仕様が違うらしいのです。これって、冬の話だよなぁ。。。オイラが全く知らない話だ。。。
急きょ、この機器を作った人に土曜日に来てもらう手配をします。先方から「こうしてくれっ!」っていう仕様が出てきたのは土曜の午前3時。確認したのが土曜の朝で、10時から製作者の人にファームの修正に取り掛かってもらいます。
一応、ファームが出来て修正部分の動作確認もし、なんとかなりそうと思ったのが土曜の夜。
でもね、社長と一緒に事務所を出た後に「まてよ・・・」と思って引き返し、ある部分のチェックをしなくちゃならない事が分かったのですね。すると社長から「**の部分のチェックが・・・」とメール。同じ事を考えていたらしい!(笑)
確認するにもちょっと部品を買いに行かなくちゃならないので、翌日秋葉原に行く事にしました。
日曜日に部品を買ってきて、チャチャっと確認をして(今回の修正とは関係ないところだから)飲みに行こうと思っていたのです。ところが・・・動かない。今回、修正していないはずなのに。
回路図を見て、ソースプログラムを追いかける。他にもボロボロと危ないところが見つかる。これで良く現場で動いているなぁ。。。
基本的にはソースプログラムを全部書き直さなくちゃならない。運良く動いているだけで障害発生時のリカバリーが何も考えられていない。アマチュアの日曜電子工作じゃないんだからさ・・・(しくしく)
とりあえず、ある部分手直しでなんとかしのごう!という目処が立ち、名古屋に行ってきましたよ。現地で実際に装置(見たのは2回目。触ったのは初めて)を開けてみましたよ。あぁ、ダメだ。基板から全部作り直さないと。。。一目で電気的にはボロボロなのが分かります。これじゃ、現場で動いているのは運だけだよ・・・やっぱり趣味の電子工作だったか・・・
それでもなんとか動作だけはさせましたよ。
でね、システム系のソフト屋さんから土曜日の朝に出てきた仕様書がおかしいので、深読みして作りこんでいた部分が大当たり。
仕様書をそのまま解釈してもシーケンスが合わない。確かにそのままでもシステム側との連携はできるのだけれど、意味が分からないコマンドとパラメータがある。仕様書のまま作っておけばとりあえず問題はないのだけれど、嫌な予感がしたのでシーケンスを予想して作りこんでおいたのです。
機器の動作確認が終わった後にシステム屋さんが「これじゃあ不十分だ!」と言いだした。自分が作った仕様書の原案でシーケンスが抜けている(のか、意識的に抜いたのか)らしい。大元の発注者さんも「仕様書に入れてなければあっち(私たちね)も作ってこないよ!」という話に。
「えっと、作ってきてあります。このコマンドをもらえれば、このコマンドのこのパラメータを返すようにしてあります」と私。へへ、当たりだね。システムのソフト屋さんが考えていたシーケンスそのまんま♪
(ちょっとだけだけれど)形勢逆転。「仕様と違う物を作ってきたとんでもない業者」から「キチンと理解して作ってきた業者」ですらね。システム屋さんのコーディングとデバッグが終わるまで無言のプレッシャーで!(笑)
次。
これも私が良く知らない機器。オリジナルのハード設計をした人がトンズラしたらしく、ソフト屋さんが試作機を持ちこんできて、社長がデッドコピーとして作った物らしい。
3月くらいに改造の依頼があって、動作チェックをやった事があるのですが、この時から初期化が怪しい動きをしていた。今から思い返せばここで指摘すれば良かったのだけどね。
部長(メカの人)が何度も修理を受け付けて、実装屋さんで手直ししても不具合で帰ってくる。おかしい。
で、上記のリモコン装置をデバッグしながら並行して解析したんですよ。
部長が不具合品のテストを必要以上に繰り返して傾向を掴む。社長が信号線を追いかける。どうもリセット信号がおかしいらしいという事までは分かった。
でも、回路図には信号名が記入されていないブラックボックス(とある会社のマイコンモジュールに仕様外の改造をして使っていた)なので、電気的な仕様が分からない。何度か依頼元のソフト屋さんとやり取りをしているうちに、昔の回路図がポロっと送られてきた。
分かった。これだ。やっぱりリセット信号の扱いがおかしい。
これはソフト的な話になるので、推測される原因を提示して、改善案もあわせて送る。
で、テストしてもらったら・・・Bingo!!ほほ。
「ハードがおかしい。ハード不良だ」という流れになっていたから、ソフト(ファーム)で抜けているところを指摘して解決。形勢逆転。ふふ。
もうひとつ。
ある機器のバージョンアップをやっています。法律が改正になって、一部改良しなくちゃならない。
で、必要なハードウェアの変更とファームの変更は5月中に終わって、先方に提出してあったんです。でも手つかずだったらしい。
先週、認証機関の打ち合わせに同席して、「急いで準備する」っていう事になりましたよ。でも、私たちの仕事は終わっていて、先方の評価待ち。
でた、バグ。
致命傷じゃないけれど、認証機関のチェックではマズイやつ。
この連絡が入ったのが月曜の名古屋出張中。えっと・・・評価は先週の半ばからじゃなかったっけ??今頃??(しくしく)
名古屋の仕事を片付けたあとに錦3丁目に行きたかったけれど、名駅でビールだけ飲んで急いで戻ります。
この機器のファームはさっきとは別のプログラマーさんが作ってくれていて、本業があるのに駆けつけてくれました。(ここで新幹線にオシロを置き忘れるという事に・・・)
ファームの修正を5時までかかって対応し、私はそのまま残ってチェック。同時に別件でソフト屋さんから依頼のあったデバッグボードの組み立ても(笑)
先方のかなぁ?り上の方から「いつできる!?」って問い合わせが入りますよ。問い合わせが入る事にはファームの修正が終わっていた火曜の朝。形勢逆転、今度は心理的に「テストまだですか?もう修正するところはないですか?」な訳です(笑)
そりゃ、バグがあったのは申し訳ない事だから当然全力でリカバーをしますけれど、相手の動きより速く動けば形勢は逆転できる訳です(笑)
先週水曜からリモコン装置が始まって、月曜の夜まで。
次のソフトの不具合だったのが木曜に始まって火曜の夜まで。
最後のバグ修正が木曜に始まって(他にもあったんだ。先方の勘違いとか)、昨日の木曜日まで。
久しぶりに不具合対応を同時に3件、それもギリギリのスケジュールの中で乗り切りました。
部長に社長,技術統括に客先のエンジニアの皆さんからは「まだやれるのか!?いい加減に休んでくれ!」と言われましたけれど、このポジションが私の仕事。そりゃ、やりますよ。振り切らないとね。
ただね、若い頃と違って身体へのダメージも大きいですが!(笑)