※この記事は、2022 Speee Advent Calendar 21日目の記事です。 昨日の記事はこちら
はじめに
今年4月にSpeeeに新卒エンジニアとして入社した黒須です。
社内ではクロステックと呼ばれています。
入社してすぐに配属された、住所データ移行プロジェクト フェーズ2を完遂する上で「ゴールから逆算して現在地を認識すること」が最も大事だと思ったので、学びを交えて記事にすることにしました。
住所データ移行プロジェクト フェーズ2の概要
住所データ移行プロジェクトとは、プロダクトのローンチから数年間更新されていなかった住所データを最新の住所データに更新するためのプロジェクトです。
フェーズ2では、名前の通り先輩エンジニアが進めていたフェーズ1を引き継いで、住所データの移行を完了させるまでがスコープでした。
移行するためのコアな機能は先輩エンジニアたちによって完了されている状態で、toC向けに公開しているページやバッチ処理の修正などのコードの修正と、本番環境に新データを入れて住所を更新するタスクが残っていました。
学生時代はモバイルアプリのエンジニアとして働いていたことはありましたが、既存プロダクトのDB周りの修正、しかも不動産査定サイトにとって重要な住所データの更新を行うような経験はなかったので、新卒なのに責任重大な仕事を任されたと思いました。
最初の頃の課題
既に先輩たちによって進められていたプロジェクトのフェーズ2ということで、プロジェクト完了までに必要なIssueはある程度洗い出されている状態でのスタートでした。
最初の1ヶ月は並んでいるIssueを前からこなしていて、残りのIssueに関しては軽く目を通した程度だったので、どんなIssueが残っているのか、どのIssueに工数が掛かりそうか・不確実性があるかが分からないままでした。
週のコミットメントに入れるIssueは見積もりをしていましたが、達成確度30%くらいのかなり楽観的な見積もりだったと思います。
よって、このプロジェクトがいつ終わるのかが明確になっておらず、週でやることが終わらなくても「どうすればうまくいったか」ではなく「見積もりが甘かった、来週も引き続きやる」という振り返りをしていました。
当時は遅れているという認識はあっても目の前のIssueには必死に取り組んでいるつもりだし、これ以上どうすればいいのか分からないという状態で、人に聞けばすぐに分かるようなことも自分で調べたりしていて、やりたいことを実現するための最短経路を辿ることができていませんでした。
今思うと、
- ゴールから逆算的に現在地が分かっていないので、今うまくいっているのか分からない
- 自分たちのパフォーマンスが高いのか低いのか分からない
- 改善行動が取れない
という悪循環に陥っていて、期日という制約の中で仕事を終わらせようとしない構造になっていたと思います。
解決するためにやったこと
現実的にプロジェクトがいつ終わるのかを明確にするために、全てのIssueに対してリファインメントと再見積もりをして、スプレッドシートに人日単位で書き出しました。 すると、フラットな見立てとして○月○日にコードが完成し、□月□日から移行作業をするというスケジュールができました。
このスケジュールを組んだタイミングでプロジェクトのゴールがやっと明確になりました。
それまでは「先週の溢れた分をあわせて1週間でできるのはここまでだろう」と週のコミットメントを決めていましたが、ゴールが明確になってからは「期日にまでに完了させるためには今週ここまでやる必要がある」という意識のもとコミットメントを決めるようになりました。
週の目標とプロジェクトの目標が紐づくようになったことで、ゴールに対する執着ができてきたと思います。
来週以降取り組むIssueが決まっているので分からない点を予め調査したり、不明点を不明なままにしないように周りを巻き込んだりして、目標を達成するための行動を取れるようになりました。
また、Issueの途中時点で見立て通りに終わらさそうというときには、「どうやって巻き返すか?」という思考を巡らせるようになり、安易に見積もりを変えるということがなくなりました。
目的を改めて明確にし、どうすれば最短経路で実現できるのかを捻り出す、目的思考型の行動を取るようになっていたのです。
不確実性を先に潰していくような動きが取れるようになったことにより「見積もりが甘くて遅れた」という振り返りではなくもっと本質的な振り返りをするようになり、結果的にずるずると開発が遅れていく構造を脱することができました。
まとめ
このプロジェクトを通して「ゴールから逆算して現在地を正しく認識する」ことで、仕事に対するスタンスが変わったと思います。
学生時代はモバイルアプリ開発のインターンをしていましたが、今振り返ると明確な期日を決めずに開発を進めていました。
新規アプリのリリース時には「○月○日にリリースする」という明確な目標がなく、機能の実装とテストが完了したらリリースするという流れでした。よって、実装中に懸念点が見つかって工数が伸びるとズルズルと後ろ倒しになり、元々リリースしたかった時期の数ヶ月後にリリースすることになりました。
このときもよく「見積もりが甘くて想定より時間が掛かった」と振り返って伝えていたのを覚えています。
学生時代にやっていた影響範囲が狭い新規プロダクト開発に対して、イエウールはローンチしてから8年以上となるプロダクトであり、開発メンバーだけでなく営業メンバーやユーザーさんにも影響が及ぶ大きいプロダクトです。
そんなプロダクトの開発に携わることで、仕事の重みを感じるようになりました。
自分が「見積もりが甘くて遅れました」と言うことで影響する人たちが多く、結果的に価値提供までの道のりが長くなります。
それまではリリースさえできれば期日に遅れてもいいと思っていましたが、見積もりを言い訳にせず、決められた制約の中で仕事を終わらすことが価値であることに気付きました。
現在はSEOチームのメンバーとして開発に携わっていますが、このプロジェクトを通して得た学びは活きていると思います。
引き続きゴールと現在地を正しく認識することを継続していきたいです。
Speeeでは一緒にサービス開発を推進してくれる仲間を大募集しています!
こちらのFormよりカジュアル面談も気軽にお申し込みいただけます!
Speeeでは様々なポジションで募集中なので「どんなポジションがあるの?」と気になってくれてた方は、こちらチェックしてみてください!もちろんオープンポジション的に上記に限らず積極採用中です!!!