私は出会いの運に恵まれているなぁ、とつくづく思う。今テストエンジニアとしてこうしてお仕事をさせてもらっているのも、奇跡のような出会いに導かれたからこそ。今日は「どうしてそうなった?」の原点を思い出せる限り書き出してみたい。
1.暗黒の時代
それはもうかれこれ10年以上も前にさかのぼる。当時、私はこの仕事をやり始めたばかりで、何も知らないちゃらんぽらんな『小僧』でした。今、当時を思い返すと本当に恥ずかしいことばかりで、今から飛んでいって叱りつけたいくらい。当然この仕事に対する思い入れも全く無くて、ただ会社に行ってお給料をもらうだけの日々。
2.転機の予感
ある時、直属の上司(Fさん)の伝手で開発設計部門のシステムアーキテクト(Oさん)とご一緒する機会をいただくことになった。なんでも「ソフトウェアテストに関するワーキンググループ(WG)を部門横断で立ち上げるからあなた(私)も参加しないか」とのこと。WGの内容は正直良く分からなかったけど面白そうだったので二つ返事で参加を決めた。
3.敗北の日々
WGではOさんやFさんを中心に品質やテストについての活発な意見が交わされていた(と思う)。「と思う」と書いたのは実際のところ私はその意見交換の輪に入っていけなかったから。何せテストのことなんて真剣に考えたこともなければ仕事に対する気持ちもふんわり気味の私。猛者たちの中に入って自分の意見を言うなんて到底できるレベルじゃなかった。次第にある種の疎外感も感じつつ「私はこの場にいて良いのだろうか」と思い悩むようになった。
4.転機の到来
そんなある日、Fさんの計らいでOさんから個別にレクチャーを受けることになった。今から思えばWGで元気のない私に、Fさんが気を利かせて場をセッティングしてくれたんだと思う。お題は「データフローダイヤグラム(DFD)」。なにそれ。おいしいの?恥ずかしいかな本当に何も知らなかった。
レクチャーの当日、Oさんは席に座ると、その時に私が携わっていたシステムの仕様について質問し始めた。たどたどしい口調でその質問に答えていく私。
するとOさんはおもむろにA4用紙を1枚取り出して鉛筆で絵を書き始めた。それが私とDFDとの初めての出会い。私の言葉があれよあれよと言う間にひとつの図になっていく魔法のような15分間。私が一通り説明しきるとA4用紙は見事にシステム仕様を表す仕様書になっていた。
Oさんは更に「ここの部分の仕様は変更リスクが高そう」とか「この処理のテストはタイミングに注意した方が良い」とか図を使って細かく解説してくれた。今日、初めてその仕様を知った人の意見とは到底思えなかった。最後にOさんはDFDの書き方を簡単に説明してくれて、「構造化分析とシステム仕様」という書籍を紹介してくれた。
5.エウレカ!
目の前に座っていたのはまさしく『本物のエンジニア』だった。
最後にOさんは私のことを諭すようにこう話してくれた。
「テストの仕事は対象の破壊を試みるネガティブな行為に思えるかもしれない」
「だけど本当のテストはもっと生産的でクリエイティブな仕事だと思うよ」
そう。たった15分間で生み出された手書きのDFDが、いかにクリエイティブな仕事なのかを証明していた。この出来事を機に私はOさんのようなエンジニアになりたいと強く思うようになった。ソフトウェアテストのことをもっと知りたいと思うようになり技術書も読むようになった。そして自分の仕事に対して恥ずかしいと思うようなことはしなくなった。
その後もOさんからは時々声をかけてもらう機会があって、社内のテスト講習会で使う教本作成を手伝わせてもらったりした。技術も無ければ心も未熟だった私を本当に良く気にかけていただいて、OさんとFさんのおかげで今の私がいる。ただ「構造化分析とシステム仕様」は正直、当時の私には難し過ぎて途中で読むのを諦めてしまったけど・・・。あれから10数年、あの日にOさんが描いてくれた手書きのDFDは今も大切に保管してある。時々くじけそうになると取り出しては、あの時の感動がよみがえり元気をもらっている。
6.感動の伝承
私は今年2016年に入って所属組織の若手にDFDなどのモデリング手法を伝えるワークショップを始めた。参加者は4~6人程度の小さな小さなワークショップ。月1回で約90分の僅かな時間だけど、みんなでモデリング漬けになってあーでもないこーでもないとワイワイやっている。
ソフトウェアテストにモデリングを活用する上で一番難しいのは、基本的に全てリバースエンジニアリングだってことだと思う。他人が作ったものを理解して絵にすることは、自分が作るものを絵にすることに比べて遥かに難しい。エンジニアとしての技術レベルが問われる。
それに現場の事情がいろいろあってワークショップ参加者の技術レベルはそれなりに低い。大変失礼な話だけれど、初回のワークショップであまりのレベルの低さに愕然としてしまった。でもそれは以前の私の姿とも重なった。(あ、でもみんな仕事に対してすごく真面目だから、私と比べるなんてそもそも失礼な話だった。。。)とにかく技術に触れる機会が少なすぎるのが今私達が抱えている問題の根本原因なので、それをなんとかしたかった。
10数年前のレクチャーでいただいた感動を、他の人に少しでも共有できたらという気持ち。私がOさんとFさんからいただいた想いの何分の一かでも伝えられたら良いなと思う。ありがたいことにワークショップの参加者はみんな楽しみながら学んでくれている。この中からきっと新しいモデリングの先生が誕生してくれるはず。希望を持とう。
7.余談
「構造化分析とシステム仕様」は当時からずっと職場の机の上に置いてある。現場が変わっても自分の原点としていつも一緒に連れていった(読んでもいないのに厚かましく勝手に原点扱い・・・)。私が生まれて初めて購入した技術書でもある。
実は今回ワークショップを始めるにあたってこの原点を読み返してみた。というか初めてちゃんと読んだ。見事にハマった。すごい。わかりやすい。読みやすい。新たな気付きもあった。当時どの辺が理解できなかったのかなんて全く覚えてないけど、今読んでみたらあっという間に読み切ってしまった。原書の初版は1978年で訳書の初版が1986年・・・。学習ペースが遅い。遅すぎる。。。
ひとまずこれを参考にしてDFDの使い方について簡単に説明する資料も作ってみた。ワークショップの参加者に配って読んでもらおうと思っている。このブログでも共有できたら良いな。
8.更に余談
「構造化分析とシステム仕様」が縁でトム・デマルコさんの著書はたくさん読んだ。「ピープルウェア」「デッドライン」「ゆとりの法則」「アドレナリンジャンキー」「熊とワルツを」。どれもみんなにお薦めしたい私のお気に入りです。