今度連絡しますから20(改版1)

<Quality Assurance (QA)>
もう明日は金曜日。一週間があっという間に過ぎようとしていた。大雑把でしかないにしてもマーケティングの全体もわかったし、マーコムもテクニカルライティングもわかった。後はQuality Assurance(QA)の話を聞いて、ソフトウェアエンジニアリングに顔をだすだけだ。

朝は早いが帰りも早い。ただ、そんなに早くモーテルに帰ってきても何もない。することといえば、早々にシャワーを浴びて、隣のダイナーで飽きもせずにヴィール・カツレット・パーミジャを食べるだけだった。毎晩、ベッドにころがって、どうでもいいテレビを見ながら、その日に聞いたこととそれまでに聞いたことを反芻していた。

整理していると、どうしても日本に帰ってどうするかというぬかるみに入り込む。どの話も驚きはするが、普通に考えれば、それしかないというやり方で、しなければならないことをしているだけでしかない。何をしても完璧はないにしても、事業部の組織も業務もかなりの完成度でできあがっている。ただそれを生かせるのはアメリカだけで、日本は支社を開いて十年近くになるはずなのに、都市計画というような考えもなく、荒地にスラムがいくつかあるだけにしかみえない。
アメリカのやり方のうちで持ち込めるものは持ち込んで、日本にあわせてローカライズするしかないが、それをする考えがあるようにもみえない。そもそも考えがどうのという前に、市場と対峙していくマーケティングの文化、それはもう文化といっていいと思う、に理解があるようには思えない。理解があれば、スラムにはならない。日本のことを考えれば考えるほど、どうしたものかと堂々巡りになってしまう。気分転換にダイナーに行ってアイスクリームとコーヒーにしても、日本のことが気になってとまらない。

ジョンソンに連れられて、Quality Assuranceのディレクターの部屋にいった。イェーガーという大柄の人だった。アメリカ人にはよくいるタイプで、育ちすぎたガタイに高音だけのキンキン声がマッチしない。ソフトウェアのバグとりを人手による作業からコンピュータのソフトウェアに置き換えるアルゴリズムの開発をしてきた人だった。こんな人まで抱えているのかと驚いたが、数ヶ月前にロッキードから来た人で、予算に限りのあるFA業界の実情がわかっているようにはみえなかった。
アルゴリズムの背景にある考え方を聞かされた。あまりに高尚なとでもいうのか学術的な話で、ジョンソンも話しについていけない。高等数学を駆使したアルゴリズム、すごいものなのだろうが、猫に小判以下で、相槌の打ちようもなかった。小一時間も理解し得ない話を聞かされて、イェーガーもさすがに気がついたのだろう、クレーマーという担当者の部屋に連れて行かれた。

クレーマー、四十は越えていると思うが、昨日のフリンと似たような格好で風采の上がらない、相撲取りのような腹をしたオヤジさんだった。腹がじゃまで自分のベルトの穴なんか見えっこない。年とってヒゲをはやしたプーさんのようだった。典型的な人のよさそうなアメリカ人に見えた。
挨拶もそこそこに、思い出したように、
「そうだ、マーク、確か午後はエンジニアリングに行くって言ってたよな。オレ、今日は二時からウォークスルー(Walk-through)なんだ。ちょうどいいから、フジサワも連れていけばと思うんだけど、どうかな」
「そりゃ、いい。そうしてもらえれば、ありがたいエンジニアリングには顔みせだから、行けばいいだけで大して時間はかからない。今週はQAで終わりだ。三時前にはウォークスルーに合流するから」
そう言って、いつものようにジョンソンが出て行った。ウォークスルー、話には聞いているが、どんなものなのかわからない。打ち合わせみたいなものだろうし、そんなもの行ってみりゃ嫌でも分かる。

