Special
» 2016年08月29日 10時00分 UPDATE

中心人物が提示した「転職の条件」とは:「デスマーチは起こさない」企業が目指す「日本で一番良い開発環境」の在り方と開発ポリシー

セプテーニ・オリジナルは、インターネット広告事業を手掛ける「セプテーニ」の子会社として、システム開発を行う企業だ。同社ではアトラシアンの「JIRA Software」「Bitbucket Server」「Confluence」「Bamboo」といったツール群を導入し、アジャイル型の開発手法を推進している。同社のエグゼクティブエンジニアとマネージャーに、導入の経緯や現在の活用状況、今後のビジョンなどについて聞いた。

[PR/@IT]
PR

 近年、社会のあらゆる場面において「ソフトウェア」の重要性が高まっている。業態がB2Bか、B2Cか、業界や業種が何かなどにかかわらず「全ての企業はソフトウェア企業」といわれる現在、これまで以上に強く求められるようになっているのが「リリーススピード」や「品質」の向上だ。

セプテーニ・オリジナル エグゼクティブエンジニア 杉谷保幸氏

 絶え間なく変化するソフトウェアへの要求に対応するため、その開発に携わる企業では「アジャイル型」の開発手法を取り入れる機運が高まっている。開発の初期段階で要求仕様を作成し、それが変わらない前提で開発を進める旧来の「ウオーターフォール型」開発に対し、要求仕様が「変化する」前提で開発を進め、新たな仕様を取り入れながらリリースを繰り返す「アジャイル型」の開発は、より「変化」に強く、価値の高いソフトウェアを、迅速に作り出すための方法論として期待されている。

 アジャイル型の開発手法を実践するに当たっての重要なポイントは、開発のさまざまな工程をいかに「効率化」できるかにある。近年、開発プロジェクト全体の管理、ソースコードの管理、レビューやテスト、ビルドやデプロイ、それに付随した開発者間のコミュニケーションなどを「自動化」「効率化」するためのツールが、数多く提供されている。開発チームの体制と、こうしたツールの運用環境を合わせて整えることで、スピード感と品質を兼ね備えたソフトウェア開発の実践が可能となっていく。

 セプテーニ・オリジナルでは、同社が手掛ける開発プロジェクトの管理やコード管理、社内での情報共有などを目的として、アトラシアンが提供する「JIRA Software」「Bitbucket Server」「Confluence」「Bamboo」といったツール群を導入し、アジャイル型の開発手法を推進している。同社のエグゼクティブエンジニアである杉谷保幸氏、マネージャーの提箸一智氏の両名に、アトラシアン製品を導入した経緯や、現在の活用状況について話を聞いた。

転職条件に「アトラシアン製品の一挙導入」を挙げた理由

 セプテーニ・オリジナルは、インターネット広告事業を手がける「セプテーニ」エンジニアリングチームが母体となっているシステム開発会社で、2014年1月に設立された。主なプロダクトとしては、Facebook広告向けの配信管理システム「PYXIS」や、スマートデバイス向けのオリジナルマンガ配信アプリ「GANMA!」などがある。

 セプテーニグループには現在、セプテーニ・オリジナルに40名弱、ベトナム・ハノイの現地法人である「SEPTENI TECHNOLOGY」に同じく40名弱の開発者が所属しているが、その全体でアトラシアン製のツール群を統一して導入している。

 全社規模での一斉導入におけるキーマンとなったのは、現在セプテーニ・オリジナルのエグゼクティブエンジニアを務めている杉谷氏だ。杉谷氏は、以前所属していた大手ネットサービス企業において、生放送配信サイトの構築に関わってきた。アトラシアン製品に触れたのは、その当時のことだった。

 「以前の職場では、当初、他のオープンソースソフトウェア(OSS)を使ってプロジェクト管理をしていましたが、そこにアトラシアンの社員だった人が入り、一気にJIRA SoftwareやConfluenceを導入していきました。JIRA SoftwareやConfluenceを1度使ってしまうと、使い勝手も機能も、これまで使っていた他のツールよりも優れていると感じました。そうした経緯で、前職では全てのツールがアトラシアンに吸収されて、社内の標準ツール的な位置付けになっていました」(杉谷氏)

 その後、杉谷氏はセプテーニ・オリジナル(当時はセプテーニのエンジニアチーム)への転職を検討するが、当時の同社には、サービス開発に適した体制やツールが整っていなかった。そこで、「JIRA Software、Confluence、Stash(現Bitbucket)といったツールを全社規模で導入すること」を条件に、杉谷氏は同社に入社。入社後、しばらくの間はチーム開発のための環境作りに没頭していた。

 それ以前の開発体制について、提箸氏は「Subversionやメールを中心にプロジェクトが進められていて、それ以外には、各エンジニアが個別に立てた『野良システム』が点在しているような状況でした。目の前の仕事を必死にこなしながら、それでも開発ができていたこともあり、さらに効率的な環境にしていくためにどうすればいいかといったところまで、意識が及ばなかったのが正直なところです」と振り返る。

 杉谷氏の入社後間もなく「GANMA!」のプロジェクトが立ち上がる。白紙の状態から無事にサービスを立ち上げ、開発者人数が増えていく段階になり、チーム開発における進捗(しんちょく)管理が難しい状況に危機感を覚えたという。

 「この時、本格的にアジャイル開発のためにスクラムを導入していく必要性を感じました。方法論については研修で学び、ツールとしては既に導入していたJIRAに、JIRA Agileプラグイン(現行バージョンではJIRA Softwareに統合)を入れて、スプリントを管理する機能を実装し、運用を開始しました」(杉谷氏)

 スクラムの導入は、「GANMA!」チームからスタート。その後、「PYXIS」などを手掛ける他チームのメンバーにも順次スクラムを体験してもらい、徐々に株分けをしながら規模を拡大していった。現在では、Webサイトに公開されている同社の「開発ポリシー」「技術指針」にのっとって、全てのチームがプロジェクト管理を行える体制が構築されている。開発ポリシーの1つに「デスマーチは起こさない」ことを掲げており、そのために必要なのがスクラムであり、アトラシアンのツール群なのだ。

 「当初、新しいツールや手法に対しては抵抗もあるのではないかと心配していましたが、取り越し苦労でした。若い会社で、エンジニアの意識も高かったことがあり、順応するのは非常に速かったですね。むしろ、自分たちで新しいプラグインなどを見つけてきて『これを使ってみたい』といった提案も出てくるくらいでした。開発環境の刷新にはリスクも想定されましたが、当社の場合は、開発者の意識を積極的に変えるための、良いきっかけだったと思います」(提箸氏)

