Slide 1

Slide 1 text

対話から始めていく私たち開発チームの
 ジャーニー
 2020/08/07 Jun Nakajima #DevLOVE カイゼンの旅、チームの旅。 現場の軌跡を語ろうライトニングトーク回 Copyright © HANDS LAB INC. All rights reserved. 1

Slide 2

Slide 2 text

なかじま (Twitter:@jnuank_)
 ● 経歴
 ○ C#→Bash→Python・Vue.js
 ■ モブプロ、モブワーク、TDD、DDDが好きな人です
 ● あだ名
 ○ KAIZEN BOZU
 ■ 一時期、坊主頭だったので→
 自己紹介
 2

Slide 3

Slide 3 text

私たちのチーム
 3 リーダー
 私
 バックエンド
 フロントエンド


Slide 4

Slide 4 text

私たちのチームとその周り
 4 私たちの
 チーム
 別チーム
 別チーム
 ユーザー
 プロダクトオーナー
 同じ社内システムを 作る


Slide 5

Slide 5 text

「はじめて」づくしのチーム
 1. リーダーをやるのがはじめて
 2. フルリモートがはじめて
 3. Django、Vueを触るのがはじめて
 5

Slide 6

Slide 6 text

チームの困ったことタイムライン
 6 4月
 6月
 7月
 5月
 みんな初めまして & フルリモートで どうすれば。。 チーム内での相談事 がSlackだけだと 遅い チーム内での要件の 共通認識にズレがあ る 開発スキルレベルの 差異が激しい 画面テストがとても めんどうくさい 他チームと画面の作 り方に差異がある タスクの可視化、 タスクをどの粒度で 切るか

Slide 7

Slide 7 text

チームのカイゼンのタイムライン
 7 4月
 6月
 7月
 5月
 みんな初めまして & フルリモートで どうすれば。。 チーム内での相談事 がSlackだけだと 遅い チーム内での要件の 共通認識にズレがあ る 開発スキルレベルの 差異が激しい 画面テストがとても めんどうくさい 他チームと画面の作 り方に差異がある タスクの可視化、 タスクをどの粒度で 切るか 自己紹介& チーム目標を定める ユーザーストーリー マッピング モブプロを導入 →3週間続ける E2Eテスト調査と 導入をする フロントエンドの 横断して話し合う場を 用意する Google meetで 雑談部屋を作る zube.ioを導入する

Slide 8

Slide 8 text

みんな、はじめまして&フルリモートどうすれば
 ● お互いのことはなんとなく知っている 
 ○ 何が得意不得意かは知らない
 ● このチームで何をやればいいのか 
 ○ 目的の共有が曖昧
 
 
 
 8 課題:グループ状態のチーム


Slide 9

Slide 9 text

みんな、はじめまして&フルリモートどうすれば
 9 改善策:自己紹介&チーム目標を定める
 ● うちのチームでは、簡単に以下の話をした 
 ○ 今までやってきたこと、得意なこと 
 ○ リーダーに求めること
 ○ 自身が今後やりたいこと
 ○ チームの目標
 ● 相手の思いがけない情報が1つ2つは知れて、その後の コミュニ ケーションに繋がっていった
 


Slide 10

Slide 10 text

開発スキルレベルの差異が激しい
 10 課題:必要な技術の経験の差がチーム内で大きかった
 ● チーム内ではPython、Django、Vue.jsを使用していた 
 ○ 私を含め、現場で触ったことないのが2人 
 ○ Pythonは詳しいけどVue詳しくない、またはその逆もあった 
 ○ PyCharmに慣れない問題
 ● レビューが滞りがちな問題
 ○ スキルレベルの差から
 ○ 仕様の理解の差異から


Slide 11

Slide 11 text

開発スキルレベルの差異が激しい
 11 改善策:モブプロを導入する
 ● 3週間モブプロを実践
 ○ チーム内で書き方を共通化できた 
 ○ 教え合う関係性ができてきた
 ○ リアルタイムでレビューができた 
 ● このとき一番メンバー同士が仲良くなった と感じている
 ● モブプロ→ペアプロ→ソロプロといった感じで順に移行 
 ● その時実施した内容は以下のスライドにもまとめてます 
 ○ 私たちのモブプログラミングの心得 


