Slide 1

Slide 1 text

アジャイルであり続けるために技術スキルと向 き合う
 Retty株式会社
 今井貴明
 Scrum Fest Sendai 2022 
 2022/08/27 


Slide 2

Slide 2 text

自己紹介
 ● TK (Imai Takaaki)
 ● エンジニア
 ○ 2015〜SIer
 ○ 2021〜Retty株式会社
 ● @t_k_redman


Slide 3

Slide 3 text

今日のお話


Slide 4

Slide 4 text

アジャイルな開発に”エンジニアとして”どう貢献する?
 この姿勢は 首が凝る

Slide 5

Slide 5 text

● 関わり方も様々だし役割もいろいろある
 ● 今回はあくまでもエンジニアとしてという話
 ものづくりへの関わり方はたくさんある


Slide 6

Slide 6 text

“アジャイル推進担当”だったころ


Slide 7

Slide 7 text

● 「うちもアジャイルを”やろう!”」という施策がきっかけ
 ● 知っていくうちに本質を突き詰めていくような考え方に深く共感 した
 ● 自分たちもそんな風にものづくりをしたいと思った
 なぜアジャイルを探求し始めたのか


Slide 8

Slide 8 text

● アジャイルを社内に推進する人(途中から野良化)
 ○ プロジェクトヒアリング&支援
 ○ ドキュメントの社内展開
 ○ セミナーや勉強会開催
 ● 小さめの開発を拾ってはスクラムを試したり
 ○ 事例化したりしなかったり
 前職の私のお仕事


Slide 9

Slide 9 text

● 組織にアジャイルを広めるのは一筋縄ではいかない
 ● でも、みんながアジャイルを深く知りさえすれば、アジャイルな ものづくりをする理想の環境が実現できるはず!
 必要なのはアジャイルの理解?


Slide 10

Slide 10 text

● この世界を実践しているところを見てみたい!
 ● どれほどこの考え方が浸透しているのだろう
 転職するときに考えていたこと
 We are one!

Slide 11

Slide 11 text

RettyにJoinしてから


Slide 12

Slide 12 text

● みんなアジャイルやスクラムのことを考えていると思っていた
 ● 実際そんなことはなくてあくまでも「自分たちの開発の進め方 はこう」として捉えられていた
 ● そんな環境にエンジニアとして入った自分は何をしていけるだ ろう?
 Rettyに入って


Slide 13

Slide 13 text

● それまでと同じように立ち振るまった
 ● 自分の知っていること、分かっていることを活かす動き
 自分のできることをやっていった
 それ改善 した方が… チームの課題を見つけて あるべき姿を意見する 他部門との壁を感じたので 直接会話しに行って現状を把握する 本来こうある べきでは

Slide 14

Slide 14 text

● 最初のピアレビューで上がってきた評価はイマイチ
 ● 自分の中ではそんなに悪くない動きだと思っていた
 ○ 実際それ自体が悪かったとは今でも思ってはないけど
 予想外のフィードバック
 行動の意図がよくわからないこと がある ごもっともな指摘をしてはいるけど 実際どうしていけば?

Slide 15

Slide 15 text

● 最初のピアレビューで上がってきた評価はイマイチ
 ● 自分の中ではそんなに悪くない動きだと思っていた
 ○ 実際それ自体が悪かったとは今でも思ってはないけど
 予想外のフィードバック
 行動の意図がよくわからないこと がある ごもっともな指摘をしてはいるけど 実際どうしていけば? どうしてこうなった?

Slide 16

Slide 16 text

● チームから評価されてるのは「手を動かしている人」
 ○ アジャイルについて考えているか否かは関係なくそういう 動きになっている
 周りを見渡してみた
 このプルリクでコスト 20% 削減できます! ここのソースコード お掃除しました! この部分はテストを 足しておこう

Slide 17

Slide 17 text

