Slide 1

Slide 1 text

ウォータフォール開発していたチームと一緒にア ジャイル開発してチャレンジ・工夫したこと
 クラスメソッドの最新開発ノウハウを学ぶ勉強会 〜マネージャー・デザイ ナー編〜
 クラスメソッド株式会社 CX事業本部 坂口努
 1

Slide 2

Slide 2 text

自己紹介 坂口 努(Tsutomu Sakaguchi) ● 経歴 ○ Windowsドライバ開発 -> 組み込み開発 -> クラウドバックエンド -> ハード開発 ○ 手元で動くものが好きなので、デバイスの開発などの経験が長いです。 ● 出身 : 長崎県佐世保市 -> 北海道室蘭市 ○ 東京、大阪、福島点々として現在札幌市 ● 趣味 ○ アマチュア無線, DIY, ドライブ(車中泊), キャンプ ○ 文鳥の世話(Slackアイコンの文鳥は先代)

Slide 3

Slide 3 text

自己紹介(その他) 関わってきた業務(クラスメソッド) ・DevelopersIO CAFE センサー等ハード開発・ソフト開発 ・宅配ポストWebアプリのバックエンド開発(サーバレス) ・フリマサイト用投函ポストハード設計・開発・製造・PdM ・IoT基盤バックエンド開発・アジャイルコーチ やってみたいこと・なりたいもの ・IoT機器のハードウェア開発からクラウドまでを一括受託 ・コードもバリバリかけるスクラムマスター

Slide 4

Slide 4 text

4 前提 ● アジャイル開発ですが、スクラムの用語に寄せています ● 開発メンバーは北海道、東京を始めバラバラに活動して います ● 今回のプロジェクトの体制は ○ お客様(PO, エンジニア) ○ クラスメソッド(エンジニア 2名) ● 開発を初めて1年

Slide 5

Slide 5 text

5 アジェンダ ● Sprint0(準備段階) ● Sprint1~ ● カイゼン ● その他定期的な活動 ● 最後に

Slide 6

Slide 6 text

6 アジェンダ ● Sprint0(準備段階) ● Sprint1~ ● カイゼン ● その他定期的な活動 ● 最後に

Slide 7

Slide 7 text

7 Sprint0(準備段階) ● 要件定義 ● 環境構築(GitHub, 開発環境など) ● オフライン合宿準備 ● アーキテクチャをざっくり設計 ● インセプションデッキを非同期で作成

Slide 8

Slide 8 text

8 オフライン合宿準備 全員が集まれることができるのがトータルで1日程度なので 可能な限り事前準備を非同期で行いました。 ● 自己紹介 ● インセプションデッキ ● 設計方針(担当クラスメソッド) ※ 使用したツールはMiro

Slide 9

Slide 9 text

9 合宿 ● チェックイン ● 自己紹介(関連するチームメンバーも巻き込みました) ● インセプションデッキの完成 ● プロダクトバックログの作成

Slide 10

Slide 10 text

10 自己紹介 私達のチームと関連する別チームとの関係性などを構築す ることを目標としました。

Slide 11

Slide 11 text

11 インセプションデッキの完成 非同期でMiro上に出来上がった各社のインセプションデッキ の各項目の内容をマージ、一つのインセプションデッキを作 りました。 クラスメソッドメンバーがプロダクトについて理解できた、そし て顧客メンバーも改めて考える機会ができました。

Slide 12

Slide 12 text

12 アジェンダ ● Sprint0(準備段階) ● Sprint1~ ● カイゼン ● その他定期的な活動 ● 最後に

Slide 13

Slide 13 text

13 Sprint1~ ● 朝会 ● 週次イベント ● 開発

Slide 14

Slide 14 text

14 朝会 ● 状況の確認 ● 進捗管理はカンバンのみ ● 目標15分で終了 ● 30分枠はあるので必要に応じて後半調整など実施

Slide 15

Slide 15 text

15 週次イベント ● チェックイン ● スプリントレビュー ● ベロシティ共有 ● ふりかえり ● プランニング

Slide 16

Slide 16 text

16 チェックイン イベント中話しやすいように実施しています。業務上聞けな いプライベートな話も出ますのでお互いを知る時間にもなっ ています。