「OSSをがんばって運用するくらいならアトラシアンで固めた方がいい」

 前職時代から、アトラシアンツール群を使い込んできた杉谷氏は、そのメリットとして「機能の豊富さ」「他のツール群との連携の容易さ」といった点を挙げる。

 JIRA Softwareは、プラグインと併用することでスクラムの管理に必要な機能を一通り備え、スプリントプランニングに必要な統計情報なども一覧できる。若干難易度は上がるが、管理ツールを使いこなすことで、各機能を細部までチューニングできるといった点も評価している。

「GANMA!」における統計情報(エピックバーンダウン)の活用例

 「Stash(Bitbucket Server)は、もっと評価されていい製品だと思っています。同様の他のツールと比較して、価格は非常にリーズナブルにもかかわらず、パフォーマンスも機能も使い勝手も劣りません」(杉谷氏)

 同社では、Bitbucket Serverに「Workzone」と呼ばれるプラグインを導入し、メンバーが自由にグループに対してデフォルトレビュワーを追加できる機能を追加している。同社では、開発ポリシーの1つとして、テストとレビューで常にコードの「リファクタ(リング)を可能にする」ことを掲げており、コードの品質維持を目的に、社外の契約エンジニアにコードレビューを依頼する体制をとっている。この機能によって、そのための環境が容易に構築できたという。

 また、デフォルトでユーザー認証機能が利用でき、ブランチごとの設定も容易に行えるといった点も優れており、「複数のOSSを苦労して企業のニーズに合わせながら使っていくなら最初からアトラシアンのツールで固めてしまった方が、よほどメリットが大きい」と杉谷氏は言う。

 あえての「要望」としては、よりプラグインの安定度が増し、唯一リプレースが難しかったSlackとの連携が「より緊密に行えるようになれば」と話す。

 Confluenceについては、アカウント管理ができるWikiとして全社規模での情報共有に利用されている。開発時の仕様管理に加え、就業規則などのドキュメント管理をはじめ、ページごとに閲覧者を制限できるため、「GANMA!」の編集部門においては作家の情報など、取り扱いに注意が必要な情報もConfluence上で取り扱っているという。

 「サービス側でのコンテンツ制作のワークフローなども、開発と同じようにJIRA Softwareで管理しています。開発側での対応が必要な作業なども、同じプラットフォーム上ですぐに依頼を出して対応のプロセスに入れるため、効率が良いです」(杉谷氏)

唯一の不満(?)は「機能の5〜6割しか使いこなせていないこと」

 既に、JIRA Software、Bitbucket、Confluence、Bambooといったツール群が、業務の遂行になくてはならないものになっている同社。ツールに対する満足度は非常に高い一方で「実のところ、自分たちはJIRA Softwareをはじめとしたツールが持っているパワーの5〜6割程度しか使いこなせていないのではないか」という。

セプテーニ・オリジナル マネージャー 提箸一智氏

 「現時点での満足度が高い半面、その機能をさらに使いこなせれば、さらに効率的な開発環境が作れるのではという思いは常にありますね。今のところ、管理者権限の枠が大きいため、一部のメンバーだけで全体の環境を管理している状況ですが、現場のスタッフからは『自分たちの手で、もっと手軽にプロジェクト周りをいじりたい』といったリクエストも出て来ています。何らかの方法を使って、より安全な形で権限を細分化できれば、各メンバーが、ある程度自由にJIRA Softwareをはじめとしたツールの環境を触りながら、そのノウハウを蓄積していけるような状況を作り、活用度を高めていきたいと思っています」(提箸氏)

 セプテーニ・オリジナルがユニークなのは、企業としての目標に「日本で一番良い開発環境を作ること」を掲げている点だ。開発がしやすい環境を整備することで、「才能を持ったエンジニアが集まり、そこから優れたソフトウェアが生み出されるスパイラルの形成を目指している」という。開発ポリシーの1つとして、「保守的にならない」ことがあり、妥当性があることを前提に積極的に新しい技術を取り入れている。全プロダクトの開発においてScala言語とドメイン駆動設計を採用しているのも特徴的だ。「プロダクト」あるいは「サービス」が先行して環境や組織が形作られていく一般的なスタートアップベンチャーとは、ある意味で「逆」のアプローチともいえる。だが、この戦略は着実に成果を生み出そうとしている。

 「杉谷が当社にやってきて、素晴らしいツールや開発体制がそろい、より品質が高いソフトウェアを生み出そうとする文化が社内に根付き始めています。今後、会社としての制度なども魅力的なものに変えながら、優秀なエンジニアがさらに多く集まり、優れたプロダクトを次々に生み出せる体制を確立していきたいですね」(提箸氏)

Copyright© 2017 ITmedia, Inc. All Rights Reserved.


提供:アトラシアン株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2016年9月28日

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。