ジョンソンが出て行って、やっとQAの話になった。
「どこから始めるかな、ウォークスルーは後でいいや。まず、QAからだ。あぁ、そうだ。その前にオレのベースボールカード、どうだ?」
と言いながら、机の引き出しを開けて、奥からよれよれの封筒を取り出した。
「アルファプロジェクトで東京と刈谷に三回行ったけど、イメージしていた日本じゃなかったな。アメリカナイズされたということなんだろうけど、どこもここもアメリカっぽくて驚くようなこともない。ところが、どこに行っても日本語がわからないから、幼稚園児程度の知能になっちゃって、初めての経験だったな。駅名とか英語で書いてあるのを見るとほっとした。フランス語なんかわかりゃしないのに、アルファベットというだけで、なんかわかったような気になっちゃう。おかしいよな」
ぶつぶつ言いながら、封筒から「ベースボールカード」なるものを取りだした。手渡されて、何かと思ってみてみれば、よく公衆電話においてあったホテトルの名刺ほどの大きさのチラシの束だった。東京と刈谷に三回はいいが、そのたびに公衆電話を回って、集めてきたのだろう。書いてあることを翻訳しろなんて言われかねない。チラッとみて返した。もうちょっとちゃんと見たらという顔をしながら、大事そうに封筒にしまっていた。

男同士、飲みに行くのも、どこかで一緒にちょっと悪さをするのも仲間同士になって、うちとけるには欠かせない。緊張をといて仲間同士と気を使ってくれたのはありがたいが、それにしても、クリーブランドでいい年したオヤジから「ベースボールカード」。 こんど出張に来るときには土産に持ってこいということなのかもしれない。
ベースボールカードは、名刺よりちょっと大きめな厚紙に大リーグのスター選手の写真を印刷したもので、一時代前に男の子が集めていた。映画スターのブロマイドのようなものと思えばいい。

「製品が出来上がってくる時点でQAの実作業を始めるけど、オレたちは製品の開発段階からプロジェクトに参加している。それはテクニカルライターと同じだ」
「ちょっと想像すれば分かるだろうけど、『できました、さあQAだ』と言われて、はい、じゃ始めますかって、できることじゃない」
「言ってること分かるかな?」
「ベースボールカード」なら見ればわかるが、分かるかなと訊かれても、何が分かるかなのかが分からない。どう返事すればいいものやらと思っていたら、
「技術資料の翻訳をやってたんだろう。テクニカルライターの仕事をイメージすればいい」
そう言われてもピンとこない。それをみて、ちょっと偉そうに、
「はい、できました。これQAねってわけにゃいかない。見たことも聞いたこともないものをポンと渡されてってんじゃ仕事にならない」

「オレたちQAは社長直結の部隊で、営業がどうしようが、事業部のトップが何を言おうが、問題がある製品の出荷はさせない。安直に、これでいいやって出荷してもし事故にでもなったら、会社として大事(おおごと)になるし、オレたちの責任になる」
日立精機の品質保証の人たちにも似たようなところがあった。物は設計もしてないし作ってもない。設計や製造からは、何もしないくせに、出来上がった物に、ああだのこうだのケチばかりつけて煩いヤツらだと思われていた。ところが社として製品の機能や性能に間違いがないと確認する立場にいるだけに、一言では言えないほどの自負がある。その自負に見合った評価を同僚連中からはもらえない。自負と評価のねじれが、穏やかな人だったにしても言動のねじれになって出てくる。

「物としての製品とユーザーズ・マニュアルが揃った時点でQAの実作業を始めるけど、ウォークスルーには早い段階からオブザーバとして出席している」
「そうか、オゥークスルーを説明しなきゃならないな、でも、そんなものは開発作業のなかの、こういうやり方もあるというだけの一プロセスでしかない。QAが先だ」
「QA、何も特別な作業じゃない。ユーザーズ・マニュアルを、もしかしたらこういう風に読む人もいるんじゃないかという気持ちで、愚直に読んで製品を操作していく。PDRを基に書かれたユーザーズ・マニュアルの通りに操作したら、PDRを基に開発された製品なんだから、マニュアルに書かれた通りの動きをするはずだろう。ところがそうはならないことがある」
こんなことを言ってもわからないだろうな、という顔をしながら、
「なぜそんなことが起きるのか。ほとんどの場合、マーケティングのPRDが分かりにくいからだ。なんで分かりにくいか。一つの機能に関して、要求仕様の訂正やら変更やらもあってのことなんだけど、マーケティングがいくつものPDRを出していることが、ごちゃごちゃの原因だ」