● チームから評価されてるのは「手を動かしている人」
 ○ アジャイルについて考えているか否かは関係なくそういう 動きになっている
 周りを見渡してみた
 このプルリクでコスト 20% 削減できます! ここのソースコード お掃除しました! この部分はテストを 足しておこう 自分の経験の中にはない事ばかりで それをマネするには知らないことが多すぎた

Slide 18

Slide 18 text

● 組織やチームから期待されているのは、エンジニアとしての責 任を果たすことなのではないか
 ● 自分のやっていることはその期待値を満たすものだったの か?
 自分は”エンジニアとして”期待されている


Slide 19

Slide 19 text

エンジニアとしてできることをしている人たちがいる
 ● エンジニアとしてアジャイルな開発に貢献するってどうやるん だっけ?


Slide 20

Slide 20 text

● 自分が知ってきた中で思い浮かぶことというと・・・
 ○ 質の良いソースコードを書こう
 ○ テストコードは書くべき
 ○ 継続して運用していける仕組みを作ろう
 ● 「こういうことが必要なんだ」とは前から学んできたけど、もっと 言うとどういうこと?
 “エンジニアとして”と言ったらこんなこと?


Slide 21

Slide 21 text

質の良いソースコードを書こう
 ● 例えば・・・
 可読性が高ければ変更箇所 の当たりがつけやすい 変更による影響範囲がわかりやすくな り想定外のバグが減る クラスに適切な責務を持たせて ロジックをまとめる 設計意図がわかりやすい命名やインター フェースを定義しておくことで品質が保たれ やすくなる 変数名、関数名、引数、関 数の粒度、etc 余計な調査やバグ修正が減って自分 たちの開発速度が上がっていく!

Slide 22

Slide 22 text

テストコードは書くべき
 ● 例えば・・・
 複雑な要件が満たされているかを常 にチェックできるようにする 仕様が満たされていることを担保で きるだけのテストケースを網羅して おく 変更の度に手動で全パターンをテス トするようなことはしたくない 意図がわかりやすいテストケースを 作っておくことでそのロジックに期待さ れている仕様が読み取れる 変更に強い状態を維持する 変更を加えやすくなり品質と開 発速度が上がる!

Slide 23

Slide 23 text

継続して運用していける仕組みを作ろう
 ● 例えば・・・
 プロダクトの状態を知るためのメトリクス をどう取得してどのように使っていくか 異常検知、アラート、障害時 対応の仕組みや体制 プロダクトや自分たちの開発の 改善点が見つかる! レスポンス速度、コスト 自分たちのサービスがどのように使わ れているかが測定されて分析できる状 態になっている テスト用環境を容易に準備できる仕組み や日々のリリースフロー整備

Slide 24

Slide 24 text

● それらが大事であることをずっと見聞きはしていた
 ○ 近くで見たことで、エンジニアにしかできない貢献として解 像度をあげることができた
 ● こういうことを日々考えていくのがエンジニアとしての一つの貢 献
 自分が信じていたものの解像度が上がった


Slide 25

Slide 25 text

おわりに


Slide 26

Slide 26 text

役割によってどう貢献するかは変わる
 ● 思想や開発方法論の探求はそれはそれで良いと思う
 ○ 個人的にはそっちが楽しいみたいなところがある
 ● どの役割で関わるかによって必要なスキルは変わる
 ○ 価値を届ける開発についてずっと考えていたのにエンジニ アとしてそれを実現する引き出しはほぼ空だった
 ● いろんな視座で関わることで学ぶことは多い


Slide 27

Slide 27 text

目の前のことをコツコツやっていく
 ● シンプルなことのはずだけどできてない
 ○ 遠くの理想像をずっと見ていると気づいたら何も進んでい ないことは結構ある
 ○ 遠くをみることも必要だけどバランス大事
 ● 何事も1歩ずつなのはそうだけど
 ○ 特に少しのことが確実な積み上げになりやすいと思う
 ○ 積み上げるほど加速するしそれが普通になってくる


Slide 28

Slide 28 text

ご清聴ありがとうございました!