Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
リモートワークをきっかけに、見積もりと進捗について考えてみた
Search
tarohida
September 18, 2020
Technology
0
36
リモートワークをきっかけに、見積もりと進捗について考えてみた
tarohida
September 18, 2020
Tweet
Share
More Decks by tarohida
See All by tarohida
テスト駆動開発試してみた発表
tarohida
0
210
事故について考えてみようの会
tarohida
0
160
Other Decks in Technology
See All in Technology
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
110
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
230
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
19
9k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
440
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
1
460
Rustから学ぶ 非同期処理の仕組み
skanehira
1
130
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
6
750
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
370
サンドボックス技術でAI利活用を促進する
koh_naga
0
200
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
420
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
170
Featured
See All Featured
Building Adaptive Systems
keathley
43
2.7k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Bash Introduction
62gerente
615
210k
Docker and Python
trallard
45
3.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
GraphQLとの向き合い方2022年版
quramy
49
14k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
How GitHub (no longer) Works
holman
315
140k
For a Future-Friendly Web
brad_frost
180
9.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
111
20k
Transcript
リモートワークをきっかけに、 見積もりと進捗管理について考えた
自己紹介
前提 ここ半年ほど担当していたタスク - 自社開発ソフトウェア「X-MON」の開発 - 社内向けWebシステムの開発(Laravelフレームワーク)
リモートワークをきっ かけに?
リモートワークをきっかけに (リモートワーク導入以前...) リモートワークさえ導入されれば、勤務 は天国になると思っていた。
リモートワークをきっかけに (リモートワーク導入後...) そんなことはなかった。
新たなる壁、進捗管理
新たなる壁、進捗管理 リモートワークであっても、進捗に遅れが生じるとしんどい ⇓ いかにこれを解決するか 今まで、リモートワークでないことに全ての原因を帰していたため、気が付かなかったが・・・
新たなる壁、進捗管理 結論: スケジュールがひっ迫しないような見積もりを出せば、 進捗の遅れを防ぐことができる。
スケジュールがひっ迫しない ような見積もりを出す
スケジュールがひっ迫しないような見積もりを出す 締め切りを遅らせるほど、締切に間に合わなくなるリスクは減る ⇕衝突 とはいえ、無限に見積もりを膨らませるわけにはいかない どうすれば...
スケジュールがひっ迫しないような見積もりを出す 『Clean Coder』という書籍が参考に
『Clean Coder』 締切の原則 「締切は絶対に守らねばならない。 『間に合います』と自信を持てるところに、締切を設定する」
『Clean Coder』 ⇨ なぜ? 顧客はこちらの納期を信じ、予定を立てるから。 (システム稼働を前提とした前準備や、プロモーション等にお金を払う) 締切に間に合わなかったということは、顧客に損害を与えるということである。
『Clean Coder』 じゃあ、確実に納期を守るために、 めちゃくちゃに長い見積もりを出してもいいの? ⇓ NO
『Clean Coder』 また、この書籍においては、エンジニアが自分の作業について、(ある程度)正 確に見積もれるということを前提に書かれている (ソフトウェアのプロとしてどう振る舞うか?という話なので) ⇨ 正確な見積もりの元に、締め切りを設定しないといけない
『Clean Coder』 では、実際にどうやって正確に見積もるのか
正確に見積もる 今実施している方法 - 三点見積もり法 + 積み上げ法 + スプレッドシートでの記録
正確に見積もる - 与えられたタスクを、細かく細分化する - それぞれの細分化したタスクについて、三点見積もりを行う - それぞれについて合算し、悲観値を締め切りとする ※三点見積もり:楽観値、標準値、悲観値を利用し、見積もりを行う方法。 それぞれ楽観的に見積もった値、通常完了すると思われる値、悲観的に見積もった値を表す
正確に見積もる
正確に見積もる というわけで、まだかなり幅があり、正確な見積もりをするという点においてはまだ道半ばである。 見積もりにおけるミスもめちゃくちゃ多い - 要件を満たしておらず、手戻りが発生する - デザインパターンに沿わない独自実装を行い、リファクタリング(設計不足) - 初めて触るフレームワーク等について、必要作業時間を甘く見積もりすぎた -
見積もり段階における、実装メソッドの想定漏れ - 環境構築、最終確認、プルリクエストと修正等、見積もりに含めるのを忘れる
メリット
メリット 以下のようなメリット - PDCAサイクルが回せたので、見積もり精度を向上させることができた。 - タスクを自分で管理している感覚が得られた - 進捗把握に役立った - 「質問しにくい...」問題が解消された
PDCAサイクルが回せたので、見積もり精度を向上させることができ た タスクごとに見積もって、都度振り返りを行うことで、 定期的にセルフフィードバックを受けることができた。 以下のような気づきを得られた。 - リリース単位を小さくすると、見積もりは簡易になる。 - 可能な限り作業単位を分割したほうがよい。見積もりが容易になるし、考慮漏れが防げる。 -
やったことない言語、アーキテクチャ利用の場合はかなり余裕をもって見積もったほうがいい。 - ガンガン質問することで、進捗はスムーズになる。 - 考慮漏れしやすい作業工程(環境構築、リファクタリング、最終確認など)
タスクを自分で管理している感覚が得られた 概算見積もりに比べ、根拠を持って見積もりを出すことができること により、自分の見積もりに自信がもてるようになった。 自信があれば、次は進捗管理が不可能なものではなく、管理可能 で、自分でハンドリングできるものであるように感じられるようになっ た ⇨ 主体的に仕事に取り組めるようになった。
進捗把握に役立った 細かくスプレットシートにタスクを羅列し、終わったものから塗りつぶしていく作業を 行うことによって、自分が今どこまで進んでいて(現在地)、ゴールまであとどれくら いなのかを把握しながら仕事を進められるようになった。 ⇨ これも、自信をもって仕事を進めていけるという点に寄与してくれた。
「質問しにくい...」問題が解消された リモートで特に深刻になりやすい「質問しにくくて ...」現象。 PDCAによる気付きから、「ガンガン質問することで、進捗はスムーズになる」ことがよくわかった。 + 締切にはかならず間に合わせないといけないという意識 ⇨ 「相手の都合など知るか、質問しなければ進捗に遅れが出て俺が死ぬ」 という考え方となり、質問や相談のタイミングが早まった。
まとめ - リモートワークをきっかけに、見積もりと進捗管理について考えるようになった。 - 『Clean Coder』という書籍に、見積もりについての大事なこと、考え方が書かれていた。 - 現在は三点見積もり + 積み上げ法という見積もり方法を用いて、見積もりを行っている。
- 見積もり精度については道半ばだが、 PDCAサイクルを回せるので気づきが多い。メリットも多々受けることができた。
今後 このサイクルをぐるぐる回して、見積もりについてのノウハウを溜めていきたい。
ありがとうございました 当発表内容についてはブログにしています ⇨ https://taro-h.hatenablog.com/entry/mitsumori_shinchoku_rw