Slide 17

Slide 17 text

17 ふりかえりのルールを読み上げる DPA(Design the pernership alliance) ふりかえりのルールを 作っています。 週次イベントのたびにDPAを読み上げて内容を確認します。 この会がどういったものなのかを形骸化しないために、毎回 ルールを読み上げて再認識できる時間を作っています。

Slide 18

Slide 18 text

18 活動の思い出し 「今Sprint何やったかな?」という助走のために行っていま す。 KPTを実施する前に行うことで、思い出す時間を短縮できた りネタになったりします。

Slide 19

Slide 19 text

19 開発 ● 優先順位を決めてミニマムに作る ● 短い間隔でリリース ● ADR(アーキテクチャ・デシジョン・レコード)

Slide 20

Slide 20 text

20 ADR(アーキテクチャ・デシジョン・レコード) SlackやPR上などでやり取りしている内容はフロー情報です。 決定した情報をADRにまとめることで見返したり、後任者など に伝えやすくなります。 我々はGitHubのwikiを活用しています。

Slide 21

Slide 21 text

21 アジェンダ ● Sprint0(準備段階) ● Sprint1~ ● カイゼン ● その他定期的な活動 ● 最後に

Slide 22

Slide 22 text

22 カイゼン これまで発表した内容でだいぶアジャイル開発ができるよう になりました。 私が中心に活動していたり、メンバーが主体になって活動で きたり、機能していない部分を少しずつカイゼンしていきまし た。

Slide 23

Slide 23 text

23 カイゼン ● ファシリテーターを交代制へ ● KPTからKPTAへ ● アクションのフォローアップ ● 活動の思い出しに感情とタイムライン追加

Slide 24

Slide 24 text

24 ファシリテーターを交代制へ メンバーにもっとイベントを自分事にしてほしいと思いません か? 私がメインで数ヶ月週次イベントのファシリテーターを行って いましたが、土台(雛形)が出来上がってきたのでメンバー全 員ができるようにファシリテーターを交代制に変更しました。 チェックインのネタもファシリテーターが考えます。

Slide 25

Slide 25 text

25 KPTからKPTAへ Tryをやりきれない事多くないですか? Actionに落とし込んで活動しやすい形にするように変更しま した。 これでちょっとした活動「タスクをカンバンに追加する」など大 きなTryから最初の一歩のActionに落とし込み活動しやすくな りました。

Slide 26

Slide 26 text

26 活動の思い出しに感情とタイムライン追加 しばらく時間が経ってからわかりやすいように、感情とタイム ラインを追加しました 実用性があるかは始めたばかりなので、効果はまだわかり ませんが意外と盛り上がっているので良かったと思いました

Slide 27

Slide 27 text

27 アジェンダ ● Sprint0(準備段階) ● Sprint1~ ● カイゼン ● その他定期的な活動 ● 最後に

Slide 28

Slide 28 text

28 その他定期的な活動 ● インセプションデッキの見直し・アップデート ● DPAの再定義 ● 合宿

Slide 29

Slide 29 text

29 インセプションデッキの見直し・アップデート インセプションデッキを見直し・アップデートをすることで、こ のプロダクトを思い出しこれまでで意識が変わった、状況が 変わった内容などをアップデートします。 四半期ごとに見直しています

Slide 30

Slide 30 text

30 DPAの再定義 DPA(ふりかえりのルール)もある程度チームの文化になると 物足りなくなったり、マンネリ化します。 今のチームにふさわしいDPAを再定義してふりかえりの活性 化を行います。

Slide 31

Slide 31 text

31 合宿 大きな課題や潮目など発生したときに合宿を行っています。 おおよそ半年に一度全員が集まって実施して、課題などを 議論しています。関連チームを巻き込む場合もあります。

Slide 32

Slide 32 text

32 最後に 一度決めたベースを変えて良くしていきたいという気持ちは 出ますが、それを実践するのは非常にパワーが必要です。 小さい違和感などを大切にカイゼンしていくチームメンバー の柔軟性やチャレンジには感謝しています。

Slide 33

Slide 33 text

33