新卒1年目がプロジェクトを進めるときにコケたポイント
by
Ryu-nakayama
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Chatwork株式会社 モバイルアプリケーション開発部 中山 龍 2024年3月15日 新卒1年目がプロジェクトを進めると きにコケたポイント
Slide 2
Slide 2 text
自己紹介 中山 龍 (なかやま りゅう) ● Chatwork株式会社 ○ 新卒1年目のiOSエンジニア(21) ● フルリモート勤務で愛知県在住 2 @ryu_develop この会場はモバイル勉強会でたくさんお世話になってい ます
Slide 3
Slide 3 text
新卒1年目、どんなことした?
Slide 4
Slide 4 text
新卒1年目でやったこと アプリアップデート通知 PJ 4 Privacy Manifests対応 PJ iOS14ドロップ対応 PJ ルーキー賞 iOSDC登壇 など...
Slide 5
Slide 5 text
新卒1年目でやったこと アプリアップデート通知 PJ 5 Privacy Manifests対応 PJ iOS14ドロップ対応 PJ ルーキー賞 iOSDC登壇 など... このプロジェクトの中で をお話します ● 学んだこと ● やらかしたこと
Slide 6
Slide 6 text
アプリアップデート通知 PJ
Slide 7
Slide 7 text
● 使用中のアプリよりも新しいアプリがリリースされてい る場合に、アップデートを促す通知を表示する機能 ● 初担当のプロジェクト ● iOSの実装は基本的に僕1人で担当 ○ 困ったときには他メンバーのサポートあり プロジェクト概要 7
Slide 8
Slide 8 text
プロジェクト概要〜進め方〜 8 ア サ イ ン 見 積 も り 仕 様 の 把 握 実 装 レ ビ ュ | マ | ジ 開 発 完 了 各工程がどの時期に完了するか いつのリリースにするか を洗い出し 機能の開発が完了するまで 実装〜マージを繰り返す 動作検証へ
Slide 9
Slide 9 text
1 期限がまずい!なぜ見積もりが狂った??
Slide 10
Slide 10 text
何が起きたのか? 見積もりの時点で『各工程がどの時期に完了するか』を洗い出した (開発の最中のチェックポイントが設定されたイメージ) そして実装開始! 実装自体はそれほど遅れなく進めることができていた 10 プロジェクト概要〜進め方〜 から引用
Slide 11
Slide 11 text
何が起きたのか? 見積もりの時点で『各工程がどの時期に完了するか』を洗い出した (開発の最中のチェックポイントが設定されたイメージ) そして実装開始! 実装自体はそれほど遅れなく進めることができていた だが、チケットを進めていく中で徐々に遅れが出てきた... 11 プロジェクト概要〜進め方〜 から引用
Slide 12
Slide 12 text
何が起きたのか? 見積もりの時点で『各工程がどの時期に完了するか』を洗い出した (開発の最中のチェックポイントが設定されたイメージ) そして実装開始! 実装自体はそれほど遅れなく進めることができていた だが、チケットを進めていく中で徐々に遅れが出てきた... 12 プロジェクト概要〜進め方〜 から引用 なぜ...?
Slide 13
Slide 13 text
進捗に遅れが出ていた原因 原因: レビューしていただくのに時間がかかっていた 13 チケットの進め方は以下の通り 実装 → レビュー → (修正 & 再レビュー) → マージ
Slide 14
Slide 14 text
進捗に遅れが出ていた原因 原因: レビューしていただくのに時間がかかっていた 14 本プロジェクトで自分が実装したコードを iOSチームのメンバーにレビューしていただく 【問題点】 1. レビュアーは自分からのレビュー以外にもいくつかのレビュー依頼を受けている場合がある 2. レビュアーはこのプロジェクトの担当者ではない チケットの進め方は以下の通り 実装 → レビュー → (修正 & 再レビュー) → マージ
Slide 15
Slide 15 text
1 レビュアーがいくつかのレビュー依頼を受けている
Slide 16
Slide 16 text
レビュアーがいくつかのレビュー依頼を受けている 先着順に処理されるので、レビュアーに先着のレビュー依頼があった場合には レビューをしてもらえるまで待ちが発生する 他のチケットを並行して進められる場合には問題にならないのだが、『このチケッ トを終わらせてからでないと次のチケットを進められない』という場合に、問題と なる 16
Slide 17
Slide 17 text
どうすればよいのか? チケットに着手するときに このチケットのレビューの優先度が高いことを伝える ようにする 例: 17 「今から実装をするこのチケットは〇〇(期限)までに完了させたく、優先度高めでレ ビューしていただけるとありがたいです 」
Slide 18
Slide 18 text
どうすればよいのか? チケットに着手するときに このチケットのレビューの優先度が高いことを伝える ようにする 18 「このレビュー依頼はそれほど優先度が高くないので、今されている〇〇の作業を優先 していただき、そちらが落ち着いてからでの確認で大丈夫です 」 また、レビュー依頼時にこんな気遣いをするようにもなった... 「レビューをしていただいてる間に、こちらで代わりに進められることがあれば教えて ください 」
Slide 19
Slide 19 text
2 レビュアーはこのプロジェクトの担当者ではない
Slide 20
Slide 20 text
レビュアーはこのプロジェクトの担当者ではない 本プロジェクトは自分1人でiOSの実装を担当しているということは、レビュアーは プロジェクトの担当者ではなく... レビュー依頼時にその実装の背景などを伝える必要がある 20 伝える必要のある背景の例 ● プロジェクトの内容 ● 実装しようとしてる機能の仕様 ● なぜこの実装が必要になるのか
Slide 21
Slide 21 text
どうすればよいのか? プロジェクトを1人で担当する場合にはこの『レビュアーに実装の背景を伝える』と いうのは避けては通れない... → チームでのルールとしてサブ担当という役職をつくることとなった 21 サブ担当の役割 ● プロジェクトの内容をキャッチアップする ● 前提知識が必要なレビューを担当する ● 技術的な相談相手となる
Slide 22
Slide 22 text
これらの学びを得たこともあり、初担当プロジェクトで開発 した『アプリアップデート通知機能』が無事にリリースされ ました
Slide 23
Slide 23 text
働くをもっと楽しく、創造的に