はじめまして、ビール、焼酎、ウイスキー、なんでもござれだけど、日本酒が一番大好きな小屋です。クラウドワークスでは最近、エンジニア部活動という取組みを始めたのでご紹介したいと思います。
部活動といっても野球やテニスなどの部活動ではなく、開発しやすい環境を整えたり新しい技術による問題解決を推進するなど、エンジニアが開発やサービスに感じている課題に対して有志で集まって解決していこうという取組みです。
背景
クラウドーワークスのサービス開発は複数のチームで行っています。各チームはそれぞれ目標とする事業業績に基づいたミッションを持っています。
※実際のチームとは少し異なります。
各チームが自分達のミッション中心に進める中で次のような課題が出てきました。
- チームをまたがるような課題に取り組みにくい
- 中長期目線での改善に手をつけにくい
一方で、そんな中でも自主的にチームを組んで改善を進める人達もいました。クラウドワークスではこの自主的に進めるということを大切にしており、(「許可を求めるな、謝罪せよ」というスローガンもあります)、エンジニア全体が同じように動きやすい形を作れないか、ということで生まれたのが今回ご紹介するエンジニア部活動です。
エンジニア部活動
チーム横断の課題はいろいろあるため、それを自主的に取り組むには学校の部活のように興味、関心の強い人が集まって解決していったらいいのでは、というのが基本的なアイディアです。
その中で課題解決としての活動が機能するようにいくつかルールを定めています。
目的を明確にする
部活動を始める際には目的を明確にして、それを部活動名簿に記載してもらう形をとっています。これは目的に根ざして「主体的に動く」ためです。単純なことですが、目的がなければどこに向かって何をすればいいのかが分からず、自分ごととして行動を起こすことができません。また、複数人で活動する前提なので、足並みを揃えて進めるためにもあらかじめ目的を明確にしておくことが重要だと考えています。
部員3人以上
活動の人数は最低3人以上であることを条件にしています。これは、3人以上で行動したいと考えるような課題(1〜2人では解決しにくいが複数の人が共通の課題意識を持っている)をこの活動のスコープとする意図です。
また、ひとりひとりがバラバラに頑張るのではなく力を合わせることでより高いパフォーマンスを発揮するというねらいもあります。クラウドワークスの行動指針の一つ「チームクラウドワークス」に繋がっています。
情報をオープンに
活動の前提として活動内容などの情報をオープンにすることにしています。たとえば各部ごとにWikiページやパブリックなSlackチャンネルを用意したりしています。これは、何をやっているかを周りが知ることができることで、活動への理解や参加を促すためです。また、活動がオープンになることでクローズドな場合と比べて責任感を持てるようにするねらいもあります。
その他
詳しい理由は割愛しますが、その他いくつかのルールを設けています。いずれもメインの業務を踏まえた上で、部活動で成果を出しやすいように考えて設定しています。
- 活動時間は就業時間の10%まで(兼部する場合もトータル10%)。それ以上は所属チーム、プロジェクトと相談。
- 成果は定常業務プラスαとして評価してもらう。
- 結果のコミットは(外からは)求めない。
- エンジニア部活動という取り組み自体の問題点はチーム横断の週次会議(深くて広い話をする会、略してふかひろ会)で議論する。
- 活動は四半期ごとに見直し、継続理由がなければ終了。
- 部長を置く。原則のルールを守る責任を持つ人。
実際どうだったのか、現状と課題
部活動制がスタートしてちょうど1ヶ月ほどになります。この時点での現状どうだったか、よかった点、課題についてご紹介します。
現状
1ヶ月で4つの部活動が発足しました。それぞれの目的、活動内容は以下の通りです。
- ChatOps部
- サービス運用/障害対応の効率化/属人化の排除
- インフラの状態確認/操作などのbotコマンド開発を通して部員のインフラ知識の向上
- Docker部
- ローカルの開発環境をはじめ、本番環境のDocker化など、Dockerを業務に活用する
- マークアップ部
- マークアップを中心としたフロントエンドに関する色々なことを改善し、UXの向上に繋がる快適なUIと迅速な開発を実現する
- ML(機械学習)部
- 機械学習や DeepLearning を研究・応用します
よかった点
- 人が集まりやすい。「部を立ち上げたよ」と宣言すれば興味がある人が集まってくる。参加は社内Wikiページに自分の名前を書くだけなので簡単。
- 普段の業務ではインフラ周り触ってなくても興味のある人が手を上げてくれた。
- チームのミッションに直接紐付いていなくても、全体最適のために必要なことに時間を使うことの位置づけが与えられて後ろめたさがなくなる。
- 社内で同様の問題意識や関心を持っている人を見つけることができた。普段の業務とは違う切り口で情報の共有やディスカッションができる。
- クラウドワークスの開発環境のDocker化が進んだ。ミドルウェアはすべてDockerで起動できるようになった。
課題
- 興味のある部活動が複数あると、業務時間の10%以内なので、全部に参加するのは無理がある。
- 自主性に任せた開発なので、忙しくて部活に時間を割く余力がなくなってくるとなかなか進まない。
- チーム横断で取り組むべき課題だからこそ、範囲が広く、着実に進めていく工夫が必要。部活外の人からも知見を共有してもらえるようにしていきたい。
- 他のエンジニアへのDockerノウハウの展開。
- 部活という形態ゆえにスケジュールがあいまいになりがち。
終わりに
クラウドワークスのエンジニア部活動という取組みについてご紹介させていただきました。 まだ取組みはじめたばかりでいくつか課題もありますが、参考になれば幸いです。
クラウドソーシングサイトを運営しているクラウドワークスでは、自ら考え手を動かして世界を変えていきたいエンジニアを募集しています。