Slide 12

Slide 12 text

他チームと画面の作り方に差異がある
 12 課題:チームごとに最適化されて統一感がなくなる問題
 ● 3チームで同じプロダクトの別々の機能を作っているが、画面の見 た目に差異が出てきていた
 ○ ボタン、ダイアログの見た目など 
 ○ 共通コンポーネントもチームごとで最適化されていた 


Slide 13

Slide 13 text

他チームと画面の作り方に差異がある
 13 改善策:チームを横断して話し合う場を用意する
 ● 各チームのフロントエンドエンジニアを集めて、困りごとを解消す るための定例とSlackチャンネルを設けた 
 ○ そこでは意思決定の仕方まで決めて、あとはお任せ
 ○ ここを決めておくと、後がスムーズ 
 ● チームジャーニー10話の「職能別の情報同期ミーティング」を開催 する話を参考にした


Slide 14

Slide 14 text

そのうち、こんなことを言われるようになる
 そちらのチームでは いろんなことに挑戦を しているから、教えてもらってい いですか 他のチーム


Slide 15

Slide 15 text

でもみなさんが本当に欲しいのは
 プラクティスのHowじゃなくて
 どうやってプラクティスを広めたかというHow


Slide 16

Slide 16 text

なんでいろんなことをやってこれたか
 ● 4月始めに「カイゼンして成長できるチーム」という目標を掲げてい たから、やり方を変えることについて歓迎をされていた 
 ● チーム全員が「経験主義」だったことが大きい 
 ○ 良いか悪いか判断がつかない時は 「とりあえずやってみよ う」という合言葉で、実践をしてみる 
 ○ それをふりかえりの場で検知してみて、継続するかやめる か、やり方を変えるか、を考えていった 
 16 とりあえずやってみて、ダメだったらやめるの精神


Slide 17

Slide 17 text

その上でどうやってプラクティスを広めていったか
 ● 説明をするときにはスライドにWhyとHowを書いていく
 ○ なんでこのプラクティスがいま必要なのか(Why) 
 ○ どんなふうにやるのか(How)
 ○ 終わったときに、どうなっていたいのか 
 ● これらを言語化していって、ストーリーが語れるようになると、チー ム全員への納得度合いが違う
 ● Howも書くのは、聴いた側のイメージ先行にならないよう、 チーム に合ったやり方をしっかり伝えるため
 17 WhyとHowをちゃんと伝える


Slide 18

Slide 18 text

なんだ、チームメンバーに恵まれてただけじゃないか
 ● たとえ味方がいなくても、相手の背景を考え続けながら、話しかけ ていけば、いずれ誰かが応えてくれるはず 
 ○ 最初は全員に響かなくてもいい 
 ● 2人目に続いてくれる人こそ重要 なので、そういう人を見つけよう 
 ● チームジャーニーの2話の有栖さんみたいに、1人目(太秦さん)に 続いてくれる人を見つけると、とても勇気が湧く(めっちゃ好きな シーン)
 18 ストーリーを語り続ければ、誰かは応えてくれる


Slide 19

Slide 19 text

まずは対話から始めていく
 ● リーダーを始め、メンバーそれぞれが 「自分の意見を伝える、相手 の意見を訊く」ということを意識できてた
 ○ それが無い中でプラクティスを実践しても効果は薄い 
 ● 多少長引いても、納得できるところまで話し合う姿勢を見せている からこそ、いろんな変化もしていけてる 
 ● その対話を引き出す為に、様々なプラクティスを実践していき、場 を作っていくのが大事
 19 愚直に話し合うこそが、たぶん一番のプラクティス


Slide 20

Slide 20 text

まとめ
 1. プラクティスをやる前にWhyとHowをしっかり伝える
 2. 愚直に話し合うことが大事
 3. 2人目に続く人を讃えよう
 20

Slide 21

Slide 21 text

21 Thank you!