noir_neo’s blog

140字より長い文章を投稿するところ

趣味プロジェクトにおけるコミュニケーション

この記事は コミュニケーション Advent Calendar 2015 の21日目の記事です。

はじめに

こんにちは、 noir_neo です。大学に行ったり行かなかったりしつつ、週3くらいで内定先で早期出社アルバイトのエンジニアとしてスマートフォンゲーム開発したり、あとは趣味でゲーム作ったりしています。

この記事では、仕事ではない趣味のプロジェクトにおけるコミュニケーションに関しての気づきや工夫していること、やってみたいけどまだできていないことや、仕事でのそれと比較して思ったこと…などを書きます。

いま取り組んでいる趣味プロジェクトのこと

私は TEAM THE SUGOI NINJA (以下、スゴニン)という趣味プロジェクトで THE SUGOI NINJA 3 というゲームを作っています。役割としてはゲームデザイナー兼プログラマーで、実質チームのマネージャーでもあります。

メンバーは私含め4人で、全員同じ大学の仲間で、学校に通いながらあるいは仕事をしながらプロジェクトを進めています。立ち上げは2015年6月ですが、もともと2013年の3月にローンチした THE SUGOI NINJA というゲームの次回作にあたり、メンバーもそのままです。(空白期間はただの酒飲み仲間でした…)

ちなみに、私も当然、過去にはこれ以外にいくつかの趣味プロジェクトを立ち上げては失敗しています…

定期的に顔を合わせて 🍶 を飲み 🍣 を食う

スゴニンでは、もはや全員が学校にいるわけではないので、顔を合わせる機会は作らないとないです。(学校に来ているハズの人とも、互いにサボりまくってるので会わないです…)

普段のチームのコミュニケーションには Slack を使っています。ソースコード管理は GitHub で、ファイルの共有も Dropbox を使っていますし、基本会わなくても開発自体はじんわり進むハズではあります。

ですが、定期的に顔を合わせるべき理由があります。それは、実際に会わないと、「テンション」がわからないということです。仲間のテンションがわからないと、その次の期間どうも仕事がふりにくかったり、純粋に「元気かなぁ?」と心配になるものです。

横とか後ろを向けば同僚も上長もいる仕事とは違うのが、趣味プロジェクトです。実際ちゃんと定期的に集まるのは、場所とか各自の都合とかで難しいかもしれませんが、とにかく習慣化することが重要です。 実は私も「今週は集まってもしゃあないしなぁ…」と思ったのを言ったら「でもちゃんと集まるのが大事なんじゃ?」(詳しいニュアンスは忘れました)とメンバーに言われて、やっぱり集めたことがありました。 そういう意味では、飯や酒もセットだといいのかもしれないです。

それから、給料で働いているわけではない(仕事も別に給料だけで働いているわけではないですが…)ので、全員でより楽しくやっていかないと頓挫します。 だから、相手のテンションを伺う…というと少し語弊がありますが、互いに元気か、 SNS やチャットツール上での「元気?」ではなく、確かめ合うのが大事だと思っています。

あとは酔っ払った勢いで出てきて盛り上がったアイデアを実装まで持っていく、みたいなふざけたことをできるのも趣味プロジェクトならではだと思うので、そういうの大事です。

ワークフローを見直し、コミュニケーションの発生段階をそもそも変える

先にも少しソースコード・ファイル管理について触れましたが、スゴニンでは現在ワークフローの改善を試したいと思っていて、少しずつ進めています。具体的には、デザイン・アートサイドのメンバーも Unity を触れて、 PR を出せて、ついでに挙動レビューもできるようにする。そして、各自の仕事と責任の範囲を Unity に持っていくところまでとしよう、というものです。

なぜそうしたいのかと言うと、「モデルファイル貰ったけど Unity に読み込んだらおかしい!」みたいなことで手戻りがたくさん発生して(しかも忙しい時に!)、 Skype の空気がやばくなったことがあった…というものが大きいです。純粋に手戻りを減らしたいということと不可分ですが、趣味プロジェクトにおいては、たぶん、より大事にすべきは工期よりもチームの空気です。どちらかといえば。(工期と空中分解率は指数関数的になりそうではありますが…)

