# 予定工数入力

## なぜ工数入力を行うのか？
* PMがプロジェクトの進捗管理、リソースの管理、予算管理、品質向上のために、担当エンジニアが工数入力をします。

### 具体的には
* プロジェクトの進捗管理：PMが要件定義、設計、開発、テスト、リリース、メンテナンス、アップデートの最初から最後まで計画を立てる必要があり、担当エンジニアが工数入力をすることによって、その計画の精度を高めることができる。
* リソースの管理：担当エンジニアが工数入力をすることにより、PMがメンバーごとの負荷バランスを確認し、適切な配分を行うことができる。
* 予算管理：担当エンジニアの実際の作業時間と工数入力との差異が生じた場合、PMが早期に対策を立てることができる。
* 品質向上：担当エンジニアが工数入力をすることによって、PMはテストに費やすことのできる時間を把握することができ、適切なテスト計画を立てることができる。

## 予定工数入力のやり方

### 新規・追加機能開発の場合
* 担当エンジニアが自身のスキルを考慮し、バックログのチケットに予定工数入力をする
* 未知の領域がある場合は、その分をバッファを取る。
* 仕様の理解に時間がかかる場合は、その分の時間も考慮する。

### 既存のバグを修正する場合
予定工数入力する時はチケットの内容と実装を確認し、
* フロントエンドに問題がある
* バックエンドに問題がある
* 両方に問題がある
の３つの内のどのパターンか最初に分類する。

* もし、分類することができなければPMに助けを求める。

* フロントエンドもしくはバックエンドに問題がある場合は、そのまま予定工数入力をする。

* 両方に問題がある場合は、フロントエンドとバックエンドそれぞれに対し、一つのチケット内で予定工数入力をする。


### イレギュラーなパターンとして
* フロントエンドの問題だと想定し作業をしていたら、バックエンドの問題だと気づいた場合
* バックエンドの問題だと想定し、作業をしていたらフロントエンドの問題だと気づいた場合
* 実装を進めていて、想定していた時間をオーバーしそうな場合
上記の場合は、再度その時点で、PMに相談して予定工数入力を再度やり直す。

## PMに相談するタイミング
* 予定工数がPM想定と異なる時(前倒しになる場合、後ろ倒しになる場合のどちらの場合でも)
* 予定工数入力後、予定よりも遅れそうな時や予定よりも早く終わりそうな時
* 予定工数入力を立てられない時
* 実装方法が全くわからない時

## PMに相談する時は
* チャットやメタライフで遠慮せずにまずは話しかける

## その他
* 自分の知らない領域の問題がチケットに含まれる場合
PMと相談して、調査の時間やバッファを取るなどする。
