うさぎ組

ソフトウェア開発、チームによる製品開発、アジャイル、ソフトウェアテスト

分散アジャイルチームについて考える会。またはMuralの負荷試験について #distributed_agile_team #オンライン勉強会

").prependTo(".entry-content"); } //スクロールを滑らかにする $('.sectionList a').on("click", function() { $('html,body').animate({scrollTop: $(this.hash).offset().top}, 600); return false; }); });

COVID-19の影響でIT系の人達はテレワーク導入をすすめているけど、どうなんでしょうね。っていうかんじで勉強会を spring_akiさん、TAKAKING22くんの3人でやってみました。 4月21日と5月5日の2回やり、どちらもLTを数本と、OST(みんなでトピックをきめるディスカッション)。 特に、5月5日は、13:30 - 19:00までのほぼ1日やってみるというものでした。 これらの回の概要、そしてどんなツールをつかったのかを紹介します。またツール選定にあたっておこなった負荷試験のスクリプトも紹介します。

イベント概要

分散して活動していくアジャイルチームについて議論していく場があればいいなと思って、4月頃に某コミュニティで話していて、特に大きな知見なんてないし、なんなら、オンラインでいろいろ繋がっていくといいなとか、今後のオンラインでの活動の練習になるといいなとか、いろんなことを思って、

参加者が主体的に活動する勉強会がいいなと思いいたり、OST(時間帯と議論スペースだけが決まっていて、そこで何を話すかは参加者がトピック出しながら決めていき、自主的に議論していくスタイル)をやろうと思いました。

今後もこの形かはわからないですけどね。

やろうって本格的に話した日には勉強会を公開していて、50名弱でわいわいとやれました。

distributed-agile-team.connpass.com

distributed-agile-team.connpass.com

19時過ぎから21時過ぎまで。LTを1時間弱やって、OSTは全体で1時間(25分を2コマで4トラック)やりました。 結果としてうまったのは2コマ、3トラックでみんなわいわいできていました。 知ってる人も知らない人もたくさん参加してくださっていて嬉しかったです!! LTもどれもたのしかったし、どのトピックもよかった。

で、第1回がそこそこうまくいったなー、2回目どうしようかなぁ、GWってみんな暇だよなー、カンファレンスとか無くなって寂しいなー、1日やればよくね?って思いついて。

ということで、1回目開催から3日後になんとなく素案を話しながらまた公開しました。 13時過ぎから19時までのほぼ1日勉強会。

distributed-agile-team.connpass.com

で、公開した時には1回目と同じツールでやるかなーどうしようかなぁと悩んでいて、とりあえず安全側に倒して同じツール前提で人数も絞っていたのですが、後述する負荷テストなどでもっと入っても大丈夫そうとわかったので、あとから、80名まで枠を増やしました。

こちらは、結果としてはLTは30分、OSTは全体で4時間強(40分を5コマで5トラック)やりました。マーケットプレイスは4コマ4トラックに落ち着いたので、最後の1コマは全体での共有に使えた感じで良かったです。終わった時が終わりでした。 またその後も何人かでダラダラと21時過ぎまで話したりしていました。 この回もたくさんの色んな人が来てくれて嬉しかったです。 最初はタイムキープ的なこと(@everyone で「そろそろおわりでーす」みたいなのをながすこと)をゆるくしていたんですが、後半はなにもせずともみなさんが自主的にやっていてすごかった。

利用したツール

1回目

2回目

1回目が参加者40名強になっていたのは、各サービスの同時接続数制限からです。 DiscordのLiveは同時接続数が50名まで。また、Google Jamboardも50名まで。セッションが上手く切れないことも考慮すると45名前後がいいんだろうなと。(Google Jamboardの制限は開催後に知りました。偶然一緒でよかった)

2回目が80名までいけるようになってたのは、Zoomは100名までできるプランを使っていること、Muralの負荷試験をしたところ、視聴してるだけなら200名でも重くならず、同時編集も付箋のみなら50名でも大丈夫なことがわかったためです。

オープニング、LT、OSTでのマーケットプレイスづくり(参加者がトピックを発表してタイムテーブルをつくっていく)、クロージングのときに、動画配信をしていました。 そのときの反応は基本はテキストチャットでミュートにしておく。それぞれの開始終了時には運営メンバーが自主的に声と拍手を音声として届けるという感じです。

OST本会は各トピック毎に作られたホワイトボードアプリ上の場所を開き、Discordの各スペースが表現されたボイスチャンネルとテキストチャンネルに移動し、音声、テキスト、ホワイトボードを使いながら議論していくというものでした。

f:id:kyon_mm:20200506231821p:plain
Discordのチャンネル一覧

f:id:kyon_mm:20200506231918p:plain
Google Jamboardでのマーケットプレイス

f:id:kyon_mm:20200506232127p:plain
Muralでのマーケットプレイス

f:id:kyon_mm:20200506232149p:plain
Muralのアウトライン

f:id:kyon_mm:20200506232210p:plain
Muralの全体イメージ

また、DiscordとZoomはアプリ経由でアクセスしてもらうようにしました。