ただしこれは職場のワークフローに影響を受けたもので、趣味プロジェクトに限らない話だと思います。が、やはり、毎日8時間、数メートル圏内に居合わせることができないからこそ、各自の仕事の範囲を見直してみることが大事かなぁと思うのです。

結構荒技ですし、当然新しいことを覚えてもらったり教えたりと、その分の学習コストはもちろん、コミュニケーションコストもはじめのうちは増えるわけなので、その辺りはトレードオフですね。

仕事ではないからこそ、適切に見積もる

趣味プロジェクトにおいても、「今誰が何をやっているのか」を見える化することは、仕事と同様に重要なことだと思っています。

スゴニンでは、タスク管理を Trello を用いてカンバン方式で行っています。なるべくユーザーストーリーでカードを作り、終了条件も明確にする、ということが「その仕事やって欲しかったのと違うんだけど?」みたいなコミュニケーションの齟齬を減らすために頑張っていることですが、なかなか難しいです。でもこの辺も仕事も一緒ですね。

ところで、見積もりは趣味プロジェクトにおける大きな課題のひとつと捉えています。仕事を振る時に「これ何時間くらいかかる?」と聞いても、ほとんど意味がないわけです。その人が直近で作業できる時間が毎日1時間なのか、あるいは3時間なのかによって終わるのか終わらないのか変わりますし、そもそもその3時間は確実に取れる時間とは限らないのです。「寝てた」や「デートしてた」を許さないわけにはいかないのが、趣味プロジェクトなのですから。そういうわけで、そんな会話を延々していたら、全く見積もりは進まないですよね。そして工期と空中分解(以下略)。

さて、アジャイル開発には、「ストーリーポイント」という考え方があります。日にちや時間ではなく、作業量や複雑さ、リスクなどをまとめて、他のストーリーと相対的に見積もるというものです。

スゴニンでは最近導入してみていて、見積もりに関するコミュニケーションは改善されたように感じます。さらに次の作業のことをよく想像する必要があるので、事前に(会えている時に)具体的な相談をすることが増えたり、終了条件をより明確につけることができるようになった…ような気もします。(Trello にはポイントを入力する機能はないので Description の冒頭に書くようにしています)

一方で、ポイントのつけ方には、まだ工夫が必要そうだなと感じています。例えば、テンションの上がる作業か否かを加味しているのはどうなのとか、プロジェクト以外のことの忙しさや精神のゆとり具合を他のメンバーと比較する指標が欲しいけどそれはポイントに入れていいのだろうかとか、そういう具合です。この辺りはスゴニンでも今後考えていきたい課題です。

ちなみに、スゴニンはポイントを導入してもバーンダウンなどはそれこそあまり意味がないと思ってやっていません。イテレーションの合計だけ出して少なさに笑って、乾杯して次のイテレーションは頑張ろうなって言い合います。

まとめ

趣味プロジェクトは基本的にお金で動いているわけではないし、空中分解しやすいけれど、そもそも好きで集まっているはずのメンバーなのだから、コミュニケーションの都合で不幸せになることがあればそれはとても残念です。でも逆に言えばコミュニケーションの工夫でうまく回していくことも可能だと思います。

他の方のこのアドベントカレンダーの記事を読んで、自分もこれを書いてみて思ったのは、趣味プロジェクトだからといって特別なことはそれほど多くはなくて、コミュニケーションに関して抱える問題はほとんど普遍的なんだなぁということです。

ですから、たとえ友人同士のプロジェクトであっても、やりたいことが一致して偶然集まったプロジェクトでも、(気恥ずかしかったり、必要ないだろうと思っても)「コミュニケーション」についてきちんと考えて工夫して、そしてコミュニケーションすることが、プロジェクトのゴールにつながるんだ!ということが、気づきであり、結論になります。