Slide 1

Slide 1 text

言語化とふりかえりで獲得した 難しい問題の立ち向かいかた id:ymse / @azukibar_D 2024/06/27 Hatena Engineer Seminar #30 チーム開発編 1

Slide 2

Slide 2 text

自己紹介 ● id:ymse ● @azukibar_D ● アプリケーションエンジニア ● 2024年の新卒 2

Slide 3

Slide 3 text

お品書き ● 最近直面した悩み ● 日報を書くことによるふりかえりと高速 フィードバックサイクル ● 悩みに名前がついているという気づき 3

Slide 4

Slide 4 text

4 最近直面した悩み

Slide 5

Slide 5 text

5 直面した悩み ● 何をつくるべきか会話しても噛み合わない ○ 議題を出しても困惑させるだけ ○ 意図がうまく伝わらない ● どこまで作るべきなのかわからない

Slide 6

Slide 6 text

悩みに対処してきた ● なんとか対処してきた ● もっとうまく対処したいのにできない ● 次はもっとうまく対処したい 6

Slide 7

Slide 7 text

7 日報を書いてふりかえる

Slide 8

Slide 8 text

敵を倒すには敵を知る ● 課題 ○ 次はうまくやりたいが、次ってどんな状況? ○ 何がうまくいかなかったのかがわからない ● アクション ○ どんな経緯で悩みがあったのかを記録する ■ 記録しないと人間は忘れる ○ 悩みの裏に何が隠れているのか考える 8

Slide 9

Slide 9 text

考える機会としての日報 ● 考えることを習慣にする ● YWTのフォーマットを使う ○ Yatta Wakatta Tugiyaruのフォーマット ○ はじめてなので型にはまってみるのがよさそうだった ● Wに素直にわからないことや悩みを書く ○ そしてその悩みを掘っていく 9

Slide 10

Slide 10 text

10 日報を使った高速 フィードバックサイクル

Slide 11

Slide 11 text

日報を元にした毎日の1on1 ● ふりかえりができているのか不安 ● 落とし穴に落ちていることも気がつかない ● 毎朝日報を話してコメントをもらっている ○ ここ深掘れそうですね ○ この気づきは大切なので常に心に持っておくといい ○ よく気がつきましたね。その通りです 11

Slide 12

Slide 12 text

実際の悩みが解決するまで ● 日報に悩みを書き、自分なりに考える ● 日報の悩みを話して解決 ● 2つの実例をあげて解決までの道のりを紹介 12

Slide 13

Slide 13 text

直面した悩み(再掲) ● 何をつくるべきか会話しても噛み合わない ○ 議題を出しても困惑させるだけ ○ 意図がうまく伝わらない ● どこまで作るべきなのかわからない 13

Slide 14

Slide 14 text

1on1で相談した ● POと開発チームのコミュニケーション境界を 意識する ● コミュニケーションも変わってくる ○ 外部仕様を固定して内部仕様を動かすのか ○ 外部仕様も内部仕様も動かすのか ○ 仕様を決めるのにも取るべき順序がある 14

Slide 15

Slide 15 text

踏まえて考え直す ● 外部仕様が固まっていないのに内部仕様を定 義しようとした ● 外部仕様と内部仕様の2変数を同時に動かした ● 何について話していたのか混乱する 15

Slide 16

Slide 16 text

得た学び ● コミュニケーションの取り方を意識 ● 外部仕様を決めずに内部仕様を決めない ● 仕様を開発チームで決められる範囲で動かす のかPOを巻き込んで動かすのかを意識 16

Slide 17

Slide 17 text

直面した悩み(再掲) ● 何をつくるべきか会話しても噛み合わない ○ 議題を出しても困惑させるだけ ○ 意図がうまく伝わらない ● どこまで作るべきなのかわからない 17

Slide 18

Slide 18 text

どこまで作るべきかわからない ● 要求は満たしているがコードが綺麗ではない ○ あらゆるところにベタ書きしている ○ いきなり複雑なロジックが表われる ● ついでにリファクタリングもしたい 18

Slide 19

Slide 19 text

メンターからは ● どこまで仕事をするかは今後ずっと悩む ● トレードオフスライダーというのがある ○ フレームワークに沿って判断したらどうか 19

Slide 20

Slide 20 text

チームの状況を観察する ● 速度と品質の優先順位で迷っていた ● 素早く作り素早く検証することが重要 ● 速度>>品質>スコープ ○ 最初から迷う必要はなく、速度を優先すべき 20

Slide 21

Slide 21 text

21 名前があるという気づき

Slide 22

Slide 22 text

22 1on1で気がついたこと ● 悩みを話すとドキュメントがでてくる ○ 社内外のドキュメント ○ 実例だと「内部仕様」「トレードオフスライダー」 ● その悩みにタイトル=名前が付けられている

Slide 23

Slide 23 text

名前がついているとは? ● 同じような境遇がドキュメントになっている ● 名前もついている ● 誰かが困って対処したから名前がある 23

Slide 24

Slide 24 text

名前がついているとは? ● 同じような境遇がドキュメントになっている ● 名前もついている ● 誰かが困って対処したから名前がある 24 実は誰しもが持ちうる 普遍的な悩みなのでは!?

Slide 25

Slide 25 text

困っているのは自分だけではない ● 過去の誰かがひっかかって対処してきた歴史 ● 他人も同じ悩みを持っている ● 悩みに対するネガティブな感情がなくなった ○ 孤独感 ○ 焦燥感 25

Slide 26

Slide 26 text

もっとうまくできるはずなのに ● 誰かが失敗してきた歴史がある ● その過程をなぞっているに過ぎない ● 自分よりも経験があろう人も失敗している ○ 自分が困ったとしてもある種当然と思える 26

Slide 27

Slide 27 text

先人ができたなら自分もできる ● 先人が悩み、対処方法を残してくれた ○ 何度も実行され洗練されている ● その方法に乗っかればよい ○ 最速でベストプラクティスに辿りつける ● 対処できるという安心感 27

Slide 28

Slide 28 text

名前を知り世界が広がる ● トレードオフスライダーという単語の存在を 知った ● インセプションデッキの構成要素となってい ることを知る ● インセプションデッキについても知る ○ なぜやるのか ○ 何が構成要素になっているのか 28

Slide 29

Slide 29 text

29 まとめ

Slide 30

Slide 30 text

30 まとめ ● 日報を書きふりかえりをしている ○ 悩んだ経験を言語化のプロセスで抽象的な知識にする ○ ふりかえりのフィードバックサイクルを高速に回す ● 悩みに対する認知の変化 ○ 名前がついていることに気がついた ○ 誰しも悩むので悩みすぎることはない ○ 名前があるような普遍的な悩みなので洗練された対処 事例がすでにある

Slide 31

Slide 31 text

そもそもこれって経験学習 ● 経験をふりかえり、抽象化し形式知にする ● 悩みに名前があることを知ることを経験し 理解の枠組みに載せた ● 経験学習という名前がついている 31