SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2018 夏】セッションレポート(AD)

クロスプラットフォーム開発で悪魔合体を繰り返すソースコード…GitHub Enterpriseで解決【デブサミ2018 夏】

【B-5】富士フイルムソフトウエアはいかにして旧開発手法を捨ててGitHub Enterpriseを愛するようになったのか

  • このエントリーをはてなブックマークに追加

開発現場の雰囲気が向上し、コードの質も向上、ストレスも軽減

 GitHub Enterpriseを導入すると、開発現場にさまざまな変化が生まれた。かつてのコードレビューは対面が基本で、開発者がどこを修正したのかを説明する必要があった。WinMergeなどのツールを使いつつも、それなりの手間が生じており、また議事録をExcelに記録する必要があった。

 GitHub Enterprise導入後はレビューを対面でする必要がなくなり、レビュアーはブラウザ上で自分のスケジュールに合わせてレビューできるようになった。開発者はプルリクを送信した後は次の開発に作業を移ることができる。時間を効率的に使えるようになった。

 修正履歴の議事録については少し工夫した。プルリクを見れば修正履歴は分かるものの、社内要件に合わせる必要があった。同社では品質の可視化のため、コードを修正する時には「致命欠陥」、「重欠陥」、「軽欠陥」などカテゴリを追記する必要があった。そこで必要な機能をいくつか自作して追加した。レビューで定型文を追加することや、GitHub APIからデータを集計するなどだ。

 導入前にカオスと化していたソースコードのマージは、GitHubだけではなく各種ツールとの連携も加わり格段に効率化した。今ではプロジェクト管理の「Redmine」、チャットツール「Mattermost」、継続的インテグレーションツール「Jenkins」などを活用しているという。同社ではモダンな開発環境へと徐々に移行しており、大島氏は「デプロイ自動化が次の課題です」と話す。

 たまにプルリクが埋もれてしまいレビューされないことがあったが、クローズしていないプルリクを抽出するツールを自作することで問題は解決した。これは開発現場の若手が自発的に機能開発したそうだ。

 開発現場の風土も変わったという。先述したように、以前のコードレビューでは対面で議事録を出すなど当事者にはストレスがかかっていた。しかしブラウザ上で静的解析や自動テストなどのツールを活用することにより、「効率化と精神的安定を手に入れました」と大島氏は笑顔で話す。レビューアーと開発者は対立する関係ではなくなり、「解決しなくてはならない課題をチーム全員で共有する」と意識が変わっていった。

 それだけではない。良いコードを称賛する文化も芽生えた。GitHubではSNSのように手軽に「いいね」ができて、称賛や激励を示すことができる。サンプルコードを提示し、アドバイスをすることも気軽にできるようになり、開発現場の雰囲気が良くなった。大島氏は「良い雰囲気は良いコードを生みます」と話す。

 自動テストや静的解析のチェック機構により、小規模な改善もやりやすくなった。あるとき、チームで「早朝プチリファクタリングマラソン」を実施してみたという。これは毎朝15分だけ、小規模(50ステップ以内)の改修を行うというもの。その日のうちにプルリクし、レビュアーはその日のうちにレビューするというルールにした。少しだけでも改修を進め、ためないことを重視した。

 すると、これまで後回しとなっていた細かな修正が次々となされ、内部品質が日ごとに高まっていった。GitHub Enterprise導入後は市場からのソフトウェアに対する問い合わせが半減、不具合密度は1/5に激減したという。

 大島氏は「GitHub Enterpriseは使えることがメリットではなく、もはや、使えないことがデメリットになるのだと実感しています。これからも私たちはGitHubを愛しながら開発していきます」と熱く語った。

 なお富士フイルムソフトウエアのGitHub Enterprise導入をサポートしたのはマクニカネットワークス。同社 AI&ソフトウェアビジネス部 第2課 課長の根本竜也氏も登壇し、サポート体制の詳細を紹介した。

マクニカネットワークス株式会社 AI&ソフトウェアビジネス部 第2課 課長 根本竜也氏
マクニカネットワークス株式会社 AI&ソフトウェアビジネス部 第2課 課長 根本竜也氏

 マクニカネットワークスは、GitHub EnterpriseだけではなくCircleCIの国内一次代理店で、モダンな開発ツールに詳しく、日本語のテクニカルサポートも行っている。GitHub社のビジョンでもある「他ツールとの連携」をソリューションとしてクライアントに提供する。

マクニカネットワークスによるサポート体制
マクニカネットワークスによるサポート体制

 「GitHubは周辺ツールとのインテグレーションがやりやすい。CI/CDツールやチケット管理の機能など、すべてをGitHubだけでまかなおうとはせず、GitHub社のビジョンとしても『いかに周辺のイケてるツールと連携しやすくしていくか』を掲げています」(根本氏)

 マクニカネットワークスは、開発元で新機能の発表やバグ情報などが発表されたら、いち早く日本語で顧客に案内するなど、技術情報提供の役割も担う。定期的に「GitHub Enterpriseまるわかりセミナー」を実施しており、直近では9月6日に東京で「モダンな開発環境を実現する GitHub EnterpriseとCircleCIまるわかりセミナー」開催する。

 「GitHub Enterpriseでどんな効果があるかもう少し詳しく知りたい方は、デモなども交えた本セミナーにぜひご参加いただければと思います」

 根本氏はこう話し、セッションを締めくくった。

お問い合わせ

 マクニカネットワークス株式会社

 富士フイルムソフトウエア株式会社

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
【デブサミ2018 夏】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11029 2018/08/31 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング