Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
#RSGT2020 テックリードは未来の話をしよう / Tech Lead in Scrum
Search
Mitsuyuki Shiiba
January 08, 2020
Technology
39
30k
#RSGT2020 テックリードは未来の話をしよう / Tech Lead in Scrum
https://confengine.com/regional-scrum-gathering-tokyo-2020/proposal/11890/tech-lead-in-scrum
Mitsuyuki Shiiba
January 08, 2020
Tweet
Share
More Decks by Mitsuyuki Shiiba
See All by Mitsuyuki Shiiba
入社3ヶ月目のエンジニアから見たカケハシ
bufferings
6
1.6k
Dynamic Config の紹介 #CircleCIJP
bufferings
0
410
最近 Fitbit をつけて散歩してるので CircleCI + Pixela で見えるようにしてみた
bufferings
1
310
誰も嫌な思いをしない変化 #scrumosaka / Scrum Fest Osaka 2021 Keynote
bufferings
14
9.9k
#RSGT2021 Rethink Scrum from a Japanese cultural perspective
bufferings
2
10k
Introduction to Cypress
bufferings
3
3.7k
The Touch and Feel of Micronaut
bufferings
0
700
Introducing Micronaut
bufferings
1
760
Service Operation Centered Development
bufferings
3
6.2k
Other Decks in Technology
See All in Technology
累計2500万着電を支える大規模 電話自動応答サービスのアーキテクチャ / Architecture of a Large-Scale Automated Phone Response Service Supporting 25 Million Cumulative Calls
ymachida
8
3.6k
CDCL による厳密解法を採用した MILP ソルバー
imai448
5
430
LLMを「速く」「安く」 動かすには / CloudNative Days Winter 2024
pfn
PRO
4
1k
Will multimodal language processing change the world?
keio_smilab
PRO
1
170
次のコンテナセキュリティの時代 - User Namespace With a Pod / CloudNative Days Winter 2024
pfn
PRO
4
350
Storybook との上手な向き合い方を考える
re_taro
5
4.4k
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
260
A Tour of Anti-patterns for Functional Programming
guvalif
0
2.3k
LLMOps: Eval-Centric を前提としたMLOps
asei
4
260
Next.jsとNuxtが混在? iframeでなんとかする!
ypresto
3
2.3k
4年で17倍に成長したエンジニア組織を支えるアーキテクチャの過去と未来
sansantech
PRO
1
4.1k
クラウドネイティブなNewSQLで実現するミッションクリティカルなアプリケーションの運用
yuyu_hf
PRO
1
140
Featured
See All Featured
Done Done
chrislema
181
16k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
27
2.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Designing the Hi-DPI Web
ddemaree
280
34k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
870
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Code Review Best Practice
trishagee
64
17k
[RailsConf 2023] Rails as a piece of cake
palkan
52
5k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Transcript
テックリードは未来の話をしよう Tech Lead in Scrum 2020/01/08 Regional Scrum Gathering Tokyo
2020 Mitsuyuki Shiiba EC Incubation Development Dept. Rakuten, Inc.
Photo by Camylla Battani on Unsplash
テックリードは未来をつくってる • 大変だけど面白いよねという話 • 今日は技術ではなくてチームづくりの実践と学びの話
椎葉 光行 (@bufferings) 好き: Java, Scrum, DDD, k8s 楽天株式会社 大阪支社
(2010年〜) ウェブアプリケーションアーキテクト 自己紹介
ECインキュベーション開発部 ECインキュベーション開発部 インフラ担当部署 デザイン担当部署 プラットフォーム担当部署 開発 グループ 開発 グループ 開発
グループ サービス サービス サービス 開発グループ EM SM PO 開発チーム ENG TL ENG … 開発チーム ENG TL ENG …
改善グループ EM SM PO 開発チーム ENG TL ENG … 開発チーム
ENG TL ENG … 内側からサポート スクラム・モブプロサポート 技術的なサポート
テックリードって必要ないんじゃないか? Photo by Olga Guryanova on Unsplash
“ある人にしかできない作業があったとしても、スクラム における開発チームのメンバーに肩書きはない。” スクラムガイド - Scrum Guides https://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-Japanese.pdf アクセス日 2020/01/04
“開発チームのメンバーに専門能力や専門分野があっ たとしても、最終的な責任は開発チーム全体が持つ。” スクラムガイド - Scrum Guides https://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-Japanese.pdf アクセス日 2020/01/04
テックリードをなくそうとしてるスクラムチームのサポート テックリードが苦しむだけだった • テックリードが見てる世界はまだメンバーには見えていない • まだスキルが足りてなくて最終的にはテックリードの判断になってしまう • こぼれ落ちてしまう部分はテックリードが全部拾ってしまう 結果 どうしてやってくれないんだろう?とイライラしてしまう
実験と観察
「スクラムをやるために開発してるんですか?」 僕が8年くらい前に当時の上司から言われたこと そんなときに思い出す言葉
テックリードはやっぱり必要だな じゃあ、どうしてスクラムにはテックリードって役割がないんだろう?
テックリードって何をしてるっけ? Photo by Jaime Spaniol on Unsplash
テックリードって何をしてるっけ? コードレビュー 会議 アーキテクチャ スクラムマスターと相談 決断 仕様のチェック プロダクトオーナーと相談 他部署と調整 技術的プロダクトオーナー
方向性を決める コーディング チームの育成 インフラチームと相談 設計 技術的負債 窓口 設計レビュー メンバーの相談 技術選定
わかる でも、ずっと続けるのはなんか違うなぁ… 技術的な最後の砦
未来への時間軸
将来的に… 未来への時間軸 チームに渡していきたい チームのために引き受けたい プロダクトオーナーと相談 方向性を決める コーディング チームの育成 技術的負債 メンバーの相談
技術選定 コードレビュー 会議 アーキテクチャ スクラムマスターと相談 決断 仕様のチェック 他部署と調整 インフラチームと相談 設計 窓口 設計レビュー 技術的プロダクトオーナー
将来的に… 未来への時間軸 チームの成長 組織の形 プロダクトオーナーと相談 技術的プロダクトオーナー 方向性を決める コーディング チームの育成 技術的負債
メンバーの相談 技術選定 コードレビュー 会議 アーキテクチャ スクラムマスターと相談 決断 仕様のチェック 他部署と調整 インフラチームと相談 設計 窓口 設計レビュー
チームの成長 組織の形 職能横断組織 職能別組織 引っ張る人が必要 自己組織化
チームの成長 組織の形 職能横断組織 職能別組織 引っ張る人が必要 自己組織化
チームの成長 組織の形 職能横断組織 職能別組織 引っ張る人が必要 自己組織化 成長を支える
The 7 Levels of Delegation Delegation Poker & Delegation Board
- Management 3.0 Practice https://management30.com/practice/delegation-poker/ アクセス日 2020/01/04 参考:「自分がやる」と「相手がやる」の二択じゃないよ © Management 3.0 2020 https://management30.com/
チームの成長 組織の形 職能横断組織 職能別組織 引っ張る人が必要 自己組織化 成長を支える
チームの成長 組織の形 職能横断組織 職能別組織 引っ張る人が必要 自己組織化 成長を支える 向かうべき?
チームの成長 組織の形 職能横断組織 職能別組織 引っ張る人が必要 自己組織化 成長を支える 向かうべき? 正直わからん! (マネージャたちを信頼してる)
チームの成長 組織の形 職能横断組織 職能別組織 引っ張る人が必要 自己組織化 成長を支える 差分を吸収
チームの成長 組織の形 職能横断組織 職能別組織 引っ張る人が必要 自己組織化 成長を支える 差分を吸収 組織の中でチームの成果を最大化するよう動いている
ここまでのお話 • テックリードは必要そう • テックリードは組織の中でチームの成果を最大化してる じゃあ、どうしてスクラムにはテックリードって役割がないんだろう? の前にちょっとよりみち テックリードは未来の話をしよう
学び:チームの成長を支える Photo by Gaelle Marcel on Unsplash
開発チーム TL PO SM 最初は最前線で引っ張って
開発チーム TL PO SM チームの成長に合わせてだんだん中に入って一緒に動いて
開発チーム TL PO SM 最終的には一番後ろで奉仕するようになる
学び:チームの成長を支える 1. に適応する 2. を信頼する 3. を否定しない
変化に適応する • チームの成長に合わせて立ち位置が変わる • そもそも世界はすごいはやさで変化し続けてる • 自分の過去の成功体験にとらわれず、常に「今何をするべきか」を考える
1. に適応する 2. を信頼する 3. を否定しない 変化 学び:チームの成長を支える
何を信頼する? お願いしたことをやってくれるという「結果を信頼する」? ではなくて「コミットメントを信頼する」 約束したことをやりとげてくれるということを信頼する? ではなくて「献身を信頼する」 信頼は大切だってよく言われるけど
“So, commitment is about dedication and applies to the actions,
the effort, not the final result.” 椎葉訳:コミットメントは『献身』についてのことであり、それは 最終結果に対してではなく、行動や努力に対して適用される。 There’s value in the Scrum Values | Ullizee https://guntherverheyen.com/2013/05/03/theres-value-in-the-scrum-values/ アクセス日 2020/01/06
献身を信頼する 全力で考えて全力で取り組んでいるということを信頼する • 「信頼して任せたのに結果を出してくれなくて残念だ」 →結果を信頼してるから違う • 「うまくいかなかったのは努力が足りなかったからだ」 →全力であることを信頼してないから違う • 「うまくサポートできなくてごめん」
→全力でやってるんだから自分がどう支えるかの問題になる
1. に適応する 2. を信頼する 3. を否定しない 変化 献身 学び:チームの成長を支える
心を否定しない もし、違和感があっても • 「その人がそう感じた」という事実を否定しない • 心を変えるのではなくて、それを生み出す元となった部分を取り除く
心を否定しない 例「テストを書くのがめんどくさかったから書かなかった」 ⾃分の中の正しさを強要しない めんどくさいとかそういうのじゃないやろ そう感じたということを受け⽌める そっかめんどくさかったんですね 源泉を⼀緒に探す でもどうしてめんどくさかったんだろう︖な るほど、組み合わせが多すぎてどうやったら 良いかが分からなかったということだったん
ですね。 取り除く どの組み合わせをテストするべきかを⼀緒に 考えましょうか。
学び:チームの成長を支える 1. に適応する 2. を信頼する 3. を否定しない 変化 献身 心
ここまでのお話 • テックリードは必要そう • テックリードは組織の中でチームの成果を最大化してる • チームの成長を支える じゃあ、どうしてスクラムにはテックリードって役割がないんだろう? テックリードは未来の話をしよう
テックリードはスクラムの中でどう動くか?
チームの成長 組織の形 職能横断組織 職能別組織 引っ張る人が必要 自己組織化 成長を支える 差分を吸収 組織の中でチームの成果を最大化するよう動いている
None
スプリントの 外側 スプリントの 内側 チーム
PDM (Product Manager) プロダクトオーナー + 組織的なあれこれ DVM (Development Manager) テックリード
PJM (Project Manager) スクラムマスター + 組織的なあれこれ
None
None
None
None
None
None
None
None
None
None
None
None
ここまでやってみて実感
チームの成長 組織の形 職能横断組織 職能別組織 引っ張る人が必要 自己組織化 スクラムはココから始まる だからテックリードが不要
なるほど? そう考えてみたら、最初からそう言ってることに気づいた顔
チームの成長 組織の形 職能横断組織 職能別組織 引っ張る人が必要 自己組織化 でも、現実はここらへんにいる
さて、どうしよう?
チームの成長 組織の形 職能横断組織 職能別組織 引っ張る人が必要 自己組織化 自分たちの道を切り開く
チームの成長 組織の形 職能横断組織 職能別組織 引っ張る人が必要 自己組織化 正解はない
テックリードの役割 正解のない世界で自分たちの道を切り開くこと
テックリードは未来をつくってる 面白いなぁ
ここまでのお話 • テックリードは必要そう • テックリードは組織の中でチームの成果を最大化してる • チームの成長を支えるときに大切なこと • スクラムを実感 •
テックリードは未来をつくってる テックリードは未来の話をしよう
学び:未来をつくる Photo by Suraj Patil on Unsplash
正解のない世界で自分たちの道を切り開くこと 未来をつくる
正解のない世界で自分たちの道を切り開くこと 未来をつくる 1. 現在地を確認 2. 目的地を確認 3. 進む
1. 現在地を確認 2. 目的地を確認 3. 進む この繰り返し
1. 現在地を確認 2. 目的地を確認 3. 進む 現状を受け入れる 自分色のビジョン 選ばない選択 大切だなって思うこと
1. 現在地を確認 2. 目的地を確認 3. 進む 現状を受け入れる 自分色のビジョン 選ばない選択 大切だなって思うこと
現状を受け入れる 期待が足元を見えにくくする • もう3年目・EM・専門チームなんだから、これぐらいのことはできてほしい • このスケジュールでやってほしい • 職能横断的な組織であるべきだ 1. 現在地を確認するときに考えること
現状を受け入れる 1. 現在地を確認するときに考えること 期待 現状 なんでここにいないの?って 言っても何も変わらない ここにいることを受け入れることで 次の一歩を考えることができる
現状を受け入れる 期待からのマイナスではなく現状とそこからのプラスを考えよう • 現状の良いところをたくさん見つけよう • 足りない部分ではなくて、足すと今日よりも良くなる部分を考えよう • 成長に対して苦労を期待しなくていい 1. 現在地を確認するときに考えること
誰かのせいにしたくなったとき • あの人のスキルが足りないからうまくいかない • あのチームの動きが良くないからうまくいかない • 職能横断組織になっていないからうまくいかない 誰かのせいにしたくなったときは期待で動いてる 現状を受け入れられていないサイン
1. 現在地を確認 2. 目的地を確認 3. 進む 現状を受け入れる 自分色のビジョン 選ばない選択 大切だなって思うこと
自分色のビジョン テックリードあるある • メンバーの意見を聞きすぎる • 多数決で行き先を決めようとする • 反対意見が出ただけで方針を変更してしまう ただの「いい人」になってる いきあたりばったりで未来に向かわない
2. 目的地を確認するときに考えること
自分色のビジョン 強い信念を持って目指す場所を描こう • どんなシステムにしていきたいか • それを支えるチームをどう作っていきたいか など 2. 目的地を確認するときに考えること
僕の場合:成長する場としてのチーム を実現させたいなと思ってる • 誰もがそこを3年ぐらいで通り過ぎていってくれてよくて • そこを通り過ぎる中で成長していくことができて • でも、そこに何かを残していってくれて • 「場」としてのチームは成長し続ける
そういうチーム作りができたらいいなって 自分色のビジョン
自分色のビジョン • 全員が賛成してくれるわけじゃない • 音楽性の違いはある • 違いを怖がらない 自分色のビジョン
1. 現在地を確認 2. 目的地を確認 3. 進む 現状を受け入れる 自分色のビジョン 選ばない選択 大切だなって思うこと
選ばない選択 色んな決断をしながら前進していく中で 「これをやっておけばよかった・・・」って思うことがある あのときにあのアーキテクチャを選択していればよかった。とか。 でも、それってできたのかな? 3. 進むときに考えること
選ばない選択 自分たちの力や時間は限られてて 全てを拾い上げることはできない 3. 進むときに考えること
選ばない選択 自分たちの力や時間は限られてて 全てを拾い上げることはできない だから何かを選ぶ そのとき僕が選んだのは、チームで技術的負債を返していくということだった 3. 進むときに考えること
選ばない選択 「あのアーキテクチャを選択していればよかった・・・」 3. 進むときに考えること
選ばない選択 それを選んでいた場合は、こうではなくて 3. 進むときに考えること
選ばない選択 こうなっていたはず 技術的負債を返すことを選ばずに そのアーキテクチャを選ぶということ 3. 進むときに考えること
選ばない選択 そう考えてみると、やっぱりこっちでいいんだった 僕はその部分を今回は選ばないという選択をしたんだった 3. 進むときに考えること
選ばない選択 選んだことばかりを見てしまいがちだけど 何かを選ぶときには 何かを選ばないということも選んでいる これを認識しておく 3. 進むときに考えること
1. 現在地を確認 2. 目的地を確認 3. 進む 現状を受け入れる 自分色のビジョン 選ばない選択 大切だなって思うこと
失敗を恐れない • 失敗を怖がらなくていい • 失敗するところまでいこう • 失敗から学んで次の一歩を踏み出そう
1. 現在地を確認 2. 目的地を確認 3. 進む 現状を受け入れる 自分色のビジョン 選ばない選択 失敗と学習
未来をつくる回転
まとめ 「テックリードが必要な場」に立ってスクラムを実践してみて実感したのは 今、自分たちの立っている場所 テックリードはその場から未来を描いて一歩ずつチームと共に歩んでいる
テックリードをサポートする中での学び
自分に優しくしよう テックリードは責任感が強くて自分に厳しい人が多い
自分にも適用する 成長を支える 未来をつくる どうするか?
成長を支える 1. に適応する 2. を信頼する 3. を否定しない 変化 献身 心
1. に適応する 2. を信頼する 3. を否定しない 自分が全力で頑張ってることを信頼して 自分が感じたことを受け止めて 今の自分が一歩進むために何ができるかを考えよう
未来をつくる 「自分はこうあるべきだ」って期待に惑わされずに 今の自分を受け止めて良いところをほめて 一歩ずつ失敗しながら前進しよう
未来の話をしよう そんな風に、チームに優しく、自分に優しく、前を向いてチームと自分の
クロスファンクショナルグループ 最近試してるのは同じグループ内にSREやQAチームを作ること おまけ インフラ担当部署 デザイン担当部署 プラットフォーム担当部署 サービス 開発チーム SREチーム QAチーム