工数見積り
各タスクの工数を見積もる
前提
スケジュール管理・工数見積りのモチベーションを明確にする
参考
工数見積りの本
エンジニアが知っておきたい工数見積もり術!  無理ゲー進行 から脱するために大切なコト
いろいろ書いている
#WIP
見積もりの精度を上げる
複数人で見積もる
直感と経験の集合知を頼る
各人が頭の中でタスクを分けて見積もる感じになる
まあ、これも本当は全員でタスク分割してそれぞれに見積もったらもっと精度は上がる
1人が見積もって間違うのは、根本的な漏れが存在したりするからなので
ゴールを明確にする
何を達成したら完了なのかが誰にでもわかるようにする
数値目標は概算で言い切る
頑張り具合が変わる
見通しが立てやすくなる
AIに添削してもらうとか
ゴールを言い切る
不確実性の高いものだと、ここの言い切りもムズいやつもある
次のアクション次第みたいな
でもそれも決めないと、待ってるだけになるしなあmrsekut.icon
小さいスコープで分ける
見積もりにバッファを設ける
見積もり時にリスクを洗い出す
https://hira-k.hatenablog.com/entry/2022/06/19/133727#:~:text=受注前の見積もりの段階で%E3%80%81案件リスクを見極めて%E3%80%81リスクを下げるか受注しない対応をとる
見積もりに人一倍時間をかける。リスクを徹底的に抽出する。リスクに合わせたバッファを工数に計上する。
スケジュール管理・工数見積りのモチベーションがわかりましたとした上で、
じゃあその目的が達成されるために何の数値があれば十分なのかを考える
タスクの列挙
できるだけ細分化してタスクを列挙したい
機能に対するステップもそうだし、
テストやバグ修正など特定の機能に結合してる物以外も
個々のタスクに対する工数
↑実践する分にはこれで十分な気もするが、実際はこの信憑性の問題がある
だから、実績として
元の工数に対して実際どれぐらいの時間がかかったのかを計測しておく
残された時間
その時間と残りタスクの工数の差分
タスク自体が増減することもある
これを週次ぐらいで更新と整理を繰り返す
タスクの増減の確認
進捗度合いの確認
実績の評価
ってことを考えるとScrapbox上でもどうにかなりそう
Notionなどを導入しなくても、数値の合計計算さえできれば良い
見積を行う際の手順やコツ
なぜ工数を短く見積もってしまうか
工数を見積もる粒度を小さくする
ストーリーポイントを使う
工数に幅を持たせる
PERT法とか
レビューを行う
その工数を他のチームの人に見てもらう
開発に携わるメンバーが少ないほど、見積もりの揺らぎが大きくなることも頭の隅に置いておく
見積もる前のコミュニケーション
その場で回答しない
見積もりとコミットメントを分ける
見積もった後のコミュニケーション
スケジュールや工数見積もりしたものを他者に伝える
不確実性への対策
見積もりにバッファを設ける
1日の稼働時間を少なめに見積もる
不確実性を減らす
アジャイルに工数見積りを行う
プロジェクトが進むごとに、定期的に更新する
不確実性の高いタスクから取り組む
最初の2割で、8割まで完成させる
工数見積り手法
『アジャイルな見積りと計画づくり』.iconって概念は書かれているが、具体的にどうやって作っていくかはあまり書いていない?mrsekut.icon
それともまだmrsekut.iconが呼んでない小児書いている?
タスクの洗い出しの仕方が知りたい
大分類からやっていくとか、
「工数見積りやるぞ!」と思って全体やるのがダルい問題
常に書いて、常に更新する方が性に合ってる気がするmrsekut.icon
あるモジュールを触った時に、そこの細かいところが見えるモードになる
そのタイミングでタスクを列挙しておく
ただ、これ途中ではできるけど、初回ではできない方法だな
良い計画づくり ref 『アジャイルな見積りと計画づくり』1章
スケジュールの方に書いてもいいかも??
リスクを軽減する
既存システムの調査の時間を加味して多めに時間を取っておく
不確実性を減らす
見積もり自体をアジャイルに行う
進めている中で良いアイディアがあればそれも取り込みながら見積もりを更新する
意思決定を支援する
意思決定のためには、見積もりとスケジュールが必要
信頼を確立する
開発者と顧客の間の信頼
開発者目線でも、持続可能なペースで開発でき、コードの品質が上がる
情報を伝達する
見積もりの根拠を伝える
↑これ、スケジュール作成の理念、のようなものなのでかなり大事だと思うmrsekut.icon
あらゆるスケジュール作成の施策、工数見積りの施策は、これらのどれかを達成するために考えが得られたものになっている
だから、「この施策は、「不確実性を減らす」のに役立っている」のようにメモを撮れると良い
メモのとり方を工夫したいmrsekut.icon
featureの提供を計画すべき
よくあるのは「作業の完了」を計画しているもの
WBSとかガントチャートとか
そうではなく
計画づくりでは、作業ではなくfeatureを単位にすべき
顧客にとって価値があるのはそっち
作業を単位にすると、本当に重要なfeatureにもかかわらず、それの品質を下げて作業を完結しようとしてしまう
個々の作業が独立していない
ソフトウェアでは構造上そうなっているものが多い
1つの作業が遅れると、他の作業も遅れる
だから、この実装に時間かかっちゃったけど、次の作業は急いで作って、遅れを取り返すよ、はうまくいかないことが多い
定期的に進捗を聞く
実際にアウトソーシングを受ける場合などの見積もりでは、見積もりの根拠が必要になる
そのためにも、何かしら名前がついている見積もり手法で算出するのは説得材料になりやすい
複数人が見積もった時に、それぞれの差異が少ないほうが説得力がある
この一覧を「どう表示するか」もよく考えられるべき対象だと思うmrsekut.icon
適切なフォーマットで書き出す
https://monoist.itmedia.co.jp/mn/articles/1112/22/news005.html
/mrsekut-book-4798166391/195 (Chapter 8プロダクトのHOW)
https://eh-career.com/engineerhub/entry/2017/08/04/110000
https://uxmilk.jp/53352
https://www.ipa.go.jp/sec/softwareengineering/std/ent01-c.html
https://matsu-chara.hatenablog.com/entry/2018/08/14/130814