「前に出したPDRのこの部分まではいいけど、こことここはこういうふうに変更してくれなんてPDRを出してくる。あげくのはてに、その後で、この部分まではいいといった機能のこの部分はこうして、こことこことの変更は、こうしてああしてだのというPDRを出してくるヤツがいる。受け取る方はたまったもんじゃない。もう先に言われた機能のタスクの開発は終わっているとこともあるし、マーケティングにしてみれば一つの変更のつもりなんだろうけど、マルチタスクのモジュールのあれとこれとそれと、あちこちのモジュールに変更がでてくる。その変更が思わぬモジュールの変更を引き起こすこともある。それをソフトウェアのエンジニア連中は神経をすり減らしながら実現しようと四苦八苦する。変更忘れもでれば、変更の変更までは手が回らなかったなんてことも起きる」

マーケティングのだらしのない仕事に振り回されてきた鬱憤を吐き出すような言い方だった。風采の上がらない窓際族のような風貌からは想像できない。いつもは平熱とでもいうのか穏やかなのに、筋は通さなきゃという職人気質の人のようだった。言うだけ言って、一呼吸おいてから、どことなくあきらめのような穏やかな口ぶりで、
「それはテクニカルライターにしても同じことがいえる。それだけじゃなくて、ソフトウェアとマニュアルが同期して、そう同期してという言葉があってると思うけど、マーケティングの変更にソフトウェアとマニュアルが同期して変更できているということの方が少ない」
「それで、マニュアルを普通に読んで製品を使うと、マニュアル通りには動かないことがある」

「ここで問題がある。製品として実現されている動きが、マーケティングが最終的にPDFで要求したものなのか、それともマニュアルに書かれていることが要求したものなのか。それともどっちも要求されているものとは違うのか。何を作ろうとしてきたのかということなんだけど、何が違うのかをチェックしなきゃならない。チェックするのはマーケティングで、マーケティングから正式にエンジニアリング部隊とテクニカルライティングにこうしてくれいう要請がでてこないかぎり、エンジニアリングもテクニカルライティングも一存では訂正も変更もしない。勝手にしたらよけいごちゃごちゃになる」

「こんなことが一つや二つならいいけど、それこそ何十とでてくることもある。いったいマーケティングは何をしていたのかという話しになる」
「後で説明するけど、エンジニアリングがマーケティングにFunctional Specを出す。ここまではベンヤか誰かに聞いてきたろう。マーケティングはFunctional Specをチェックして、これでいいと思えばサインして了承する。エンジニアリングはマーケティングが了承した機能を開発するだけで、その機能が使い物になるかどうかの責任はとらない。あくまでもマーケティングが要望して了承した機能だということだ」
「了承といっても、一つのPDRにいくつものFunctional Specがでてくる。そりゃそうだ。マルチタスクで動いているから。フィードバック信号の処理もあれば、指令値を解析して実行できるデータに編集するセットアップタスクもある。工具補正値を実行できるデータに編集してセットアップタスクに渡すモジュールもあるし、オペレータインタフェースを管理するタスクもある。全体を統括するマスタータスクもある。でだ、PDRに書かれている機能に関係するタスクを開発するソフトウェアエンジニア、関係するタスクの担当者全員だから、ちょっとしたタスクでも五人や六人になる。その五、六人とマーケティングの担当者が集まって、個々のFunctional Specの内容を確認する会議がある。これがウォークスルーってやつだ。そこにはテクニカルライターもQAの担当者も同席している」

「このやり方が一番いいとは言わないけど、ほかにどんなやり方があるのかわからない」
「ちょっと想像してみればいい。物として製品はできました。で、じゃマーケティングかソフトウェアエンジニアの誰からマニュアルを書きましょうかってんじゃ、物の開発が終わってから、半年あるいは一年も待たなければマニュアルがないってことになる」
「開発した製品は一日も早く市場に投入して、開発にかけた費用を回収して、次の開発に充当しなきゃならいだろう。物ができてからマニュアルなんて悠長なことは言ってられない。物ができたときにはマニュアルもできてなきゃならない」
「でなきゃ、QAができないだろうが」
「ここまではいいかな」

