Upgrade to Pro — share decks privately, control downloads, hide ads and more …

巨大プロジェクトにおける オンボーディング

巨大プロジェクトにおける オンボーディング

forcia_dev_pr

August 15, 2021
Tweet

More Decks by forcia_dev_pr

Other Decks in Technology

Transcript

  1. 自己紹介 • 島本 晃平 (Kohei Shimamoto) ◦ 2013年新卒入社(9年目) • ソフトウェアエンジニア

    ◦ 大手の旅行・福利厚生企業の開発・運用(2013年~now) ▪ 大手旅行会社の巨大プロジェクトのEL(2019年~2020年) • このプロジェクトでの経験をお話します ◦ 技術教育チーム(立ち上げの2014年から2018年くらいまで) ◦ 新規事業立ち上げ(2020年~now) • 趣味 ◦ サッカー(社会人新宿区1部リーグ所属) ◦ 旅行(写真のドブロブニクは最高!!) 2
  2. フォルシアの案件規模 エンジニ アの人 数 7 大規模 期間 1人 数日 2~3人

    数ヵ月 4~10人 1~2年 少数の案件 大部分の案件
  3. 私がリーダーを務めた「大型」案件の規模 エンジニ アの人 数 8 大規模 期間 1人 数日 2~3人

    数ヵ月 10人 1年 私がリーダー を務めた案件 4~10人 1~2年 大部分の案件 少数の案件
  4. 私がリーダーを務めた「大型」案件の規模 エンジニ アの人 数 9 大規模 期間 1人 数日 2~3人

    数ヵ月 10人 1年 私がリーダー を務めた案件 4~10人 1~2年 大部分の案件 少数の案件 2人から7ヵ月かけて10人へ 沢山オンボードしている
  5. フォルシアの特徴 エンジニ アの人 数 10 大規模 期間 1人 数日 2~3人

    数ヵ月 4~10人 1~2年 ほぼ社員で構成 大部分の案件 少数の案件 10人 1年 私がリーダー を務めた案件 精鋭メンバーが領域ごとに 分担することが多かった
  6. 私がリーダーを務めた「大型」案件の特徴 エンジニ アの人 数 11 大規模 期間 1人 数日 2~3人

    数ヵ月 10人 1年 私がリーダー を務めた案件 4~10人 1~2年 業務委託含む構成 チームでまんべんなく対応 大部分の案件 少数の案件 ほぼ社員で構成 精鋭メンバーが領域ごとに 分担することが多かった SHIFT
  7. 文脈のキャッチアップ 15 • 開発のあれこれ ◦ 設計・実装方針・フレームワークの使い方 ◦ 顧客や業界特有のビジネスロジック • ドキュメントのあれこれ

    ◦ 大量のドキュメントの管理 • コミュニケーション方法のあれこれ ◦ 社内外で関係者が数十人もいる中でだれに、なにを?  ◦ 電話・JIRA・backlog・メール・MTGのいつ、どうやって?
  8. にぎやかす 22 コミュニケーションの量を増やすためのにぎやかな雰囲気を作る 心理的安全を確保する • 基本の挨拶・パーソナルな話をする • チームのスタンスに合わせて煽ってにぎやかす ◦ 「大変な時こそ笑って前向きに」が部のコンセプト

    • PM、部長、リーダーなど偉い人程いじる ◦ キャラクターを見せてもらい「壁がない」ことを周知する • 若手や業務委託の人の発言を促し、主体者であることを求める
  9. キックオフMTG フェーズごと・PJの認識合わせ 27 • フェーズ毎に実施 ◦ 要件定義、開発、試験など • 案件概要 / 全体のスケジュール

    / 開発の進め方 / プロジェクトリスク について / チームで達成したいこと、個人で達成したいことをすり合わ せる • キックオフMTGは全社的に実施する文化がある
  10. MRのレビュー 都度・文脈のキャッチアップ 31 • MRに対して :thumbsup: 2つ以上でマージOKのルール ◦ 全メンバーでレビューをする ◦ 基本的に自分はすべてのMRをレビューしていた • 要件を把握している人のレビュー

    ◦ 設計・実装方針に沿っているか • 要件を把握していない人のレビュー ◦ レビューを通してキャッチアップする ▪ 実装の意図がわからなければレビューコメントで質問 ▪ あとからジョインした人にも可読性の高いソースへ修正
  11. ドキュメントのエントリーポイントを作る 32 • このドキュメントどこにあります?は100回聞かれる • まずは「これ見て」で調べられる状態になる ◦ 各ドキュメントの置き場へのリンク ◦ 誰が何に詳しいか

    ◦ 先方とのコミュニケーションの方法 • 「書いてなかったよ」→「ここにあるよ。追記もよろしく」 ◦ みんなが同じ所を通って整備出来る状況がつくれる ◦ ドキュメント探し・コミュニケーション方法のキャッチアップを促す
  12. タスクアサインの工夫 自走力とは 37 • ゴール明確化力 ◦ モジュール開発 ⇒ Input / Output ◦ 検索ページ開発 ⇒ 要件から仕様への落とし込み

    etc. • 実行力 ◦ モジュール開発 ⇒ テストを書いて通す実装力 ◦ 検索ページ開発 ⇒ 設計、対応方針、タスクの分解 etc. タスクの粒度が大きくなると実装力以外の能力が求められる
  13. タスクアサインの工夫 自走力とは 38 タスクの大きさ (習得に経験が必要) 小 大 • 要件面 ◦ 要件から適切な仕様への落とし込み

    ◦ 要件を実現する実装方法 • 開発プロセス面 ◦ 設計力・適切な処理の粒度 ◦ 開発順序・検証項目 • 実装面 ◦ 必要機能の明確化と実現 ◦ 現状のアプリの理解
  14. タスクアサインの工夫 キャッチアップの順番 42 • 要件面 ◦ 要件から適切な仕様への落とし込み ◦ 要件を実現する実装方法 • 開発プロセス面

    ◦ 設計力・適切な処理の粒度 ◦ 開発順序・検証項目 • 実装面 ★ここを促進させるアサイン ◦ 必要機能の明確化と実現 ◦ 現状のアプリの理解 キャッチアップ順
  15. タスクアサインの工夫 タスク例 43 • 課題・ゴール • 対応方針 を具体化して 手を動かせるようにし 成功体験を作る •

    ソース上の対応箇所 • 参考実装・実装の経緯 なども伝えて 手を動かしながらアプリの キャッチアップを促進
  16. タスクアサインの工夫 責任もセットでアサイン 45 • 「このタスクをゴールまで持ってく責任は貴方にあります。」とアサイン ◦ プロとして信頼して任せるというメッセージ ▪ ヘルプを求めても良いが期限内の完遂に責任を課す ▪ 期限直前でヘルプを上げても間に合わない

    • 任せて放置ではない ◦ ゴールを明確化し自走出来る状況を作るまでは手伝う ◦ 適度に声をかけて走れているか確認 ▪ 自走できる状況を都度作り直す • ※心理的安全を確保しているから取れるアクションであることに注意
  17. アクションの結果(?) 48 • 100~200コミット/日 の爆速開発 • 「大変なのにいつも明るく前向きで良いチーム」 ◦ と評価されその年の社内No.1プロジェクトに選ばれる • 他チームから移籍してきてくれたメンバーからの絶賛の声

    ◦ 「チームにめちゃくちゃスムーズにジョイン出来ました」 ◦ 「こんなにみんながレビューしてくれるチームはないです」 • メンバーの成長(もちろん個人の能力によるものが大きい) ◦ 外部メンバーが運用フェーズの要に ◦ 当時新卒1年目のエンジニアが次フェーズで中心メンバーに
  18. エンジニアリーダー視点から見たフォルシア 50 • エンジニア ◦ 前向きさ・責任感・学習意欲があり、コミュニケーションの質が高い • PM ◦ 仕様の番人として絶大な信頼がおける

    ◦ エンジニアとも対等な関係で丁寧なコミュニケーションがとれる • 営業 ◦ エンジニアとの対立がない ◦ 顧客と対等な立場を築くためのタフな交渉を請け負う頼れる仲間 • 顧客との関わり方 ◦ パートナーとしてプロジェクトオーナーと対面出来る面白さ
  19. EOF