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
SwiftDataと連携したWidgetを作ってみた
ryunakayama
1
54
Swift Macroでメソッドの実行時間を計測できるようにしてみた
ryunakayama
1
110
Appleの審査担当の方とお話ししてみた!
ryunakayama
0
240
大公開!iOS開発の悩みトップ5 〜iOSDC Japan 2024〜
ryunakayama
0
270
Translation API について 〜WWDC24〜
ryunakayama
0
270
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
1.7k
期限が近づいてきた!Privacy Manifests対応
ryunakayama
5
11k
新卒iOSエンジニアとしてやってきたこと
ryunakayama
0
1.8k
今年学んだ便利ツール_便利技
ryunakayama
0
1.7k
Other Decks in Technology
See All in Technology
自分だけの仮想クラスタを高速かつ効率的に作る kubefork
donkomura
0
110
AIエージェント元年@日本生成AIユーザ会
shukob
1
240
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
200
20250304_赤煉瓦倉庫_DeepSeek_Deep_Dive
hiouchiy
2
110
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
4
6.5k
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
170
リクルートのエンジニア組織を下支えする 新卒の育成の仕組み
recruitengineers
PRO
1
140
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
150
日経のデータベース事業とElasticsearch
hinatades
PRO
0
260
Global Databaseで実現するマルチリージョン自動切替とBlue/Greenデプロイ
j2yano
0
140
Snowflake ML モデルを dbt データパイプラインに組み込む
estie
0
110
データモデルYANGの処理系を再発明した話
tjmtrhs
0
180
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
For a Future-Friendly Web
brad_frost
176
9.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Git: the NoSQL Database
bkeepers
PRO
428
65k
Bash Introduction
62gerente
611
210k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Six Lessons from altMBA
skipperchong
27
3.6k
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 サブ担当の役割 • プロジェクトの内容をキャッチアップする •
前提知識が必要なレビューを担当する • 技術的な相談相手となる
これらの学びを得たこともあり、初担当プロジェクトで開発 した『アプリアップデート通知機能』が無事にリリースされ ました
働くをもっと楽しく、創造的に