「オレたちQA部隊は物としての製品とマニュアルができてくるまで、ただウォークスルーに出席しているわけじゃない」
「ソフトウェアエンジニアは自分が担当しているタスクのFunctional Specを提出してくるけど、それだけじゃない。そのタスクのテスト仕様というのか、こういう環境でこういう手順で開発したタスクのテストをするというTest Specも合わせてだしてくる。Test SpecはマーケティングがFunctional Specを承認するまでFunctional Specと一緒に更新される」
「オレたちは、DPRとFunctional SpecにTest Specを参照して、俺たちのQAプロセス、何をどうチェックしくかという作業手順を作成していく」
「ここまでは物としての製品とマニュアルの関係のチェックで、まあ物とマニュアルの比較だし、Test Specという指針もあるから、言ってみれば簡単なところだ」
「ここまではいいかな」

「これから先はちょっと面倒というか、これといった規定があるようでないような、どこまで何をということなんだけど、それこそ社としてQA部隊として培ってきた経験と能力しだいということなんなだけど」
「ソフトウェアの開発で面倒なのはエラーハンドリングだ。マーケティングがPDRに書いてくるような、こうしてこうして、ああしてなんては、表のというか命令をそのままちゃんと実行するというとろころまでで、もし、万が一にだ、こんな条件のもとでこんな指令をしたら、どうなんだというのが書かれていることはほとんどない。普通に考えれば、そんな馬鹿な指令をすることもないってことなんだけど、もしその馬鹿な指令をしてしまったら、事故じゃ困る。どんなにありえない、馬鹿な指令を受けても、安全サイドに処理するようにソフトウェアができてなきゃいけない」

「たとえばだ、馬鹿な上司が二人後ろの座席に座っていて、交差点にさしかかったとき、一人は右折しろって、もう一人が左折しろって言ってきたら、運転手はどうする」
「二人のうちの偉いほうの指示に従うのか、それとも路肩に車を止めて、どっちにするか決めてくださいというのか、面倒くさいから先に言った方を優先するのか、それとも後に言った方が最新の指令ということで従うのか。事故につながりかねない機能や命令ではこの類の処理がどう作られているのかをチェックする。それはDRPにもFunctional Specにも、Test Specにも書いてない」
「それでだ、テストした結果、このままでは危険じゃないかということで、QAとしては機能の変更を要求することになる」
「なんでもそうだろうけど、こうすればこうなるってのは簡単だ。もし、ああしたらどうなるってのまで考える人は驚くほどすくない」

「昼、どうする。デニーズでも行くか」
「もう十二時を回ってるし、今でていけば、二時前に帰ってこれる。どうする?さっさと行ってくるか」
クレーマーの車でいったが、アメリカにもこんな車があったんだという代物だった。シェボレーの確かシベッタという車種だったが、小さい車体以上にエンジンが小さい。サイドブレーキをはずし忘れているんじゃないかというほど、うんうんいうだけで加速しない。あまりのトロトロ運転に周りに迷惑をかけているのではないかと気になったが、運転してるクレーマーは我が道を行くという感じで何を気にするふうでもない。誰になにを言われようがという、まるでQAのありようそのものだった。

クレーマーの部屋に戻って、ノートを手に二階に上がっていった。ホックというマネージャに挨拶して、一緒にウォークスルーの会議室に入った。アーティムがいた。ホックもいれてエンジニアは六人。テクニカルライティングからはラピーニが来ていた。ホックが議長役をして、それぞれのエンジニアのFunctional Specの読み合わせのような会議だった。誰でも、それ何? あるいはそれはこうなんだよなという確認したいことがあれば、訊いていく。一番質問していたのはアーティムだった。ソフトウェアエンジニア同士は、よほどのことでもなければ、ちょっと確認するだけですんでしまうのだろう。