Muralは50名付箋のみ同時編集なら余裕、80名以上でもたつく

50名以上のコミュニティのOSTにおいてホワイトボードアプリに求めていたのは次でした。

  1. サインイン不要で編集ができる
  2. ホワイトボードが大きくなった時に各スペースへのリンクが簡単に作れて、簡単にそれがリンクだとわかる
  3. 50名同時に付箋を操作しても5名程度で触ってる時と遜色ないスピード
  4. 視聴だけなら100名同時接続でも5名程度が触ってる時と遜色ないスピード

で、1と2を両立して最も安いのがMuralでした。

では、3と4が可能なのかを検証しようということで、簡易に負荷テストをしてみました。

やったのは、AWS Lambda上で、ChromiumとPuppeteerを動かして、Muralに匿名アカウントとして付箋を作りまくるというものです。 で、そのアプリケーションをローカルのPCからabコマンドを使って並列実行させます。このときに、ローカルのPCからMuralにアクセスしどれくらい操作感が損なわれるのかを観察しました。

コードは次に上がってます。起動方法やテスト方法などのコマンドはREADMEに書いてあります。AWS CLIのインストールとaws configureでのアカウントの設定は済ませておいてください。もしタイミングのもんだいなどで動かなかったら適当にいじって使ってください。

github.com

で、わかったのは次の感じでした。

同時付箋編集のテスト

  • 2名同時付箋編集 問題ない
  • 50名同時付箋編集 問題ない
  • 80名同時付箋編集 若干もたつく。付箋が遅れて動いたり。でも、まぁ使えるかな?
  • 100名同時付箋編集 使い物にならない。まったく動かない。

同時視聴のテスト

  • 2名同時付箋編集 50名同時視聴 問題ない
  • 2名同時付箋編集 80名同時視聴 問題ない
  • 2名同時付箋編集 100名同時視聴 問題ない
  • 2名同時付箋編集 200名同時視聴 問題ない

ということで3と4に合格だとわかりました。 OSTは参加者全員が常に付箋を編集する訳では無いので、80名同時付箋編集はないし、仮にあったとしても動く。視聴だけなら200名でも余裕。

また、OSTでは、付箋がメインだと言うのも大きいです。画像や図形をたくさん使うと重くなる可能性があるのですが、OSTではあまり考慮しなくていいという意味でも要件として十分でした。

オンラインOSTはいいぞ!

OSTをオンラインでやる上で気をつけたのは、如何に隣りのテーブルが見えるか?如何に隣りのテーブルに移りやすいかでした。

Zoomはこれが合いませんでした。出入りの待ち時間が長い、誰がいるのかわからない、テキストチャットも含めて揮発性が高い、などなど。テキストチャットはべつでやればいいじゃんとかあるかもしれませんが、そうするとツールが増えて複雑になるので他の選択肢で出来るならさけたい。

Discordは先の問題を全て解決しています。しかも、同時に複数人が話したときは、音声がZoomに比べて潰れにくいです。

となると、あとは、ホワイトボードアプリで、操作性が簡単なことに加えて、行き来をしやすいことは大切です。Google Jamboardはできることが少ないが故にわかりやすく、ボード間の行き来は右左だけで出来るので便利です!匿名アカウントでもいけますし。

で、OSTが大規模になった時に、いちいち各スペースの各時間帯のホワイトボードスペースを作っていくのは時間がもったいないし、間違って消したりしないかとか心配なので、できれば事前に各スペース各時間帯の付箋を貼る場所は作りたい。それでなおかつ沢山になると、参加者が簡単に移動出来るようにしたいということから、ホワイトボード上へのリンクをまとめて作れることを重視しました。Muralはアウトライン機能がありこれを実現できました。

これらによって、オンラインOSTはなんならオフラインでやる時よりも、いわゆるハチや蝶(他のスペースを回って知識を循環させたり、複数見て楽しんだりする行為)をしやすくなりました。

オンラインのほうが向いている面もあるということです。

そのうえで、参加者が自由に使えるようにホワイトボードやチャンネルなど常に空きのスペースが1つありました。色々やれるなと思いましたね。

最後に

この2回は、運営を一緒にやってくれてるakiさん、TAKAKING22くんがいなければ始まらなかったし、やっている時に打ち合わせなしでもお互いに補える感じで嬉しかったです。

また、参加者の皆さんに、いろんな面での多様性があるのもよくて、みんなが、いろんなことを話しながら、(時には運営的な面でも)補い合いながら、繋がっていけたと思いました。会が楽しいのは、本当に参加者の皆様のおかげです。ありがとうございました。

また、そのうちやれたらいいなって思っています。2時間程度なのか、1日なのかはわかりませんが。

参加者の皆さんもよかったら、今回使ったDiscordもなんとなく自由に使って頂いて、そのうちこのコミュニティが何なのかが、みんなで分かっていく感じになればいいなって思ってます。

みんなでアジャイル ―変化に対応できる顧客中心組織のつくりかた

みんなでアジャイル ―変化に対応できる顧客中心組織のつくりかた

  • 作者:Matt LeMay
  • 発売日: 2020/03/19
  • メディア: 単行本(ソフトカバー)