この記事は 食べログアドベントカレンダー2025 の8日目の記事です。🎅🎄。
こんにちは。食べログ開発本部 新規事業開発部 求人チームでユニットリーダーをしている@itayaです。
今回は、エンジニアの業務で誰もが一度は経験するであろうタスクの遅延と進捗管理について、私がチームで取り組んだ改善とそこから見えてきたことをお話しします。
「ほぼ終わってます」が続く経験、ありませんか?
プロジェクトを進めていると、こんな経験はありませんか。
- 進捗確認:「このタスク、どうですか?」
- 序盤:「順調です!」
- 期限当日:「ほぼ終わってます!」
- 期限翌日:「すみません、まだ終わってないです。〇〇をやる必要がありました…」
これが数日続き、気がつけば予定日を大幅に超過している…。 「なぜ、もっと早く分からなかったんだろう?」と、リーダーも実装者もモヤモヤしますよね。これは、リーダーだけでなく実装者にも起こりがちなことです。
遅延の根本原因:見えないタスクの存在
このような状況を深掘りしていくと、私が見立てた最終的な原因は、最終日近くに見積もっていた作業が、実際にはかなり膨大になっていたことにありました。
タスクへ着手した後に、「あ、これもやらないといけない」「これの調査が必要だ」といった追加のタスクや予期せぬ複雑さが次々と見つかるのは、プロジェクトでは往々にして起こることです。私は「プロジェクトってそういうものだ」と思っています。
しかし、その「見つかったタスク」を整理し、改めて計画に組み込む時間がなかなか取れないと、どうなるでしょうか?
元の予定タスクを「頑張って巻き返せるはず」とそのまま進めてしまう。結果、元のタスクは遅れる可能性がある上に、見えない追加タスクでズルズルと予定が伸びてしまうのです。
ちなみに、近年ではAIツールを活用した実装が増えていますが、AIに実装を任せると生成されたコードがブラックボックスになりやすく、必要な要件の抜け漏れや既存コードとの相性の悪さに後から気づくといったケースも見られます。これも、見積もりの精度を下げる一因になっていると感じています。
私が試した対策:タスクを「1日単位」で分割する
この遅延とコミュニケーションの課題について、私がチームに促したのは、タスクの徹底的な分割です。
具体的には、タスク着手前に 「1日単位」 で分割してもらうようにしました。
なぜ「1日単位」なのか?
私のチームでは、朝会で1日1回進捗報告を行っています。この報告のタイミングと、タスクのゴールを合わせることで、遅れに早く気づくことを狙いました。
1日1つのタスクが終わる前提で進捗を聞くと、「すみません、終わってません」という報告があった時、すぐに具体的な状況を確認できます。
「このタスク終わりました?」
「〇〇の考慮が必要でそこで詰まってしまっていて終わってません。」
「承知しました!じゃあ朝会の後で少し話してそこ解決しましょう。」
このように、1日目で問題の種に気づくことができるため、プロジェクト全体が順調でないことを早い段階で把握し、サポートできるのです。
もし「実装」というタスクが5日間のスパンで設定されていると、1日目や2日目の進捗報告では「開発やっています」という情報しか得られません。正直、リーダーからするとどこまで遅れているのかが分かりづらいという問題がありました。
もともと使っていたタスクのテンプレートは以下のようなものでした。しかし、1日単位で分割することで、より細かく進捗を追えるようになりました。
| フェーズ | Before(大きな括り) | After(1日単位に分割) |
|---|---|---|
| 1 | 実装 | RSpec作成 バックエンド(Usecase、Controller) フロントエンド結合(機能完成) |
| 2 | レビュー対応 | セルフレビュー&AIレビュー対応 チームコードレビュー&修正 |
| 3 | テスト | テストケース作成 テスト実施 |
| 4 | 企画確認 | 企画確認 |
| 5 | リリース承認 | リリース承認 |
| 6 | リリース | リリース |
このような大きな括りのタスクでは、実際に何日かかるのか、どこで詰まっているのかが見えにくくなってしまいます。一方、After のように細かく分割することで、毎日の朝会で「今日はこのタスクを完了させる」という明確なゴールを持って取り組めるようになりました。
1日単位分割のメリット
1日単位でタスクを区切ることにより、以下のメリットが得られました。
- 実装者自身のゴール確認:どこまでやったら今日のゴールなのかが明確になり、作業を進めやすくします。
- 健全なコミュニケーション:進捗が遅れている場合も、「このタスクは終わりませんでした」と具体的な情報で報告できるため、進捗報告を躊躇する心理的な負担が減り、タスクに対する建設的なコミュニケーションが取れやすくなります。
- 早期のサポート介入:私のようなリーダーからすると、タスクが細かく見えることで、実装方針に関する「ここは共通処理じゃないか」「こういう風に取ればいいのではないか」といったアドバイスが着手時点でできるようになりました。これにより、サポートが入りやすくなりました。
- 心理的な安心感:常に次のタスクの見通しが立っている状態になるため、心理的に安心して実装を進められます。
- 落ち着いた学習環境:早めにアドバイスをもらえるので、切羽詰まった状態で助けてもらうよりも、落ち着いて内容を吸収しやすく、理解を深めることができます。
週に1回の「再分割確認会」も取り入れる
日々、1日単位で進める中でも、やはり試行錯誤や想定外の追加作業は発生します。毎朝、細かくタスクを調整し続けると、タスクに追われているような状態になりがちです。
そこで、週に1回、改めて「このタスクは本当にこれで終わるのか?」を確認する再分割の確認会を定期的に行うようにしました。
「リリースを完了させるために、残り何が必要か」を洗い出す
この確認会では、単なる実装レベルだけでなくテストや企画の確認といった周辺作業も含めて確認します。「リリースを完了させるために残り何が必要か」を洗い出します。
- テストケースに追加された要件が追加できていなかったので追加する必要があった
- 本機能をリリースする前にAPI側の先行リリースが必要だった
こういった作業は実装に関してだけ注力してしまうため見落とされがちです。いざリリースしようとした際にバタバタしたり遅延に繋がったりするので一度立ち止まって逆算することが大事です。
まとめ
進捗管理に課題を感じているチームリーダーの方は、タスクの分割を軸にした管理を試してみてください。メンバーへのサポートが後手に回りがちな場合にも効果的です。
「1日単位の分割」と「週に1回の再分割確認」を実践することで、遅れに早く気づき、健全なコミュニケーションを促すことができます。この取り組みが皆さんのチーム運営の参考になれば幸いです。
最後まで読んでくださりありがとうございました!
明日は @aaknsk の「音声入力 + Cursor で設計を効率化する方法。思考プロセスの記録を利用し、タイピングほぼなしで作業時間を短縮する」です。お楽しみに!
食べログでは、20年の歴史を未来へ繋いでいく仲間を募集しています!
ご興味のある方は、ぜひこちらもチェックしてみてください。