『認識のズレ』を修正する事でプロジェクトを成功させよう

:::note info
本記事は ZOZO Advent Calendar 2023 カレンダー Vol.6の15日目の記事です。
昨日の投稿は @TKazutaro さんの 「[WireMockのレスポンスマッピングファイルの書き方まとめ](https://qiita.com/TKazutaro/items/2477c82f369c6dcbfe36)」でした。
:::

# はじめに
私は今年の1月よりSREのチームリーダーとして業務を行っています。
弊チームでは2023年でも複数の新規マイクロサービスリリースプロジェクトor既存マイクロサービスの改修プロジェクトを並行して実行しており慌ただしい一年だったと感じています。年齢を重ねると時間が経つのが早く感じるは本当でした。

私のチームで新しいプロジェクトにアサインする際は主担当といって該当プロジェクトにてSRE領域のタスク整理や進捗管理する役割の人を一人決めます。
この主担当が技術的部分で悩んだ際やプロジェクト進行にて課題が発生した際にリーダーの私と相談して解決していくのですが、『プロジェクト進行にて発生した課題』は多種多様でありながらも根本的な原因が他プロジェクトで出た課題と同じと感じる事が多々有りました。

タスク整理や進捗管理する際のアンチパターンとなる部分もあるので、事象の紹介とその解決方法をご紹介できればと思います。

# なぜタスク整理や進捗管理にて課題が発生するのか
タスク整理や進捗管理にて問題発生する根本原因として大部分を占めるのは『認識のズレ』になります。
日々のコミュニケーションやお互いの『当たり前』のまで様々な箇所にて『認識のズレ』が発生する事で歪みが発生し、タスク整理や進捗管理にて問題が発生する場合が殆どになります。

また、各メンバーが事前に持っている情報に差があるため『認識のズレ』が発生するパターンもあります。
特に今までの業務経験からくる『認識のズレ』はお互いに気づかない事が多く、バックヤードが異なるメンバー同士でプロジェクトを進行した際に問題となる例が多くあります。

弊チームの事例でいくつかご紹介いたします。

## タスクの完了について『認識のズレ』が発生した
複数のSRE部署のメンバーがチームを組んでプロジェクトを進める案件がありました。
この案件にて主担当の方から受けた相談が「構築作業が想定通りに進んでおらず、スケジュールに大幅なズレがでそう」といったものでした。

各メンバーから状態をヒアリングしたところ致命的だった点が各タスクの完了条件が明確になっておらず、タスクの完了報告があっても実行者と主担当で『認識のズレ』が発生した事でした。

例えば【◯◯の構築】といったタスクがあった際に完了条件について主担当とタスク実行者で下記のような『認識のズレ』が発生していました





|主担当  |dev/stg/prdにて◯◯の構築が完了しており、パラメータもある程度整理ができているのですぐに試験ができる状態  |
---|---
|実行者  |直近で行う試験で利用するdev/stgの構築が完了しており、パラメータ等は試験をする中で決めていけば良い  |

このような場合【◯◯の構築のタスクが完了した】は実行者と主担当で認識が合っているのですが試験にて必要な工数や今後の構築作業計画について『認識のズレ』が発生しており主担当が想定したスケジュール通りにプロジェクトが進行できない状態になっておりました。
このプロジェクトでは主担当と実行者がそれぞれ別チームから参加した事もあり、上記のような『認識のズレ』が多く発生していてプロジェクト全体のスケジュールや環境構築状況にてズレがあり、正常な状態に修正するには膨大な時間が必要でした。

## タスク優先度について『認識のズレ』が発生した
別案件の話ですが、その案件ではカンバンボードにて各タスクの洗い出しと担当者を非同期で管理している案件がありました。
タスク進捗のすり合わせは週１MTGで実施しており、基本的には各タスクの実行者がカンバンボード上でチケットを移動させる事で各々の進捗を共有する方式をとっていました。
部署横断のMTGにて試験スケジュールに変更が発生した事について連絡があった際に以下の様な『認識のズレ』が発生しました。

|主担当  |試験スケジュールが変更されたので環境構築タスクの優先度を上げて対応しよう |
---|---
|実行者  |試験スケジュールが変更されたが当初の環境構築スケジュールでも間に合うので今の作業優先度のまま作業をしよう |

主担当の方は【環境構築してから試験開始までにデータ準備等の様々な準備が必要】であると認識していたので環境構築を当初予定より早く終わらせる事を想定していましたが、実行者の方は【環境構築後はすぐに試験ができる】と考えていたのでタスク優先度の考え方に『認識のズレ』が発生しました。

この時に主担当はカンバンボードのチケットにて関連タスクのステータスを変更したのですが、「In Progress」欄に既存の優先タスクと環境構築タスクが同時に存在する状態になっていたので１週間後のタスク進捗MTGにて主担当の想定より環境構築が１週間遅れてる事が判明しました。


今回はわかり易い例を列挙しましたが、他にも細かな認識の違いにて主担当が悩む事例は多々ありました。
どちらの問題も『しっかりとすり合わせすれば問題なかったのでは？』と指摘すれば良いのではと思う方も居ると思いますが、人柄や関係性等の様々な要因が絡むため仕組みとして解決を行うべきと考えています。

# 『認識のズレ』を少なくするためにどういった事を行ったか
基本的な事を仕組み化してプロジェクト進行の際に細かな『認識のズレ』が起きにくい状態を作る事を意識しました。

## 1日15分の情報共有時間を作る
たった15分でも良いので毎日情報共有時間を作りました。
この15分はタスクの進行に問題がない部分については共有せずに問題が発生している部分、もしくは気になった部分のみを共有する時間としています。

毎日固定の相談時間を作ることで大きな問題になりそうな問題を早めにプロジェクトメンバー内で共有する事を促せます。
また、『相談するほどの事でもないけど...』と思うような細かな悩みポイントを主担当に報告する時間を作る事で小さな『認識のズレ』が起きない状態を作ります。

## 全タスク毎の完了条件を明文化する
GitHub Projectsを利用して各タスクをissueという形で管理していたのですが、全てのissueにて完了条件を明文化しました。
どんな細かいタスクでも完了条件を明文化する事で「タスクが完了した」際にどんな状況なのか『認識のズレ』が発生しない状態を作りました。
また、issue(タスク)自体はプロジェクトメンバーが各々新規に作成しても良いですが、週次のMTGにて必ず新規issueをチェックして各issue毎に完了条件を明文化する作業を行いました。

## 週のはじめに各メンバーが『今週やるタスク』をすり合わせる
差し込みの業務や試験結果等で調査業務が増えることで主担当とタスク進捗に『認識のズレ』が発生する事がるので、月曜日の15分MTGにて各メンバーが『今週やるタスク』を共有する時間を作りました。
また、報告していたタスクと別の事を行う為にタスク完了が遅れる場合は主担当に即時連絡するルールを設けました。
これにより主担当と実行者のタスク進行度に関する『認識のズレ』を日々修正できる状態を作りました。


細かな対策はまだまだあるのですが、特に効果的だと思った3点を紹介いたしました。


# 最後に
長年同じチーム、組織で業務してきた人であれば価値観や当たり前のレベルが近似しており『仕事がやりやすい』状態になると思います。
ですが、真に自身の能力が問われるのは価値観や当たり前のレベルが異なる人が相手でも『仕事がやりやすい状態を作れる』事だと私は考えています。
人間同士のコミュニケーションである以上、『認識のズレ』が発生するのは致し方ないですが『認識のズレ』を修正すできる仕組みを作ってお互いが歩み寄る事で円滑なプロジェクト進行は可能になります。

プロジェクト進行管理にて困った経験がある方も是非今回ご紹介したような基本の部分から見直してみて『認識のズレ』を修正し『仕事がやりやすい状態を作る』事を意識視頂ければと思います。