コンビニに晩酌のおつまみを買出しに行ったら、挑戦してみたかったスパークリング・カフェが並んでいたので、一緒に購入してみた。
どんなゲテモノかと思って飲んでみたら、割と悪くない。「ダイエットコーラ + コーヒー板ガム」みたいな味。かつてのカフェ・ラ・シャワーの様に、黒歴史として語り継がれるほどの逸品ではなさそう。砂糖や甘味料を使わずに、ブラックと炭酸だけでも、案外飲めるんじゃないかという気がした。
今日は、常々思っていたことを、酒を飲みながら書いてみる。きっと長くなるぞ。
アプリケーション開発の現場におけるプロジェクトのフェーズを、自分は概ね以下の様に分けて捉えている。
初期の見積り(“見積り”という行為の是非は置いておいて)が甘いと、設計や実装がどんどん遅れて来る。そして、どういう訳か「ちょっと進捗に遅れが出ているけど、テストの期間を短縮してリリースに間に合わせよう」となる。
個人的に、リリース時のアプリケーションの品質*1はテストフェーズにおいて、いかに良いテストを行ったかで決まると思っている。にも関わらず、開発の現場ではテストフェーズは軽視されているのが現状だ。
品質に直結するテストフェーズで多くの時間を割けない場合、特に重要なのはテストを統括するリーダの存在だ。テスタやデバッガ個々人の能力も重要という意見もあるだろうが、その個人を活かすも殺すも、テストフェーズを管理する人物次第である。
テストフェーズを管理するセンス、と表現して良いのか分からないが、優れた人がテスト管理をしてくれると、テストに参画する側としては凄く楽だ。自分の経験から列挙すると、
上記の様に効率良くテストが消化出来る。この辺の巧さがセンスに拠るものなのか、経験に拠るものなのか、はっきりとは断言は出来ない。しかし一つ確実なことは、テスト管理者の能力が低いと、取るに足らないバグでも情報が錯綜して、テストフェーズは終わりの見えない辛いものとなってしまうと云うことだ。オレは過去に優れたテスト管理者の人と組ませてもらったことがあって、テスタとしてもデバッガとしても、とても楽をさせてもらえたと思う。*2
残念なことに、有能なテスト管理者と一緒にプロジェクトに参加出来るかは、テストフェーズまで来て初めて分かるケースが多い。規模の大きなプロジェクトに下請けとして参加して、発注元が凄まじくヘボなテスト管理者をおいていたら、それはもう悲劇だ。自社では置き換えがきかない。
どうもアプリケーションを開発する業界(特に偉い人達)の間に、「テストなんて誰でも出来る」という安易な発想が蔓延している気がしてならない。
テストの品質は、成果物の品質だ。そのテストを管理する能力の優れた人は、高い評価を得るべきだし、そういった人をテスト管理者として積極的にプロジェクトに参加させるべきだ。しかし、困ったことにテストを管理する能力を測る物差しが存在しないのだ。「テクニカルエンジニア(テスト管理)」でも創設して、一定以上のテスト管理能力を有していることを認定する試験を実施してくれないだろうか。*3
ちょろっと調べてみたところ、近年になってJSTQBというテスト技術者の資格認定制度が始まったらしい。まだまだマイナーな制度のようだが、テストの重要性が広まることは歓迎すべきことだ。
が、オレとしてはテスト技術そのものよりも、テストフェーズ全体をマネジメントする能力を認定する試験が必要だと思っている。例えば、「現在テストフェーズはこういう状況で、目標とする品質までこれだけの差があります」と数字を出せる人がプロジェクトに居るだけで、全然違うと思うのだ。そこから人員を増やすかどうかの判断ってのはプロジェクトマネージャの仕事だ。「テストフェーズの進捗可視化と、ゴールの共有」、これを任せられる技術者と一緒に仕事をしたい。オレは自分の責任の範疇外で発生する残業が大嫌いなんだ。
最近のツッコミ
参号館 日記(ariyasacca)
私にコメントせよってことですよね?<br><br>テストチームリーダの仕事、能力とは<br>「いかに時間を確保するか」ではないでしょうか<br>元より余裕がある場合は、ほぼ無条件で良いリーダになれると思います。<br><br>開発の遅れでテストスタートが遅れても納期が同じという状況は<br>リーダの能力なんかではどうしようもないのです。<br>説得して伸ばせるような納期なら(製品の性質によると思いますが)<br>そこが腕の見せ所でしょうか?<br>管理については、バカでも時間さえあればどうとでもなりましょうよ。<br><br>商品販売の予定があって、開発期間の予定が合って<br>どこかが狂えばテストにしわ寄せが来るのです<br>これは上下関係ではなく、単純に順番のせい。<br>シャツを着てからでないと、ネクタイを締めることができないと同じ当たり前のこと。<br>そう、ケツの穴にツララを突っ込まれたらげっぷが出る、ってことぐらい当たり前のことじゃ
別に納期をどうこう出来る出来ない、でテスト管理の能力を論じているわけではないです。<br>バグ報告 -> 現象確認 -> 対処完了 -> 再テスト完了<br>この一連の流れを、いかに要員の負担を軽くしてテスト管理者だけで巧い事回せるか、です。<br>あと、私が言っているのはテストの機能単位で分割した個々のチームリーダではなくて、テスト工程を統括管理する役割の人のことです。これは多分、私の「リーダの存在」という表現が拙かったのかなと思っています。
テストは要件定義(金や人脈を得やすい)や設計開発(技術評価を得やすい)に比べて評価や付加価値を得にくい上に、ユーキさんのツッコミにもあるように前の方の工程に金も時間も食い潰された残りカスがまわってきやすい不遇な工程。特に大企業、大型プロジェクトになればなるほど、その傾向が強くなるように思えます。<br>頼りになるテスト管理者がいたとして、それがどんなに優秀なテスト管理者だとしても、人間社会である以上、ひたすら不味い物を黙々と食っている立ち回りが下手な奴、というレッテルを貼られるだけな気がします。そんなポジションの人材が育つわけがありません。<br>悲しいですが人生送りバントで伝説になるより、マスコミ煽って虚塵にFAした方が簡単に金が稼げるのですよね。
誰もやりたがらないポジションっちゅうことですね。よく分かります。<br>だから地位を高めようって話なんですけどね。
テストなんてやりたくないっちゅうねん。<br>マジで。
テストにも色々あるんですよ。