アジャイルであり続けるために技術スキルと向き合う
by
TK
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
ご清聴ありがとうございました!