皆さんチーム内でコミュニケーションしてますか?
僕は基本的に黙々と作業をしてしまって何も会話をしないで終わってしまう日もある質です(数年前までは)。
僕に限らず皆さんにも同じよう経験をした人は多いのではないでしょうか?
集中できる環境が整っていてプロジェクトも万事順調に進んでいれば何も問題ないのですが、定期的に以下のような問題が発生しました。
- 頑張って作った機能が他の人がイメージしていたものと違った (作業の手戻り)
- 頑張って解決したバグだが隣の人が簡単に解決する方法を知っていた (時間の無駄遣い)
- 頑張って作った機能だが実は前の人が便利なライブラリを知っていた (時間の無駄遣い)
こういった問題を解決するにはチーム内でのコミュニケーションをもっと活性化させて個人が持っている知識やスキルをチーム内にどんどん展開していくことが大事です。
コミュニケーションを活性化させる取り組み
我々の会社では 朝会(11:05〜、コーヒー付き)
と 夕会(16:30〜、コーヒー付き)
を毎日実施してそこで issue の確認や問題点の確認などの情報共有を行うようにしています。 メンバーは全員で4人です。
朝会は1人3~5分程度タイマーを使って前日やったことや今日やることを共有します。月曜日には土日にどんなことしたかをざっくり話しこともあります(旅行に行った、映画を観たなどなど)。
Chromecast を使って issue や ZenHub (後述) のバーンダウンチャートを出して進み具合を確認したります。
夕会はタイマーは使っていませんが1人5分程度で今日やったことと現在のところの困り事を共有します。
ここでも Chromecast を使って ZenHub を観たりしています。
更にメンタルチャート(後述)を使って今日発生したイベントと今日の気分を記録するようにしています。
ツール群
毎日実施するミーティングなので効率よく行うため色々なツールを試しています。
Chromecast & 大きめのディスプレイ
全員で同じ画面を見れるのは非常に便利です。 おもしろ動画とかも流せて最高です。
ZenHub
Github を拡張してバーンダウンチャートやカンバンを追加するサービスです。
みんなでバーンダウンチャートを眺めると進捗状況がひと目で分かるので便利です。
有料版を使っています。
メンタルチャート (mencha)
これは言葉で説明するより下の画面を見てもらうのが分かりやすいと思います。
僕らは真ん中の部分をイベントカレンダー、下の部分をメンタルチャートと呼んでいます。
元々はエッセンシャルスクラムという本に 感情セイスモグラム
という名前で紹介されていました。
弊社エンジニアの @numa08 がこの本を読んで実際に取り組んだのが始まりです。 最初の頃はホワイトボードを使ってやっていましたが、場所が有限なため2週間分しか記録できなかったりリモートワークする場合にはホワイトボードに書けないなどの問題があったためブラウザで使えるようにしました。
今日の気分とかをここで共有できるのでそれが話のきっかけになって会話が弾みます。
mencha はとりあえず自分たちで使う分には十分な機能が入っていますが、一般公開するにはまだチーム機能とかが整っていないため近いうちにちゃんと機能を追加して公開したいと思います。
Beta 段階で良ければ一応ここにデプロイしていますのでご覧ください。 https://mental-chart.firebaseapp.com/
Slack
hubot を使って朝会と夕会の時間になると @channnel
で全員に通知するようにしています。
Slack の標準機能として cron で特定の言葉を発する機能が欲しいです...
その他色々
この他にも色々な事を試しては止めてというのを繰り返してきました。 現在の形になってのもここ数ヶ月のことなのでこれからも変化していくと思います。
まとめ
朝会、夕会を行って困りごとなどを共有する機会を設けたところ1日中作業に没頭してしまうことが減ってコミュニケーションする時間が増えた。
その結果、問題点や進捗状況をみんなが把握できて開発効率が上がった。
コミュニケーションを活性化させるツールを導入したところ、朝会、夕会がよりスムーズに進むようになった。
特に Chromecast の導入は効果が大きかった。 メンタルチャートは話題の提供役となってくれた。
だらだらと話してしまうこともあるので改善が必要だと思います。
しかしちょっとした無駄話みたいなところからアイディアが出たりするので無碍にできないので塩梅が難しいところです。
これからも更に開発効率をあげるために改善にコミュニケーションの面からもアプローチし続けたいと思います。