ソフトウェアQAに関わるエンジニアのキャリアを考えてみる。(1)

こんにちは。Ques事務局の宮本です。

ソフトウェア品質や、テストに関わるエンジニアのキャリアをどう描いていくか?これはソフトウェアQAに関わる方々にとって悩みではないでしょうか。

Quesではこの課題についても取り組み、ソフトウェアQAの活性化に繋がればと思います。

まず、当たり前ですが、ソフトウェアQAとは極論を言うと「ソフトウェア品質保証のスペシャリスト」となります。IT業界では一般的に、プログラマーから始まり、システムエンジニア、そしてPL、PMというのが従来の常識です。ITの複雑化とユーザーニーズの高度化が進む状況下で、IT業界では様々な専門性が必要となってきました。

ソフトウェア開発の舵取り役であるプロジェクトマネージャー。
ITを活用した業務改善やビジネス戦略などIT戦略を担うITコンサルタント。
ビジョンや戦略策定に基づき、ユーザーの要求やビジネス上の課題、システム化の制約などを考慮して、システム化を進めていく役割であるITアーキテクト。
各技術におけるスペシャリスト。
そしてソフトウェアの品質向上の専門家であるソフトウェアQA。

ではこのソフトウェアQAという専門職でどのようなキャリアを形成していくか?

ソフトウェアQAの入口。それは言わずとも知れたテスターです。

まず、テスターとして、あらゆるテスト実施に関わる。出来れば組込ソフトウェア、エンタープライズアプリケーション、ゲーム系、Android/iOSアプリなど様々なソフトウェアをテストするのが望ましいです。

ここでは、正しく、早く、項目通りにテストを実施し、結果を導き出す。ここで重要なのは、正確性とスピードです。(後やる気と根性w)

また、不具合の事象を分かり易く報告書に纏める能力が求められます。特に不具合の事象を分かり易く、適切な言葉で纏める事は非常に重要であり、ここが出来るようになると開発エンジニアから喜ばれます。(信頼度UP!)折角見つけた不具合。開発者が不具合報告書を見ても意味不明、どこを指しているのかわからないと感じられるとアウトです。

テスターを極めると、現場から重宝されるようになります。「あいつにテストやってもらうと必ずバグが見つかる」といったように。

次に、テストケースを作成出来るようになる事が求められてきます。仕様書ベースや要求に対して、どのようなテストをすれば、品質が担保できるか。対象物によって観点や粒度、優先度が変わるので、いろいろな対象物のテスト設計に挑戦しましょう。

ここで重要なポイントは、限られた時間と予算の中でテスト対象物によって変わってくる以下の3点をステークホルダーとしっかりと握る事です。

①    観点
②    粒度
③    プライオリティづけ

時間、予算が豊富でカバレッジ100%を目指すのであれば別ですが、多くの現場では、短納期で予算が少ない中テストをしていかないといけませんので、その中でテスト設計する場合は、観点、粒度、プライオリティをしっかりとステークホルダーと握って、現実に即したテスト設計をする事が望まれます。

次にテストリーダー。テスターを3~10名程度纏め上げながら納期までにテストプロジェクトを完結させる役割です。ローマ帝国で言う100人隊長。つまり現場の屋台骨です。

テストリーダーの力量でテストプロジェクトの暗雲が分かれます。アジャイル開発においては特にテストリーダーの役割が重要性を増しています。

テストリーダーになると、テストプロジェクト全体の進捗管理というのが生まれてきます。RedmineやJIRAを使って、不具合を管理したり、開発者をはじめ、関係者とやりとりしたり、ネゴシエーションしたり、外部協力会社をマネジメントしたりと自分の作業以外の関わりが求められてきます。

メンバー全員が気の知れた仲間であれば良いのですが、大概はプロジェクト毎に集められたメンバーでプロジェクトを遂行して行く事になります。

テストリーダーで最も重要なのはコミュニケーションだと思います。寄せ集めのメンバーを目標に向かって一丸とする。メンバーとコミュニケーションを図るテストリーダーほどテストプロジェクトが成功していると思います。

朝5分でも良いので、必ずメンバーと朝ミ(朝ミーティング)をする事を推奨します。朝ミを行い、メンバーが当日やる事、プロジェクトの進捗、課題を共有する。自分が思っている以上に人には伝わっていない事が多いので、朝ミを行い、意志疎通を図る。

トラブルの多くはコミュニケーション不足に起因していることが多い。ここを未然に防ぐために是非朝ミを推奨します。

テストリーダーが落としがちなのが「リスク管理」。

常にあらゆる事を想定して、リスク管理を十分に行いましょう。リスク一覧表を作成して、想定リスク、影響、影響度、発生確率、評価値(影響度×発生確率)、予防対策、発生時対応、トリガーポイントを纏めておくと、不測の事態に対応する事が出来ます。

リスク管理表例

実装遅れ、テスターの生産性が思ったよりも上がらない、仕変などなど、必ずプロジェクトにはいろいろな問題が発生します。慌てないためにもリスク管理表を作成して、冷静に対処する事をお勧めします。

コミュニケーションとリスク管理。この二つを意識してスーパーテストリーダーを目指していきましょう!

次回は、テストリーダーから分かれる二つのキャリアを考えていきたいと思います。
具体的には品質マネジメントの専門家であるQM(クオリティマネージャー)と品質エンジニアリングの専門家であるQAエンジニアについてです。