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
新卒1年目がプロジェクトを進めるときにコケたポイント
Search
Ryu-nakayama
March 15, 2024
Technology
1
1.7k
新卒1年目がプロジェクトを進めるときにコケたポイント
2024/3/15「私みたいになるな!」わたしのしくじりLT会 の登壇資料
Ryu-nakayama
March 15, 2024
Tweet
Share
More Decks by Ryu-nakayama
See All by Ryu-nakayama
Translation API について 〜WWDC24〜
ryunakayama
0
79
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
1.6k
期限が近づいてきた!Privacy Manifests対応
ryunakayama
5
10k
新卒iOSエンジニアとしてやってきたこと
ryunakayama
0
1.7k
今年学んだ便利ツール_便利技
ryunakayama
0
1.7k
git worktreeを使って複数ブランチを扱いやすくする
ryunakayama
0
2.6k
KMPを使ってみて感じた良いところ・ツラいところ
ryunakayama
0
1.9k
SwiftUIに適した新アーキテクチャの導入に挑む
ryunakayama
2
9.7k
Swiftでテスト時のみ『private』にアクセスする方法
ryunakayama
1
2.7k
Other Decks in Technology
See All in Technology
GoとアクターモデルでES+CQRSを実践! / proto_actor_es_cqrs
ytake
1
150
サービス開発を前に進めるために 新米リードエンジニアが 取り組んだこと / Steps Taken by a Novice Lead Engineer to Advance Service Development
nologyance
0
180
【基調講演】変える、今ここから ― IoTとAIで紡ぐ未来
soracom
PRO
0
320
Docker互換のセキュアなコンテナ実行環境「Podman」超入門
devops_vtj
6
3.2k
セキュリティ研修 Day1【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
公共領域から学ぶ クラウド移行についてエンジニアが意識していること
kawakawa2222
0
140
[NIKKEI Tech Talk]Bias for Action!! 実践から学ぶための仕組とコミュニティ / Community for Practice and Learning
kanamasa
0
270
簡単に始めるSnowflakeの機械学習
nayuts
1
190
LINE WORKSへ簡単通知!Incoming Webhookアプリの紹介
mmclsntr
0
110
Git 研修 Advanced【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
200
[2024最新版]AWS Control Towerを使ったセキュアなマルチアカウント環境の作り方
hiashisan
0
270
楽しくGoを学び合う、LayerXの勉強会文化 / LayerX's study culture of having fun and learning Go together
ar_tama
2
350
Featured
See All Featured
Teambox: Starting and Learning
jrom
130
8.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
78
15k
The World Runs on Bad Software
bkeepers
PRO
63
11k
Mobile First: as difficult as doing things right
swwweet
219
8.8k
Building Your Own Lightsaber
phodgson
101
5.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
Building a Modern Day E-commerce SEO Strategy
aleyda
25
6.7k
Optimizing for Happiness
mojombo
373
69k
For a Future-Friendly Web
brad_frost
173
9.2k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
105
6.8k
Raft: Consensus for Rubyists
vanstee
134
6.5k
No one is an island. Learnings from fostering a developers community.
thoeni
17
2.8k
Transcript
Chatwork株式会社 モバイルアプリケーション開発部 中山 龍 2024年3月15日 新卒1年目がプロジェクトを進めると きにコケたポイント
自己紹介 中山 龍 (なかやま りゅう) • Chatwork株式会社 ◦ 新卒1年目のiOSエンジニア(21) •
フルリモート勤務で愛知県在住 2 @ryu_develop この会場はモバイル勉強会でたくさんお世話になってい ます
新卒1年目、どんなことした?
新卒1年目でやったこと アプリアップデート通知 PJ 4 Privacy Manifests対応 PJ iOS14ドロップ対応 PJ ルーキー賞
iOSDC登壇 など...
新卒1年目でやったこと アプリアップデート通知 PJ 5 Privacy Manifests対応 PJ iOS14ドロップ対応 PJ ルーキー賞
iOSDC登壇 など... このプロジェクトの中で をお話します • 学んだこと • やらかしたこと
アプリアップデート通知 PJ
• 使用中のアプリよりも新しいアプリがリリースされてい る場合に、アップデートを促す通知を表示する機能 • 初担当のプロジェクト • iOSの実装は基本的に僕1人で担当 ◦ 困ったときには他メンバーのサポートあり プロジェクト概要
7
プロジェクト概要〜進め方〜 8 ア サ イ ン 見 積 も り
仕 様 の 把 握 実 装 レ ビ ュ | マ | ジ 開 発 完 了 各工程がどの時期に完了するか いつのリリースにするか を洗い出し 機能の開発が完了するまで 実装〜マージを繰り返す 動作検証へ
1 期限がまずい!なぜ見積もりが狂った??
何が起きたのか? 見積もりの時点で『各工程がどの時期に完了するか』を洗い出した (開発の最中のチェックポイントが設定されたイメージ) そして実装開始! 実装自体はそれほど遅れなく進めることができていた 10 プロジェクト概要〜進め方〜 から引用
何が起きたのか? 見積もりの時点で『各工程がどの時期に完了するか』を洗い出した (開発の最中のチェックポイントが設定されたイメージ) そして実装開始! 実装自体はそれほど遅れなく進めることができていた だが、チケットを進めていく中で徐々に遅れが出てきた... 11 プロジェクト概要〜進め方〜 から引用
何が起きたのか? 見積もりの時点で『各工程がどの時期に完了するか』を洗い出した (開発の最中のチェックポイントが設定されたイメージ) そして実装開始! 実装自体はそれほど遅れなく進めることができていた だが、チケットを進めていく中で徐々に遅れが出てきた... 12 プロジェクト概要〜進め方〜 から引用 なぜ...?
進捗に遅れが出ていた原因 原因: レビューしていただくのに時間がかかっていた 13 チケットの進め方は以下の通り 実装 → レビュー → (修正
& 再レビュー) → マージ
進捗に遅れが出ていた原因 原因: レビューしていただくのに時間がかかっていた 14 本プロジェクトで自分が実装したコードを iOSチームのメンバーにレビューしていただく 【問題点】 1. レビュアーは自分からのレビュー以外にもいくつかのレビュー依頼を受けている場合がある 2.
レビュアーはこのプロジェクトの担当者ではない チケットの進め方は以下の通り 実装 → レビュー → (修正 & 再レビュー) → マージ
1 レビュアーがいくつかのレビュー依頼を受けている
レビュアーがいくつかのレビュー依頼を受けている 先着順に処理されるので、レビュアーに先着のレビュー依頼があった場合には レビューをしてもらえるまで待ちが発生する 他のチケットを並行して進められる場合には問題にならないのだが、『このチケッ トを終わらせてからでないと次のチケットを進められない』という場合に、問題と なる 16
どうすればよいのか? チケットに着手するときに このチケットのレビューの優先度が高いことを伝える ようにする 例: 17 「今から実装をするこのチケットは〇〇(期限)までに完了させたく、優先度高めでレ ビューしていただけるとありがたいです 」
どうすればよいのか? チケットに着手するときに このチケットのレビューの優先度が高いことを伝える ようにする 18 「このレビュー依頼はそれほど優先度が高くないので、今されている〇〇の作業を優先 していただき、そちらが落ち着いてからでの確認で大丈夫です 」 また、レビュー依頼時にこんな気遣いをするようにもなった... 「レビューをしていただいてる間に、こちらで代わりに進められることがあれば教えて ください 」
2 レビュアーはこのプロジェクトの担当者ではない
レビュアーはこのプロジェクトの担当者ではない 本プロジェクトは自分1人でiOSの実装を担当しているということは、レビュアーは プロジェクトの担当者ではなく... レビュー依頼時にその実装の背景などを伝える必要がある 20 伝える必要のある背景の例 • プロジェクトの内容 • 実装しようとしてる機能の仕様
• なぜこの実装が必要になるのか
どうすればよいのか? プロジェクトを1人で担当する場合にはこの『レビュアーに実装の背景を伝える』と いうのは避けては通れない... → チームでのルールとしてサブ担当という役職をつくることとなった 21 サブ担当の役割 • プロジェクトの内容をキャッチアップする •
前提知識が必要なレビューを担当する • 技術的な相談相手となる
これらの学びを得たこともあり、初担当プロジェクトで開発 した『アプリアップデート通知機能』が無事にリリースされ ました
働くをもっと楽しく、創造的に