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
巨大プロジェクトにおける オンボーディング
Search
forcia_dev_pr
August 15, 2021
Technology
0
240
巨大プロジェクトにおける オンボーディング
forcia_dev_pr
August 15, 2021
Tweet
Share
More Decks by forcia_dev_pr
See All by forcia_dev_pr
第7回ゆるふわオンサイト解説
forcia_dev_pr
0
170
第6回ゆるふわオンサイト解説
forcia_dev_pr
0
200
よくわかるFORCIAのエンジニア旅行SaaSプロダクト開発編
forcia_dev_pr
0
610
よくわかるフォルシアのエンジニア 新卒採用編
forcia_dev_pr
0
3.1k
第5回ゆるふわオンサイト解説
forcia_dev_pr
0
130
よくわかるフォルシアのエンジニア 旅行プラットフォーム部編
forcia_dev_pr
0
5.6k
React hooks を気合で理解する
forcia_dev_pr
0
360
k8sマニフェストを Typescriptで管理したい― cdk8s+を導入してみました ―
forcia_dev_pr
0
340
第4回ゆるふわ競技プログラミングオンサイト解説
forcia_dev_pr
0
520
Other Decks in Technology
See All in Technology
Two Blades, One Journey: Engineering While Managing
ohbarye
4
1.9k
Windows の新しい管理者保護モード
murachiakira
0
200
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.5k
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
230
OCI Success Journey OCIの何が評価されてる?疑問に答える事例セミナー(2025年2月実施)
oracle4engineer
PRO
2
140
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
500
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
3
5.9k
Pwned Labsのすゝめ
ken5scal
2
410
Visualize, Visualize, Visualize and rclone
tomoaki0705
9
82k
内製化を加速させるlaC活用術
nrinetcom
PRO
2
140
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
140
手を動かしてレベルアップしよう!
maruto
0
200
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Being A Developer After 40
akosma
89
590k
Music & Morning Musume
bryan
46
6.4k
Code Reviewing Like a Champion
maltzj
521
39k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Statistics for Hackers
jakevdp
797
220k
RailsConf 2023
tenderlove
29
1k
Become a Pro
speakerdeck
PRO
26
5.2k
A Tale of Four Properties
chriscoyier
158
23k
Designing Experiences People Love
moore
140
23k
Transcript
巨大プロジェクトにおける オンボーディング 島本 晃平 2021.08.10 FORCIA Meetup #3 エンジニアとして技術を「伝える」技術
自己紹介 • 島本 晃平 (Kohei Shimamoto) ◦ 2013年新卒入社(9年目) • ソフトウェアエンジニア
◦ 大手の旅行・福利厚生企業の開発・運用(2013年~now) ▪ 大手旅行会社の巨大プロジェクトのEL(2019年~2020年) • このプロジェクトでの経験をお話します ◦ 技術教育チーム(立ち上げの2014年から2018年くらいまで) ◦ 新規事業立ち上げ(2020年~now) • 趣味 ◦ サッカー(社会人新宿区1部リーグ所属) ◦ 旅行(写真のドブロブニクは最高!!) 2
新規事業 旅行用モデルコース提供サービス Trakite 3
4 小豆島観光協会様の事例はこちら @trakite_pr 新規事業 旅行用モデルコース提供サービス Trakite
目次 • フォルシアの「大型」案件とは • オンボーディングの難しさ • オンボーディングを促すアクション • アクションの結果 •
エンジニアリーダー視点から見たフォルシア 5
フォルシアの「大型」案件とは 6
フォルシアの案件規模 エンジニ アの人 数 7 大規模 期間 1人 数日 2~3人
数ヵ月 4~10人 1~2年 少数の案件 大部分の案件
私がリーダーを務めた「大型」案件の規模 エンジニ アの人 数 8 大規模 期間 1人 数日 2~3人
数ヵ月 10人 1年 私がリーダー を務めた案件 4~10人 1~2年 大部分の案件 少数の案件
私がリーダーを務めた「大型」案件の規模 エンジニ アの人 数 9 大規模 期間 1人 数日 2~3人
数ヵ月 10人 1年 私がリーダー を務めた案件 4~10人 1~2年 大部分の案件 少数の案件 2人から7ヵ月かけて10人へ 沢山オンボードしている
フォルシアの特徴 エンジニ アの人 数 10 大規模 期間 1人 数日 2~3人
数ヵ月 4~10人 1~2年 ほぼ社員で構成 大部分の案件 少数の案件 10人 1年 私がリーダー を務めた案件 精鋭メンバーが領域ごとに 分担することが多かった
私がリーダーを務めた「大型」案件の特徴 エンジニ アの人 数 11 大規模 期間 1人 数日 2~3人
数ヵ月 10人 1年 私がリーダー を務めた案件 4~10人 1~2年 業務委託含む構成 チームでまんべんなく対応 大部分の案件 少数の案件 ほぼ社員で構成 精鋭メンバーが領域ごとに 分担することが多かった SHIFT
オンボーディングの難しさ 12
オンボーディングの難しさ 13 • パフォーマンスを発揮できる環境の構築 • 文脈のキャッチアップ
パフォーマンスを発揮できる環境の構築 14 • 心理的安全の確保 ◦ チームの雰囲気にどうやって馴染むか ◦ 文脈のキャッチアップが大変・案件の難易度も高い不安 ◦ はじめましてのメンバーでの信頼関係の構築
• メンバーの主体性の確保 ◦ 何からやればいいのやら ◦ 期待値調整 ▪ 求められる役割は? 案件を通して得たいものは?
文脈のキャッチアップ 15 • 開発のあれこれ ◦ 設計・実装方針・フレームワークの使い方 ◦ 顧客や業界特有のビジネスロジック • ドキュメントのあれこれ
◦ 大量のドキュメントの管理 • コミュニケーション方法のあれこれ ◦ 社内外で関係者が数十人もいる中でだれに、なにを? ◦ 電話・JIRA・backlog・メール・MTGのいつ、どうやって?
オンボーディングの難しさ 16 • パフォーマンスを発揮できる環境の構築 ◦ コミュニケーションの課題 • 文脈のキャッチアップ ◦ キャッチアップの順番整備の課題
オンボーディングを促すアクション 17
オンボーディングを促すアクション 18 明日から実践出来る3つ • にぎやかす • コミュニケーションの場を作る • タスクアサインを工夫する
オンボーディングを促すアクション 19 明日から実践出来る3つ • にぎやかす • コミュニケーションの場を作る • タスクアサインを工夫する キャッチアップ促進
コミュニケーション改善
オンボーディングを促すアクション 20 明日から実践出来る3つ • にぎやかす • コミュニケーションの場を作る • タスクアサインを工夫する ちょっと具体に話します
さくっと話します
オンボーディングを促すアクション 21 明日から実践出来る3つ • にぎやかす • コミュニケーションの場を作る • タスクアサインを工夫する
にぎやかす 22 コミュニケーションの量を増やすためのにぎやかな雰囲気を作る 心理的安全を確保する • 基本の挨拶・パーソナルな話をする • チームのスタンスに合わせて煽ってにぎやかす ◦ 「大変な時こそ笑って前向きに」が部のコンセプト
• PM、部長、リーダーなど偉い人程いじる ◦ キャラクターを見せてもらい「壁がない」ことを周知する • 若手や業務委託の人の発言を促し、主体者であることを求める
オンボーディングを促すアクション 23 明日から実践出来る3つ • にぎやかす • コミュニケーションの場を作る • タスクアサインを工夫する
コミュニケーションの場を作る 24 コミュニケーションの質を高めるために目的に合わせた場を設定 心理的安全の確保とキャッチアップを促進する • キックオフMTG • スタンドアップMTG • スプリント振り返りMTG
• 設計・実装方針の認識合わせMTG • MRのレビュー
コミュニケーションの場を作る 実施タイミング 25 コミュニケーションの質を高めるために目的に合わせた場を設定 心理的安全の確保とキャッチアップを促進する • キックオフMTG → フェーズごと • スタンドアップMTG → 毎日
• スプリント振り返りMTG → スプリントごと • 設計・実装方針の認識合わせMTG → 1,2ヵ月に1回 • MRのレビュー → 都度
コミュニケーションの場を作る 実施目的 26 コミュニケーションの質を高めるために目的に合わせた場を設定 心理的安全の確保とキャッチアップを促進する • キックオフMTG → PJの認識合わせ • スタンドアップMTG → 互いを知る
• スプリント振り返りMTG → 開発プロセス改善 • 設計・実装方針の認識合わせMTG → 開発の認識合わせ • MRのレビュー → 文脈のキャッチアップ
キックオフMTG フェーズごと・PJの認識合わせ 27 • フェーズ毎に実施 ◦ 要件定義、開発、試験など • 案件概要 / 全体のスケジュール
/ 開発の進め方 / プロジェクトリスク について / チームで達成したいこと、個人で達成したいことをすり合わ せる • キックオフMTGは全社的に実施する文化がある
スタンドアップMTG 毎日・互いを知る 28 • 毎日、一人当たり1分、今日やること、疑問 の共有 ◦ 具体的な相談は後で • 全体への共有 ▪ 顧客状況などのPJ関連トピックの共有
• テーマを決めておしゃべり ◦ 雑談・パーソナルな話をするのも目的の一つ
スプリント振り返り スプリントごと・開発プロセス改善 29 • 今回のスプリントの状況確認(5分程度) • プロセス改善_スプリント振り返り (20~30分) ◦ KPT(Keep /
Problem / Try) • 次のスプリントでやること_バックログ棚卸し(15分) • にぎやかしも忘れずに
設計・実装方針の認識合わせ会 隔月・開発の認識合わせ 30 • チーム全体でのより深い認識合わせ ◦ 日常の個々のメンバーでのやり取りよりも踏み込む ◦ 設計意図の共有や方針に関する不明点の解消 • より良い設計・実装方針の相談
◦ メンバーの知見を集結・共有して最適な設計を考える ▪ モジュールの新機能の活用法検討など
MRのレビュー 都度・文脈のキャッチアップ 31 • MRに対して :thumbsup: 2つ以上でマージOKのルール ◦ 全メンバーでレビューをする ◦ 基本的に自分はすべてのMRをレビューしていた • 要件を把握している人のレビュー
◦ 設計・実装方針に沿っているか • 要件を把握していない人のレビュー ◦ レビューを通してキャッチアップする ▪ 実装の意図がわからなければレビューコメントで質問 ▪ あとからジョインした人にも可読性の高いソースへ修正
ドキュメントのエントリーポイントを作る 32 • このドキュメントどこにあります?は100回聞かれる • まずは「これ見て」で調べられる状態になる ◦ 各ドキュメントの置き場へのリンク ◦ 誰が何に詳しいか
◦ 先方とのコミュニケーションの方法 • 「書いてなかったよ」→「ここにあるよ。追記もよろしく」 ◦ みんなが同じ所を通って整備出来る状況がつくれる ◦ ドキュメント探し・コミュニケーション方法のキャッチアップを促す
オンボーディングを促すアクション 33 明日から実践出来る3つ • にぎやかす • コミュニケーションの場を作る • タスクアサインを工夫する コミュニケーション改善
オンボーディングを促すアクション 34 明日から実践出来る3つ • にぎやかす • コミュニケーションの場を作る • タスクアサインを工夫する キャッチアップ促進
タスクアサインの工夫 35 チームジョイン時の最初のタスクアサインの工夫 • 自走力に合わせてゴールに向かって走れるタスクをアサイン • こなしながらあれこれキャッチアップ出来るようにアサイン • 責任もセットでアサイン
タスクアサインの工夫 36 チームジョイン時の最初のタスクアサインの工夫 • 自走力に合わせてゴールに向かって走れるタスクをアサイン • こなしながらあれこれキャッチアップ出来るようにアサイン • 責任もセットでアサイン
タスクアサインの工夫 自走力とは 37 • ゴール明確化力 ◦ モジュール開発 ⇒ Input / Output ◦ 検索ページ開発 ⇒ 要件から仕様への落とし込み
etc. • 実行力 ◦ モジュール開発 ⇒ テストを書いて通す実装力 ◦ 検索ページ開発 ⇒ 設計、対応方針、タスクの分解 etc. タスクの粒度が大きくなると実装力以外の能力が求められる
タスクアサインの工夫 自走力とは 38 タスクの大きさ (習得に経験が必要) 小 大 • 要件面 ◦ 要件から適切な仕様への落とし込み
◦ 要件を実現する実装方法 • 開発プロセス面 ◦ 設計力・適切な処理の粒度 ◦ 開発順序・検証項目 • 実装面 ◦ 必要機能の明確化と実現 ◦ 現状のアプリの理解
タスクアサインの工夫 自走力のある人 39 分割して 対応順に 並べる • ゴールを明確化し、タスクを分解して、適切な順番で対応する • 経験が少ないと難しい作業、手戻りが多くいつまでも終わらない ◦
伴走してもいきなり検索ページを作るのは難しい 実装 自走力がある人の大きなタスクの進め方 モジュールの実装 etc.
タスクアサインの工夫 タスクの粒度・渡し方 40 自走力・経験 豊富 これから スプリント タスクの分解から丸っ とお任せ 小さく分解 明確なゴール 順番に渡す
飲み込み易く フォロー 少しずつ大きくしながら ゴール明確化力を養う
タスクアサインの工夫 41 チームジョイン時の最初のタスクアサインの工夫 • 自走力に合わせてゴールに向かって走れるタスクをアサイン • こなしながらあれこれキャッチアップ出来るようにアサイン • 責任もセットでアサイン
タスクアサインの工夫 キャッチアップの順番 42 • 要件面 ◦ 要件から適切な仕様への落とし込み ◦ 要件を実現する実装方法 • 開発プロセス面
◦ 設計力・適切な処理の粒度 ◦ 開発順序・検証項目 • 実装面 ★ここを促進させるアサイン ◦ 必要機能の明確化と実現 ◦ 現状のアプリの理解 キャッチアップ順
タスクアサインの工夫 タスク例 43 • 課題・ゴール • 対応方針 を具体化して 手を動かせるようにし 成功体験を作る •
ソース上の対応箇所 • 参考実装・実装の経緯 なども伝えて 手を動かしながらアプリの キャッチアップを促進
タスクアサインの工夫 44 チームジョイン時の最初のタスクアサインの工夫 • 自走力に合わせてゴールに向かって走れるタスクをアサイン • こなしながらあれこれキャッチアップ出来るようにアサイン • 責任もセットでアサイン
タスクアサインの工夫 責任もセットでアサイン 45 • 「このタスクをゴールまで持ってく責任は貴方にあります。」とアサイン ◦ プロとして信頼して任せるというメッセージ ▪ ヘルプを求めても良いが期限内の完遂に責任を課す ▪ 期限直前でヘルプを上げても間に合わない
• 任せて放置ではない ◦ ゴールを明確化し自走出来る状況を作るまでは手伝う ◦ 適度に声をかけて走れているか確認 ▪ 自走できる状況を都度作り直す • ※心理的安全を確保しているから取れるアクションであることに注意
オンボーディングを促すアクション 46 明日から実践出来る3つ • にぎやかす • コミュニケーションの場を作る • タスクアサインを工夫する キャッチアップ促進
コミュニケーション改善
アクションの結果(?) 47
アクションの結果(?) 48 • 100~200コミット/日 の爆速開発 • 「大変なのにいつも明るく前向きで良いチーム」 ◦ と評価されその年の社内No.1プロジェクトに選ばれる • 他チームから移籍してきてくれたメンバーからの絶賛の声
◦ 「チームにめちゃくちゃスムーズにジョイン出来ました」 ◦ 「こんなにみんながレビューしてくれるチームはないです」 • メンバーの成長(もちろん個人の能力によるものが大きい) ◦ 外部メンバーが運用フェーズの要に ◦ 当時新卒1年目のエンジニアが次フェーズで中心メンバーに
エンジニアリーダー視点から見たフォルシア 49
エンジニアリーダー視点から見たフォルシア 50 • エンジニア ◦ 前向きさ・責任感・学習意欲があり、コミュニケーションの質が高い • PM ◦ 仕様の番人として絶大な信頼がおける
◦ エンジニアとも対等な関係で丁寧なコミュニケーションがとれる • 営業 ◦ エンジニアとの対立がない ◦ 顧客と対等な立場を築くためのタフな交渉を請け負う頼れる仲間 • 顧客との関わり方 ◦ パートナーとしてプロジェクトオーナーと対面出来る面白さ
EOF