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

若手育成と機能開発を両立する開発戦略 〜新機能開発を若手チームに任せてみた〜 / Development strategy that balances training of young engineers and function development

05e5e8d721f81b6a9aaa104989cc2e5b?s=47 MisatoKii
August 04, 2021
550

若手育成と機能開発を両立する開発戦略 〜新機能開発を若手チームに任せてみた〜 / Development strategy that balances training of young engineers and function development

若手エンジニア育成に取り組むにあたっての課題感と向き合い、若手エンジニアチームに新機能開発を思い切って任せたお話しである。

05e5e8d721f81b6a9aaa104989cc2e5b?s=128

MisatoKii

August 04, 2021
Tweet

Transcript

  1. ©2021 RAKUS Co., Ltd. #RAKUSMeetup 若手育成と機能開発を両立する開 発戦略 紀井 美里 〜新機能開発を若手チームに任せてみた〜

  2. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 自己紹介 紀井 美里(きい みさと) 2013年にラクス入社。

    入社以来、一貫して楽楽精算の開発を担当。 ベトナムオフショア開発の立ち上げを経て、国内の開発チームへ。 現在、楽楽精算の開発1課チームリーダーとして、上流設計やプロジェクト管理を 担当。 好きなベトナム料理 バインミー、さとうきびジュース 2
  3. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 楽楽精算の紹介 • 経費・交通費・出張費・旅費・交際費など、すべての経費精算フローを、 社内の誰もが「楽」できるようになるクラウド型の経費精算システムです。 •

    2009年リリース • 8,000社の導入実績! 国内累計導入社数No.1の経費精算システム 3
  4. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 本日お話しすること 若手育成に取り組むにあたっての課題感と向き合い、 若手エンジニアチームに新機能開発を思い切って任せたお 話しである。 ※若手の定義(新卒3年目までのエンジニア)

    4
  5. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 楽楽精算開発体制 5 楽楽精算開発1課 楽楽精算開発2課 オフショアチーム

    シニアエンジニアチーム 中堅&若手ハイブリットチーム 若手エンジニアチーム ラクスベトナム モバイルチーム
  6. #RAKUSMeetup ©2021 RAKUS Co., Ltd. きっかけ リリースから順調にビジネスとして成長を遂げてきた楽 楽精算。 開発規模をスケールするために徐々に開発エンジニア が増えていく。

    開発量とスピード、もちろん品質も求められる中、シニ アエンジニアを中心とし、個人開発からチーム開発へ の転換が軌道にのる。 2チーム体制  シニアエンジニアチーム  若手エンジニアチーム ※詳しくは、「開発グループが開発チームになるまでの歩み」をご覧ください。ロ グミーにも掲載しております。 https://speakerdeck.com/misatokii/rakus-meetup-tokyo-5- from-dev-group-to-dev-team https://logmi.jp/tech/articles/323097 6
  7. #RAKUSMeetup ©2021 RAKUS Co., Ltd. きっかけ シニアエンジニアチームに任せることで安定して新機能開発ができる状 態になった。 組織の未来を考えると若手育成は向き合うべき課題。 さぁ、次は若手エンジニアの育成。

    7
  8. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 当時の状況 新卒3年目:3名 新卒2年目:1名 新卒1年目:2名 •

    若手メンバーは、バグ修正や比較的規模の大きくない新機能開発をアサイン(20〜30 人日) • 若手メンバーはもっと規模が大きく難易度もある機能開発(50人日over)の実践を積 まなければ、ここからの成長は厳しい(実践に勝る経験学習はない) • 事業戦略もあり、若手育成にチャレンジしてもらうちょうどいい規模や難易度の機能開発は 計画が立てにくい 8
  9. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 漠然とした課題感 <足踏みしている一番の理由> 事業戦略もあり、若手育成にチャレンジしてもらう ちょうどいい規模や難易度の機能開発は計画が立 てにくい

    9
  10. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 漠然とした課題感 <足踏みしている一番の理由> 事業戦略もあり、若手育成にチャレンジしてもらう ちょうどいい規模や難易度の機能開発は計画が立 てにくい

    10 なぜ、このような条件を私自身が望むのかを 掘り下げてみた
  11. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 漠然とした課題感 ちょうどいい規模や難易度の機能開発は計画が立てにくい 品質、コスト、納期 (QCD) 若手だと経験、スキル不足で

    • 品質面が心配 • シニアメンバーより時間が必要(納期(開発期間)がネック) 11
  12. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 漠然とした課題感から明確な課題へ 若手育成を目的に開発案件を任せた時に • 品質面が懸念 •

    納期が守れない(開発期間が足りない) この課題(心配事)を打破できれば、任せられる!! 12
  13. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 課題に対する施策 13 課題 施策 品質面が懸念

    シニアエンジニアのメンバーにフォローしてもらい、品質を維持 する 納期が守れない (開発期間が足 りない) 開発期間の確保(開発期間が通常より長かったら対応が できる)
  14. #RAKUSMeetup ©2021 RAKUS Co., Ltd. STEP1 品質面の懸念を打破 若手を開発主担当とし、プロジェクト管理とフォローやレビューをシニア エンジニアメンバーに任せ機能開発にチャレンジすることにした。 <メンバー構成と役割分担>

    • 若手エンジニア(新卒3年目2人)/ 設計、製造 • シニアエンジニア(2人)/ 設計や成果物のレビュー、プロジェクト管理 私の想い… 3ヶ月間開発をしてもらい、実践を通してしか得られない緊張感や想定外など、身をもって知 る期間とする。主担当にすることで、責任をもって取り組んでもらう。 14
  15. #RAKUSMeetup ©2021 RAKUS Co., Ltd. STEP1 品質面の懸念を打破 <ポイント> まずは小さくTRY! <戦略>

    『シニアメンバーにプロジェクト管理、品質面を任せ、納期に遅れそうな 場合は納期重視で支援を行う』 15
  16. #RAKUSMeetup ©2021 RAKUS Co., Ltd. STEP1 品質面の懸念を打破 『シニアメンバーにプロジェクト管理、品質面を任せ、納期に遅れそうな場合は納期重視で支援を行う』 <戦術> •

    マイルストーンで予実管理 • 若手中心に開発は進めたが、予実との乖離が大きく開く前に枝葉の部分の製造にシニア エンジニアフォローを入れて、開き過ぎないように開発をやり切る • シニアエンジニアを製造のフォローに入れる閾値を決めておく 16
  17. #RAKUSMeetup ©2021 RAKUS Co., Ltd. STEP1 品質面の懸念を打破 <結果> 納期までに必要な工程は完了でき、品質も落ちることはなかった。 <分かったこと>

    若手エンジニアに製造フェーズの経験値を積めるかつ、支援により品 質は落ちることはない。機能のリリースとを両立できる方法の1つである。 17
  18. #RAKUSMeetup ©2021 RAKUS Co., Ltd. STEP2 納期が守れない(開発期間が足りない)を打破 シニアエンジニアの支援を引き続き得ながら、若手チームにプロジェク トごとお任せすることにした。 Q.

    若手エンジニアにいきなりプロジェクト管理も 任せるの?? 18
  19. #RAKUSMeetup ©2021 RAKUS Co., Ltd. STEP2 納期が守れない(開発期間が足りない)を打破 19 A. いいえ、いきなりではありません。

    楽楽精算では、メジャーリリースまでの工程に結合テスト・システムテ ストがあり、そのテスト運営をするというプロジェクト管理を実践でき る場があるのです。 ※新卒3年目までのメンバーが運営にアサインされる
  20. #RAKUSMeetup ©2021 RAKUS Co., Ltd. STEP2 納期が守れない(開発期間が足りない)を打破 シニアエンジニアの支援を引き続き得ながら、若手チームにプロジェクトご とお任せすることにした。 <メンバー構成と役割分担>

    • 若手エンジニア(新卒3年目2人)/ プロジェクト管理、設計、製造(チームのリードエン ジニア) • 若手エンジニア(新卒2年目1人・新卒1年目1人)/ 製造 • シニアエンジニア(2人)/ 成果物(設計書、ソースコード、テスト項目書)の最終チェ ック(レビュー) 20
  21. #RAKUSMeetup ©2021 RAKUS Co., Ltd. STEP2 納期が守れない(開発期間が足りない)を打破 <ポイント> STEP1の実績を生かしてTRY! <戦略>

    『成果物(設計書、ソースコード、テスト項目書)の最終チェックはシニ アエンジニアが行い、納期(開発期間)はビジネスサイドと交渉し、万 が一の時にリカバリができる開発期間を確保する』 21
  22. #RAKUSMeetup ©2021 RAKUS Co., Ltd. STEP2 納期が守れない(開発期間が足りない)を打破 22 『成果物(設計書、ソースコード、テスト項目書)の最終チェックはシニアエンジニアが行い、納期(開発 期間)はビジネスサイドと交渉し、万が一の時にリカバリができる開発期間を確保する』

    <戦術> • 任せた以上は介入し過ぎない • 担当者主体(プロジェクトの推進と実行とタスクの分割も全て若手メンバー) • フォローやバックアップ体制は用意する(困りごとがあれば相談も乗るしアドバイスもす る) • 本来の納期まで十分猶予はあったが、開発規模に合わせたスケジュールを作成し、必要 な工程を経てスケジュールのエンドに完了させる
  23. #RAKUSMeetup ©2021 RAKUS Co., Ltd. STEP2 納期が守れない(開発期間が足りない)を打破 23 実際どうだったのか… •

    スケジュールは2〜3回は引き直した • 割り込みのタスクや、レビューがつまったり、計画通りにはいかない • 実装していて詰まるところも何度かあった、リソースの確保に苦戦 • 自分達で考えながら、ペアプロなどで詰まってるところをメンバー同士で解消した • 若手メンバー同士でタスクを巻き取ってリソースを確保した • それでも解消できない所はシニアエンジニアメンバーにやり方を教わり、自分達で手を 動かして対応した メンバー同士協力しあって、周りの支援を受けながら1つ1つ壁を突破していった。
  24. #RAKUSMeetup ©2021 RAKUS Co., Ltd. STEP2 納期が守れない(開発期間が足りない)を打破 24 そして、山場を迎える。 目標のスケジュールのエンドまで残り5営業日。

    バッファも使い切り、残りのタスクは5営業日でうま くいけば終わる、トラブれば終わるか終わらないか の当落線上 ——
  25. #RAKUSMeetup ©2021 RAKUS Co., Ltd. STEP2 納期が守れない(開発期間が足りない)を打破 25 プロジェクトを進めているとわりとあるあるシーン。 スケジュールのエンドまで残り5営業日。

    バッファも使い切り、残りのタスクは5営業日でうまくいけば 終わる、トラブれば終わるか終わらないかの当落線上 —— この状況で、積極的に手を差し伸べる べきか、否か ——
  26. #RAKUSMeetup ©2021 RAKUS Co., Ltd. STEP2 納期が守れない(開発期間が足りない)を打破 26 手は差し伸べず、見守ることにした。 スケジュールのエンドまで残り5営業日。

    バッファも使い切り、残りのタスクは5営業日でうまくいけば 終わる、トラブれば終わるか終わらないかの当落線上 —— “ 残り5日、やれるだけのことをやってみよう。 達成しても、そうじゃなかったとしても、得るもの しかないんじゃないかな。“
  27. #RAKUSMeetup ©2021 RAKUS Co., Ltd. STEP2 納期が守れない(開発期間が足りない)を打破 27 <結果> 残り1営業日を残し、開発完了させることができた

    <分かったこと> 組織としてチームで若手育成を支援すればやり切れる。そのために普 段からチームの環境づくりが大事、環境こそが育成の土台である。 今後の課題:シニアエンジニアの支援をいかにして減らしていくか
  28. #RAKUSMeetup ©2021 RAKUS Co., Ltd. まとめ 28 <育成と新機能開発の両立のポイント> ◆ 育成を阻んでいる課題をシンプルにする

    • 課題は複数の要因が絡んでることがほとんど。 • 品質が、納期が、手ごろな案件が、、分解して1つずつ対応策を考える ◆ 小さくTRY! • 無理をしてまで、一度にすべての課題を解決しようとしない • プロジェクト管理や機能開発のそれぞれで実践を行う機会を作るなど、一度に初め てのことを複数詰め込まない
  29. #RAKUSMeetup ©2021 RAKUS Co., Ltd. まとめ 29 ◆ 組織やチームで若手育成を支援する環境を整える •

    シニアエンジニアからのフォロー • コーチング、動機付け • リスク観点を持ち、致命的なことにはならない施策の準備 • 上司を安心させる材料にもなる
  30. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 最後に • 若手育成の主役は若手メンバー • 私たちにできることは、あくまで育成の支援

    ◦ 環境の用意(バックアップ、フォローする体制) • ガンバレと応援しつつ、見守る 30
  31. ご清聴ありがとうございました 31