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
言語化とふりかえりで獲得した難しい問題の立ち向かいかた / Hatena Engineer S...
Search
Azuki-bar
June 27, 2024
1
2.8k
言語化とふりかえりで獲得した難しい問題の立ち向かいかた / Hatena Engineer Seminar 30
https://hatena.connpass.com/event/322298/
で話しました。
Azuki-bar
June 27, 2024
Tweet
Share
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
Unsuck your backbone
ammeep
669
57k
Why Our Code Smells
bkeepers
PRO
335
57k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Side Projects
sachag
452
42k
Practical Orchestrator
shlominoach
186
10k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Visualization
eitanlees
146
15k
Fireside Chat
paigeccino
34
3.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Transcript
言語化とふりかえりで獲得した 難しい問題の立ち向かいかた id:ymse / @azukibar_D 2024/06/27 Hatena Engineer Seminar #30
チーム開発編 1
自己紹介 • id:ymse • @azukibar_D • アプリケーションエンジニア • 2024年の新卒 2
お品書き • 最近直面した悩み • 日報を書くことによるふりかえりと高速 フィードバックサイクル • 悩みに名前がついているという気づき 3
4 最近直面した悩み
5 直面した悩み • 何をつくるべきか会話しても噛み合わない ◦ 議題を出しても困惑させるだけ ◦ 意図がうまく伝わらない • どこまで作るべきなのかわからない
悩みに対処してきた • なんとか対処してきた • もっとうまく対処したいのにできない • 次はもっとうまく対処したい 6
7 日報を書いてふりかえる
敵を倒すには敵を知る • 課題 ◦ 次はうまくやりたいが、次ってどんな状況? ◦ 何がうまくいかなかったのかがわからない • アクション ◦
どんな経緯で悩みがあったのかを記録する ▪ 記録しないと人間は忘れる ◦ 悩みの裏に何が隠れているのか考える 8
考える機会としての日報 • 考えることを習慣にする • YWTのフォーマットを使う ◦ Yatta Wakatta Tugiyaruのフォーマット ◦
はじめてなので型にはまってみるのがよさそうだった • Wに素直にわからないことや悩みを書く ◦ そしてその悩みを掘っていく 9
10 日報を使った高速 フィードバックサイクル
日報を元にした毎日の1on1 • ふりかえりができているのか不安 • 落とし穴に落ちていることも気がつかない • 毎朝日報を話してコメントをもらっている ◦ ここ深掘れそうですね ◦
この気づきは大切なので常に心に持っておくといい ◦ よく気がつきましたね。その通りです 11
実際の悩みが解決するまで • 日報に悩みを書き、自分なりに考える • 日報の悩みを話して解決 • 2つの実例をあげて解決までの道のりを紹介 12
直面した悩み(再掲) • 何をつくるべきか会話しても噛み合わない ◦ 議題を出しても困惑させるだけ ◦ 意図がうまく伝わらない • どこまで作るべきなのかわからない 13
1on1で相談した • POと開発チームのコミュニケーション境界を 意識する • コミュニケーションも変わってくる ◦ 外部仕様を固定して内部仕様を動かすのか ◦ 外部仕様も内部仕様も動かすのか
◦ 仕様を決めるのにも取るべき順序がある 14
踏まえて考え直す • 外部仕様が固まっていないのに内部仕様を定 義しようとした • 外部仕様と内部仕様の2変数を同時に動かした • 何について話していたのか混乱する 15
得た学び • コミュニケーションの取り方を意識 • 外部仕様を決めずに内部仕様を決めない • 仕様を開発チームで決められる範囲で動かす のかPOを巻き込んで動かすのかを意識 16
直面した悩み(再掲) • 何をつくるべきか会話しても噛み合わない ◦ 議題を出しても困惑させるだけ ◦ 意図がうまく伝わらない • どこまで作るべきなのかわからない 17
どこまで作るべきかわからない • 要求は満たしているがコードが綺麗ではない ◦ あらゆるところにベタ書きしている ◦ いきなり複雑なロジックが表われる • ついでにリファクタリングもしたい 18
メンターからは • どこまで仕事をするかは今後ずっと悩む • トレードオフスライダーというのがある ◦ フレームワークに沿って判断したらどうか 19
チームの状況を観察する • 速度と品質の優先順位で迷っていた • 素早く作り素早く検証することが重要 • 速度>>品質>スコープ ◦ 最初から迷う必要はなく、速度を優先すべき 20
21 名前があるという気づき
22 1on1で気がついたこと • 悩みを話すとドキュメントがでてくる ◦ 社内外のドキュメント ◦ 実例だと「内部仕様」「トレードオフスライダー」 • その悩みにタイトル=名前が付けられている
名前がついているとは? • 同じような境遇がドキュメントになっている • 名前もついている • 誰かが困って対処したから名前がある 23
名前がついているとは? • 同じような境遇がドキュメントになっている • 名前もついている • 誰かが困って対処したから名前がある 24 実は誰しもが持ちうる 普遍的な悩みなのでは!?
困っているのは自分だけではない • 過去の誰かがひっかかって対処してきた歴史 • 他人も同じ悩みを持っている • 悩みに対するネガティブな感情がなくなった ◦ 孤独感 ◦
焦燥感 25
もっとうまくできるはずなのに • 誰かが失敗してきた歴史がある • その過程をなぞっているに過ぎない • 自分よりも経験があろう人も失敗している ◦ 自分が困ったとしてもある種当然と思える 26
先人ができたなら自分もできる • 先人が悩み、対処方法を残してくれた ◦ 何度も実行され洗練されている • その方法に乗っかればよい ◦ 最速でベストプラクティスに辿りつける •
対処できるという安心感 27
名前を知り世界が広がる • トレードオフスライダーという単語の存在を 知った • インセプションデッキの構成要素となってい ることを知る • インセプションデッキについても知る ◦
なぜやるのか ◦ 何が構成要素になっているのか 28
29 まとめ
30 まとめ • 日報を書きふりかえりをしている ◦ 悩んだ経験を言語化のプロセスで抽象的な知識にする ◦ ふりかえりのフィードバックサイクルを高速に回す • 悩みに対する認知の変化
◦ 名前がついていることに気がついた ◦ 誰しも悩むので悩みすぎることはない ◦ 名前があるような普遍的な悩みなので洗練された対処 事例がすでにある
そもそもこれって経験学習 • 経験をふりかえり、抽象化し形式知にする • 悩みに名前があることを知ることを経験し 理解の枠組みに載せた • 経験学習という名前がついている 31