はじめに
担当した作業で与えられた作業期限を守れないケースを発生させてしまいました。
今回のことを忘れないよう、同じことを繰り返さないために失敗談と改善策を残します。
作業を担当するまでの経緯
3年前に先輩が開発したシステムの改修依頼があり、
システムが Nuxt2 を使用していたので改修と併せてバージョンアップも行うことに。
Nuxt2 → Nuxt3 へのバージョンアップは以前対応した経験があったので、
何となくやることや作業の手順が頭に入っていました。
ところが、今回はバージョンアップではなく Svelte へ書き換えることになりました。
(ちなみに Svelte は先輩の記事を読んでチュートリアルを1時間やった程度)
失敗談
結果として作業期限の遅延が起きてしまいました。
最初に見積もられていた工数よりも多くの工数をかけてしまうことで、
作業期限に間に合わず、作業期限を遅延するという事態になってしまいました。
さらに体調が悪いにも関わらず、作業期限を気にして無理に出社し体調も崩してしまいました。
失敗した原因
作業期限の遅れについて自分が要因となった原因は3つ考えられました。
該当システムの機能理解不足
今回のシステムの機能の理解が不足していたため、
どの部分が何の処理を行なっているかという理解が一切できていないまま、
Svelte への書き換えを行ってしまいました。
実は Svelte への書き換えのサポートに別の先輩がついてくださったのですが、
システムの機能の理解が不足していたために、
結果としてサポートの先輩に機能の説明をしてもらうという無駄な作業を生んでしまいました。
Svelte の知識不足
もちろんチュートリアルは一通り行いましたが全てが補えるわけではないので、
このシステムの改修作業に入る前に Svelte をもう少し触るべきだったと後悔しています。
進捗報告の不足
半日が終了した時点で進捗が遅れる可能性があった場合でも、
普段と変わらず定時の進捗報告しか行っていませんでした。
遅れる可能性が出た時点で進捗が遅れそうな事を報告すべきだったと反省しています。
改善策として取り組んだこと
上記の3つの原因に対して改善策を立てて実行することで、
これ以上作業に遅れが発生しないように改善しました。
システムの機能を理解する
今回のシステムを以前開発した先輩にシステムの機能についての説明をしていただきました。
先輩から説明してもらった後に自分でも説明することでしっかり機能の理解をしました。
本来であればこの工程は Svelte への書き換えを始める前に行うのが適切だったので、
作業に入る前に先輩にシステムの機能について質問するべきだったと反省しています。
進捗報告を定時以外にも行う
今まで定時の進捗報告しか行っていませんでした。
ですが、作業が遅れる可能性が出た時点で進捗に影響が出るかもしれないことを伝え、
今後の作業の進め方を変えるなどの軌道修正を行えるようにしました。
まとめ
進捗が遅れることによってミーティングを開いたり、
システムのことを知らない先輩に機能について質問したり、
結果的に作業以外にも無駄な時間を作ってしまいました。
今後様々なプロジェクトに参画することがあると思いますが、
今回のことを教訓にして同じことを繰り返さないように努めていきます。