何もでなくなったところで、担当者がFunctional Specの変更点をリストアップして終わる。いよいよという感じで、以前のウォークスルーで確認したことを反映したFunctional Specをもって、別の担当者が変更点を再確認して、これでいいよなという感じで、アーティムにサインを求めた。サインをもらえれば、後はソフトウェアエンジニアがコーディングを始める――開発が始まる。
Functional Specを出すエンジニアは三人、他の三人は自分のタスクに関係するということで出席していた。クレーマーもラピーニもオブザーバのように話を聞いているだけだった。ソフトウェアの処理の中身の話でソフトウェアエンジニアでなければついていけない。ウォークスルー、体験はしましたけどというものでしかなかった。あまりに知識がなさ過ぎる。

クレーマーの部屋に帰ってきて話の続きになった。
「ウォークスルー、何をいっているのか分からなかったろう。エンジニア以外は、みんなそんなもんだ。ただマーケティングはとんでもないものがでてきちゃ困るから、Functional Specの分からないところは訊いて訊いてということになる。アーティムが煩く訊いていたろう」
「QAは開発のかなり初めの段階からプロジェクトに参加している。そうでもしなきゃ、QAができない。午前中、話したよな」

「ここでひとつ痛し痒しの問題がある。ウォークスルーまで出てるから、QAはどんな製品なのか知りすぎている。マニュアルなんかいちいち読まなくたって製品を使える。ちょっと間違ったところで、確かこうだったよなってんで使えちゃう。知らなきゃQAできないけど、知りすぎてちゃQAにならない。そうだろう、マニュアルの記述が怪しいかも、こうも読めるかもしれないという姿勢を保てないとでもいうのかな。分かっちゃうのが問題になる。それでだ、CNC機械を使っている、まあ、そこらの会社のオペレータをアルバイトで雇ってきて、マニュアルを愚直に読みながら使ってもらう。当然オレたちと一緒に作業してもらうんだけど、一般的な知識は十分あって、うちの新製品ことは知らないって人がいなけりゃQAができない」

「具体的にどんな作業をして、どうなったって記録もほしいから、ビデオカメラを何台か設置しての作業になる。ちょっとした機能の確認でも結構な手間をくう。CNCのようなフルスケールの新製品のQAには半年以上かかる。バージョンアップでも最低三ヶ月、ソフトウェアの修正やなんやらでごちゃごちゃすると半年はかかる」

四時も回って、エンジニアリングへの挨拶はどうするんだと思っていたところにジョンソンが帰ってきた。クレーマーと話して、QAを切り上げた。エンジニアリングの挨拶に二階に上がっていった。もう金曜日の四時すぎ、ほとんど人が残っていない。アジェノビッチとヒルズにホック、マネージャに自己紹介して終わった。

ジョンソンはこれからピッツバーグの実家に帰らなきゃ、と五時前に慌てるように出て行った。英語の生活もやっと終わった。最終日だしと、「赤い花」という日本レストランにいった。なんでこんな田舎町にこんな気の利いたレストランがと驚いた。基本はすし屋だが和食だけでなく焼き鳥まであった。
一見日本からの出張者、出張旅費もあるだろうし、一人でもケチな食べ方にはならない、と踏んだのだろう、混んでるにもかかわらずいい席に案内された。ケチな食べ方にならないまではあってるが、酒がなければ、一人でいくら食ってもしれている。申し訳ないから、チップをちょっと多めにおいてでてきた。

日立精機のときは、客先で事故を起こして救急車で病院に担ぎ込まれて、クリーブランドにはろくな思い出しかない。田舎町でのんびりしていて、ごちゃごちゃしたあぶなっかしいマンハッタンのような緊張感はない。もう三十も半ばをすぎて、マンハッタンという年でもなし、クリーブランド、仕事にはなるし住むにはいいことろかもしれない。いっそのこと事業部に身を売るかなんてことまで考えてしまった。そんな可能性ありっこないと思っていたのに一年後にはクリーブランドで仕事をしていた。
2019/3/24