FLINTERS Engineer's Blog

FLINTERSのエンジニアによる技術ブログ

2015〜2016年で開発組織を作るためにやってみたこと

こんにちは、杉谷と申します。 GANMA!を開発しつつ、社内環境を整えたりとかしています。 この会社に入社してから3年(+1ヶ月)経ちました。あっという間!

いろいろやってきた結果、組織がますます良い感じになってきたので、会社ぐるみで試みてきたことをご紹介します。

2013〜2014でやってみたこと

入社1〜2年目は以下のことを行いました

  • Chatwork / Stash(現BitBucket) / Confluence / JIRAの導入
  • 開発ポリシーの制定
  • TDD研修・スクラム研修
  • システムリーダー定例
  • 裁量労働制の導入
  • 評価制度の改善
  • 会社標準PCをMacBookPro 15インチ(松)に
  • ゲーム部を立ち上げてみた

詳しくは前回のエントリ 2014年。開発組織を作るためにやってみた事 をご参照ください。

Slackの導入

2013〜2014の段階ではChatworkを利用していましたが、Slackに移行しました。

Chatworkを利用していたのは、"既に利用していたから + 特に大きな不満はなかった"というのが理由なのですが、 システム連携の楽さ・豊富さ、開発のしやすさ、エンジニアうけの良さ、を求めてえいやっと切り換えてしまいました。

移行してみた感想としては

  • プラグインが豊富で楽。システム連携では殆ど自分で開発しなくてもよくなった。
  • 物理より文字で会話したい、なエンジニアにはよく馴染む感
    • 文字の書き味・表現力がだいぶ良い
    • でも発言は気安い、チャット感がある。
    • 絵文字でのReactionが最高。 Cult of the Party Parrotが大繁殖f:id:ysugitani:20160808113531g:plain:w16
  • エンジニア以外の方々にはChatworkのほうが良さそう感は強い
    • チャンネル名・人名に日本語が使える
    • レスも発言単位に行え、1発言がメールとチャットの中間の重みを感じる。

といった印象で、移行に満足しています。

社内全レビューと社外レビュアー

良い開発を行うためにコードレビューは欠かせないのですが、 経験の浅いチームや人数が少ないチームではレビューの質や、視点の豊富さに不安が残ります。 誰かの思い込みによる主張で良くない方向にコードが曲がってしまう、とか最悪ですね。

これを防ぐため、チーム外からもレビューが行える仕組みを整えました。

我々はコード管理にAtlassian社BitBucketを利用しているのですが、そのプラグインに グループ単位でレビュアーを自動で追加できるプラグインWorkzoneというものがあります。

これを利用して、社内の全てのレビューに参加するグループを作成、 視点が偏らないように社外レビュアーとしてScalaドメイン駆動設計(DDD)伝道師のかとじゅん氏にも参加していただき、 現時点では2名で社内の全てのレビューに参加をしています。社外レビュアーはもう1名増える予定です。

なお、全レビューはあくまでアドバイスなので、指摘があってもマージなどはしても良いルールなので チームの自治権は維持されています。

"技術指針"の制定

上記全レビューを行う際、どういった基準で指摘を行うかを定めておかないと無用な混乱が発生するので、 前回エントリーで制定した"開発ポリシー"を進化させ、会社としての品質に対する考え方、採用する技術やその理由と例外、などをまとめた技術指針を作成しました。

内容は以下のような物です

  • 我々は”高速高品質”を目指す
  • 我々は保守性のあるコードを高速に生産する
  • Scalaを使う理由は気軽に品質を維持するため / Scalaを利用しない場合
  • スクラムを採用する理由はプロダクトオーナーがハンドルを握るため / スクラム以外を利用する場合
  • DDDを採用するのはチーム全員で要件の芯を捉え続けるため / DDDを採用しない場合
  • ユニットテストを書く理由はリファクタリングをし続けるため
  • テストを書く=遅いという思い込みを止めよう / テストを書かない場合
  • レビューを行うのは意識を保ち続けるため / レビューを行い続けるため属人性を高めない / レビューを行わない場合

全アクティブプロダクトでのScala・DDD採用率 100%

積極的に開発を続けているプロダクト全てが Scala・DDD採用となりました。(2016/8月次点で6プロダクト)

普及の経緯は以下の通りです

  1. GANMA!でScala・DDDの初採用
  2. GANMA!チームに他プロダクトから留学
  3. 留学を終え、Scala・DDDで新規プロダクト開発に着手。外部アドバイザーとしてかとじゅん氏も加わる。
  4. その後どんどん株分けが進み全てのプロダクトがScala・DDD化

ScalaMatsuri将軍スポンサー + 勉強会の多数実施

環境としてはずいぶんと胸を張れる状態になってきたので、知名度を上げようといろいろ活動するようになりました。

ありがたいことに、これらのイベント経由で弊社を知った、というご応募を頂くことも多くなってきていますし、実際に入社に至った方ももう数名になります。

今後もイベントを続けていく予定です。connpassの Septeni×Scalaグループに入っていただくと新しいイベントの通知が届くので便利です。

今後と求人

今後もプロとして誇れる仕事ができる職場でありつづけられるよう邁進してゆきます。

もし弊社にご興味をもっていただけたかたがいらっしゃいましたら 弊社コーポレートサイト経由のセプテーニ・グループ中途採用窓口までご応募ください。 オフィスツアーも毎月実施しています。こちらもオススメです!

以上です。 読んで戴きありがとうございました。