PMあるある(システムテストで重大バグ検出!)
作成日:2020/06/12

PMあるある(システムテストで重大バグ検出!)
このコラムはプロジェクトマネジャー(以下PM)の日常を紹介します。
「あーっ、それってあるよね。」「もっとこうしたらいいのに。」「同じような悩みだなぁ。」などPMあるあるを息抜きがてら楽しんでください。
本コラムで登場するプロジェクト(以下PJ)は実在のものですが、固有名詞は仮名です。
また数値も一部変更していますのでご了承ください。
PJ概要
- 受注額:2000万円
- 期間:7カ月
- メンバー:3~5名でBP(ビジネスパートナー)の協力も得て開発しています。
- 内容:プロジェクト管理システムの開発です。具体的には受注情報、コスト実績の記録と予算対比、最終収支予定を記録参照するシステムです。
- 主な要素技術:C#、SQLサーバー、Web
- ユーザー数:300名
プロジェクトメンバーの紹介
- PM(相沢):業務管理アプリケーションの開発リーダーを経て今期からPM職に従事。PMとして初めての案件は既存顧客へアプリケーション機能追加。見積もりから検収まで顧客とメンバーをリードし問題なく完了。2件目で同様の業務アプリ導入を新規顧客に構築中。北海道出身44歳男性。
- プロジェクトリーダー/PL(香川):入社以来一貫して業務系アプリケーション開発に従事。東京出身37歳女性。
今回の顧客は電子楽器製造販売です。
特注品が多く複雑な管理が要求されています。
業務管理の仕組みに苦慮し、当社へアプリケーション構築を依頼しています。
プロジェクトも終盤のある日のことです。

PM(相沢)
予定だとシステムテストが半分終わったよね。ここまでの状況はどう?

PL(香川)
それが実はきょう重大なバグが2件出てきました。BP徐さんと解析を進めてやっとあたりを付けたところです。案件種別を判定する条件を徐さんが一部誤解していました。そのうえコーディング自体もミスっている感じです。

PM(相沢)
えっ、マジか~。まずはよく見つけてくれてありがとう。リリース後だと大問題だったよ。原因が絞り込めているのは良いが、リリースまであと3週間だ。で、修正作業はどのくらいになりそうかな?

PL(香川)
今日中に原因を特定し修正方法を確定します。終電までにできるでしょう。原因が想定通りだとすると修正作業は私と徐さんでザっと1日程度かなぁ。そこからテストです。

PM(相沢)
わかった。それにしても案件種別判断でバグとは。アプリの根幹だよね。これまでのテストケースで見つからなかったのが不思議だね。まぁその理由は後回しだ。修正作業が2人日となるとけっこうなボリュームでデグレードの発生予防に注意しないと。

PL(香川)
えぇ、なにより根幹の仕様理解に間違いがあることが問題です。結合テストで検出できなかったのでシナリオ設計も甘かったですね。テストは結合から全部やり直したいところです。

PM(相沢)
いやこの場合は同じシナリオを繰り返しても意味がないよ。

PL(香川)
う~む。そうですけど、私がこれまで徐さんが仕様を誤解していたことをチェックできなかった事実から同じ問題が他に潜んでいる可能性が否定できないのです。

PM(相沢)
そうだよ。だからこそコーディングのミスよりロジック設計チェックが先だ。

PL(香川)
まぁ、確かにそうですね。

PM(相沢)
それじゃまず作業と順番を整理しよう。
① 不具合の原因を特定する。(徐)
② コード修正箇所を特定する。(徐)
③ 原因と修正箇所をチェックする。(香/徐)
④ 基本設計書の各種定義の仕様を再確認する。(相/香)
⑤ 詳細設計書を適宜改定する。(徐)
⑥ 詳細設計書の更新部分チェック(香)
⑦ テストシナリオ作成する。(徐)
⑧ シナリオチェックする。(香/相)
⑨ 修正作業工数とテスト工数を見積もる。(香)
⑩ 作業スケジュールを更新する。(相)
⑪ 修正作業する(徐/香)
⑫ テストする。(徐/香/相)

PM(相沢)
テストは私もテスターで参加する。テストマネジャーは香川さんだ。

PL(香川)
はい。あぁ~定時帰宅は無理ね。実家の母に子供のお迎えをお願いしなきゃ。徹夜しても全部は無理ですよ。本日どこまでやりましょうか?

PM(相沢)
きょうのゴールは④まで。
それまでをあす定期進捗(しんちょく)会議でリカバリーアクションを報告する。
①、②を徐さんが作業している間に平行して私と香川さんで④だ。
④は文書のボリュームから4時間くらいで21時までかかるだろう。
もし①、②より長くなったら香川さんは④の途中でも徐さんの作業が終わり次第③に入ってくれ。
で、③が終わり次第④再開だ。
そうなった場合私は報告用資料作成にかかるよ。

PL(香川)
了解。じゃあ徐さん呼んできます。3人で作業の意識を合わせましょう。

PM(相沢)
うん頼む。食堂に集合。そばでも食べながらミーティングだ。終電は逃さず帰宅するぞ。
後日談。
予定通りリリース済み。 工数増加分は香川さん徐さんの残業と社内からのリソース調達でカバーできました。 コスト増加はリスク取り崩しで予定した利益を確保できました。 そしてリリース後の重大障害なく稼働中です。結果的にうまく対処できたケースでした。
PJではさまざまな課題が発生します。 取り巻く条件がさまざまあるため、その解決方法に正解はありません。 皆さまならどんなアクションを取ったでしょうか。 プロジェクトにおける優先事項を冷静に見極めて対応することでプロジェクトマネジャーの仕事がすすめられた事例でした。 また次回もプロジェクトのさまざまなあるある場面を紹介します。