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.8k
新卒1年目がプロジェクトを進めるときにコケたポイント
2024/3/15「私みたいになるな!」わたしのしくじりLT会 の登壇資料
Ryu-nakayama
March 15, 2024
Tweet
Share
More Decks by Ryu-nakayama
See All by Ryu-nakayama
iOSアプリで測る!名古屋駅までの 方向と距離
ryunakayama
0
110
「ジェン文字」をアプリ内で使ってみよう
ryunakayama
0
36
SwiftDataと連携したWidgetを作ってみた
ryunakayama
1
75
Swift Macroでメソッドの実行時間を計測できるようにしてみた
ryunakayama
1
140
Appleの審査担当の方とお話ししてみた!
ryunakayama
0
240
大公開!iOS開発の悩みトップ5 〜iOSDC Japan 2024〜
ryunakayama
0
300
Translation API について 〜WWDC24〜
ryunakayama
0
290
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
1.7k
期限が近づいてきた!Privacy Manifests対応
ryunakayama
5
11k
Other Decks in Technology
See All in Technology
SDカードフォレンジック
su3158
1
640
10ヶ月かけてstyled-components v4からv5にアップデートした話
uhyo
4
260
テストって楽しい!開発を加速させるテストの魅力 / Testing is Fun! The Fascinating of Testing to Accelerate Development
aiandrox
0
110
ここはMCPの夜明けまえ
nwiizo
32
11k
サーバレス、コンテナ、データベース特化型機能をご紹介。CloudWatch をもっと使いこなそう!
o11yfes2023
0
190
SnowflakeとDatabricks両方でRAGを構築してみた
kameitomohiro
1
470
Cursor AgentによるパーソナルAIアシスタント育成入門―業務のプロンプト化・MCPの活用
os1ma
15
5.7k
Goの組織でバックエンドTypeScriptを採用してどうだったか / How was adopting backend TypeScript in a Golang company
kaminashi
12
8.6k
4/16/25 - SFJug - Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
2
130
Cross Data Platforms Meetup LT 20250422
tarotaro0129
1
760
更新系と状態
uhyo
8
1.9k
C++26アップデート 2025-03
faithandbrave
0
1.1k
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
183
22k
Embracing the Ebb and Flow
colly
85
4.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
119
51k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Bash Introduction
62gerente
611
210k
We Have a Design System, Now What?
morganepeng
52
7.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
Building Flexible Design Systems
yeseniaperezcruz
329
38k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.4k
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 サブ担当の役割 • プロジェクトの内容をキャッチアップする •
前提知識が必要なレビューを担当する • 技術的な相談相手となる
これらの学びを得たこともあり、初担当プロジェクトで開発 した『アプリアップデート通知機能』が無事にリリースされ ました
働くをもっと楽しく、創造的に