開発のボトルネックはどこだ?―迷えるマネージャのためのプロジェクト管理ツール再入門

第8回 SUUMOスマホサイトの開発裏話③ HipChatを軸にした自動化への取り組み

この記事を読むのに必要な時間:およそ 3 分

技術的負債を解消するためにコードチェックまで自動化

――CIツールとしてJenkinsを使われているとのことですが,具体的にどのように利用されているのでしょうか。

吉田氏:主な用途として⁠技術的負債⁠の見える化に利用しています。技術的負債とは,設計のまずさやコーディング規約に反するコードなど開発を妨げるような課題の総称です。それらが生まれる背景には,一時的な開発速度を求めるため保守性を捨てて実装することなどが挙げられます。借金は放置すると雪だるま式に増えていきますが,技術的負債も同じで,年数が経てば経つほど加速度的に大きくなっていきます。すると当然,開発速度もどんどん遅くなりますから,結果としてカスタマーの期待に応えるまでの時間が延びていくことになります図3⁠。この技術的負債を放置すると,数年後には手が付けられなくなってしまいます。そこで,技術的負債を減らす努力が必要になるわけです。技術的負債を減らすためには,まず見える化が必要ですが,ここで利用しているのがJenkinsとSonarQubeです。これらを利用することで,コーディングルールの違反数や好ましくないコードを集計・定量化し,技術的負債の大きさを把握できるようにしています。

図3 技術的負債を放置したまま時間が経てば,プロダクトの改修にかかる時間も長くなり,結果としてカスタマーへの価値の提供が遅くなる

図3 技術的負債を放置したまま時間が経てば,プロダクトの改修にかかる時間も長くなり,結果としてカスタマーへの価値の提供が遅くなる

山下氏:これを導入したことで,リリース後に担当チームが技術的負債をどの程度増やしたのか,あるいは減らしたのかをモニタリングする動きが生まれました。その結果,以前よりもソースコードの品質をできる限りきれいに保とうとするような取り組みが開発メンバー内で自主的に行われるようになりました。

吉田氏:Jenkinsの活用はまだあります。自動テストとページ表示速度のモニタリングです。前者はRemote TestKitというASPを用いることで,エミュレータではなく実機を用いた自動テストを実現しています。後者は,独自のしくみを用いて主要ページの表示速度を毎日集計しています。このようにJenkinsは幅広い応用が利き,開発効率化を目指すうえで欠かせないツールになっています。

SUUMOスマホサイトの開発環境のこれから

――JenkinsとJIRAは連携させているのでしょうか。

山下氏:JIRAのチケットに工程ごとの予実情報を入力しているのですが,これをJIRAのREST APIを用いてJenkinsで取得&集計しています。集計後のデータはTSVになっていて,以前から使っている工程管理用Excelにそのまま取り込めるようにしています。このように,JIRAは少し工夫することで既存のツールとの連携もできるため,非常に重宝しています。

――SUUMOのスマホサイトの開発環境に対して,今後取り組んでみたいと考えていることがあれば教えてください。

吉田氏:CIをもっと洗練&活用したいと考えています。たとえば,Pull-request時にSonarQubeの解析結果をコメントさせたり,簡単なアクセスログの解析・集計に活用することも検討しています。

山下氏:実機を用いた端末互換性チェックも実現したいと考えています。Remote TestKitを用いて,デバイス×OS×ブラウザといった組み合わせによる互換性チェックを自動的かつ網羅的に実現できれば,テストの負担をかなり軽減できるのではと見込んでいます。

吉田氏:JIRA Captureも試してみたいツールです。QAによる検品の際,何か問題があるとスクリーンショットを全部やりとりする必要がありますが,その作業がスムーズに行えそうです。

――表計算ソフトを使って課題管理や工程管理を行うなど,旧来のやり方で開発しているプロジェクトはまだまだ多いと思います。そうした人たちがJIRAなどを使い始める際,どういった点に注意すべきでしょうか。

吉田氏:まず,ツールを導入することはあくまで手段であって,目的ではないことに注意する必要があります。我々はアトラシアン製品を導入するときに,最初に開発としてどうありたいかの理想像を描き,新しいツールを手段として何を実現したいのかまで決めたうえで導入を行いました。また旧来のExcelを使っているからダメということはありません。Excelを使うことで発生するムダや作業者ごとのムラが大きすぎるような課題感のときに,はじめて移行を考えればよいと思っています。また移行に関しても,我々のようにJIRAのAPIとExcelをハイブリッドに組み合わせるだけでも十分だったりするので,新ツールへ移行するときのバランスは考えておくとよいと思います。とはいえ,理想は1日では実現できないので,小さく始めてノウハウや成功事例を作り,そのあとに大きく展開するという形でやれば,リスクもコストも抑えつつ導入できるかなと思います。

3回にわたってSUUMOのスマホサイトにおける開発環境についてお話を伺ってきました。開発チームのパフォーマンスを高め,より良いサービスを実現するために新たな開発手法に積極的にチャレンジする,それを支援するJIRAをはじめとしたツールを活用し,自動化に取り組む姿勢は大いに参考になるでしょう。

Atlassian Expertsの盾には
アジアパシフィック市場において
トップセラーを証す刻印が…

Atlassian Expertsの盾にはアジアパシフィック市場においてトップセラーを証す刻印が…

日本だけでなく,アジア圏でもアトラシアン製品販売のトップエキスパートであるリックソフトのWebサイトでは,各アトラシアン製品の体験版を提供しているほか,アトラシアン製品専用のコミュニティも運営しています。まずはアクセスしてみては!

リックソフトJIRAデモ環境
https://www.ricksoft.jp/demo/