2017.07.19

開発サイクルが1年から、2週間に短縮!グレープシティ開発チームが実践した「アジャイル開発導入と組織構造改革」

中村真実
初代DevOps Hub編集長
このエントリーをはてなブックマークに追加

DevOps Hubでは、DevOpsを実践している企業のインタビューをお届けしています。記念すべき第1回は、グレープシティ株式会社の学校向け業務管理ソフト「LeySer(レーザー)」の開発チームが行ったアジャイル開発導入と組織構造改革について、お話を伺います。

グレープシティ株式会社は、1980年に宮城県仙台市に設立。日本だけでなく、中国、インド、ベトナム、アメリカなどに開発拠点を持ち、学校向け業務管理ソフト「LeySer」、開発支援ツール「Developer Tools」、幼児英語教育ソリューション「GrapeSEED」の開発・販売、映像制作およびスタジオの提供など、幅広い事業を展開しています。

市場シェアトップクラス、35年の歴史を持つLeySerの開発

──まず、LeySerについて教えてください。
林:LeySerは、グレープシティ設立時から会社の中心事業として提供している製品です。現在、国内の私立学校市場ではトップクラスのシェアを持ち、3,000校以上の私立学校で導入いただいています。


20170719_grapecity_01.jpg

グレープシティ レーザー事業部 企画開発部 統括部長の林竜輝氏

──歴史の深い製品なのですね。製品開発はどのように進められてきたのでしょうか。
林:LeySerは、1983年のリリース以降、DOSとWindowsのアップデートに合わせてバージョンアップを続けてきました。2003年にASP版をリリースし、新しいサービス(LeySerKidsやLeySer Web出願)はクラウドに対応し、全てMicrosoft Azure上で動いています。

──御社は海外にも開発拠点をお持ちですが、どのような体制で開発しているのですか。
林:LeySerのスタッフは、仙台、東京、そして西安の3か所に在籍しています。企画・設計は日本が担当し、開発は中国の西安にオフショアしています。西安の拠点は1988年に創立し、現在社員は200名、そのうちの44名がLeySerの開発を担当しています。平均年齢は28歳と若く、積極的な社員が多いですね。


20170719_grapecity_02.JPGグレープシティ 中国 西安のLeySer開発チーム

──日本と中国で開発を進めていく上で、課題はありましたか。
林:課題は、主に三つありました。一つ目は、コミュニケーションについてです。日本と中国間でのやり取りでは、日本語か中国語のどちらかを使うことになりますが、言語の違いから、互いの意思疎通が難しい場合もあり、仕様の間違いや要求漏れによる手戻りが発生していました。

二つ目は、要件定義から基本設計までの上流工程を日本が担当していたことで、西安が実際に開発に着手するまでに時間がかかっていたという点です。日本で基本設計が終わっても、更に、西安側の工数見積もりと開発計画の立案という工程が続くため、開発着手までに時間がかかっていました。

三つ目は、テストの工数です。テストはスモークテスト以外、ほとんど手動で行っていました。製造コストの50~55%がテストにかかっていました。西安では44名の社員のうちテスターは17名。かなりの数の人員をテストに投入していましたね。

アジャイル開発と投資により、日次ビルドが4分の1に

──たくさんの課題がありましたが、それらをどうやって解決したのですか。
林:アジャイル開発導入と、組織構造改革の二軸で、解決を行いました。
2014年に一つのプロジェクトだけ、試験的にアジャイル開発手法を導入しました。課題点を洗い出し、どのようにドキュメントを日本語化するのか、必要最低限のドキュメントの場合はどういう風に意思疎通を図るのかを検証しました。ですが、上流工程が変わらないとアジャイル的な恩恵は受けられないと考え、体制調整も行いました。

──解決策の一つ目の「アジャイル開発」について教えてください。
曾:スクラムを実施して、ペアプログラミングを行い、2~3週間のスプリントで開発を進め、デモとバグバッシュを実施しています。

20170719_grapecity_03.jpg

グレープシティ レーザー事業部 企画開発部 シニアエンジニアの曾炜(ソウ イ)氏

──ビルドテストの自動化などは、行っているのですか。
曾:はい、行っています。ビルドテストの自動化には、SeleniumとAppiumをカスタマイズして使用しています。それによって、リリース前のスモークテストと性能テストの重複ケースを排除し、効果的に実施しています。リリースする前のテストは、全部自動化していますね。テスターは10名になり、約4割減りました。

また、TeamCityを利用して、日次やチェックインでの自動駆動を行うことで、CI(継続的インテグレーション)を実現しています。更に、豊富なプラグインやカスタマイズ性の高さからJenkinsの検討も進めております。

──インフラ側の自動化はどういった構成になっているのですか。
曾:アプリケーションの実行環境をDockerにパックして、どこでも同じように(中国のAlibaba CloudとAzure東日本)ビルド、テスト、リリースを実施できるようにしています。

──効率的な仕組みができているのですね。インフラへの投資などもされたのでしょうか。
林:アジャイル開発に合わせて、西安への投資も行いました。ハイスペックなサーバーを購入し、10台の仮想マシンで並行してビルドすることで、単独のプロジェクトの日次ビルドを2時間から30分まで短縮しました。

また、クラウドも活用しています。自動テスト済みの日次ビルドをAzureのステージサーバーへ自動リリースし、日本側で毎日アップデートを確認、検品できるようにしました。以前は、日本では早くてもアルファ版、遅くてベータ版からやっと製品を触ることができたのですが、今はほぼ毎日、想定したイメージ通りに開発できているのか確認できます。

ステージサーバー以外にも、仕様管理のWikiやTeam Foundation Serverもクラウドへ移行することで、ストレスになっていた、中国の突然の停電や社内保守による作業中断も防ぐことができています。

組織改革で企画と開発がダイレクトに連携

──「体制調整」とは、具体的にどのようなことを実施されたのですか。
林:部門の統合を行い、4階層だった組織を3階層の組織へと変えました。


20170719_grapecity_04.pngLeySerの開発チームが実施した構造改革

林:これまでは、企画が企画・要件定義をし、日本開発が要件を開発に落とし込み、レビューを行っていました。その後日本開発から西安開発に仕様を説明、西安側で見積もりをして、開発を行うという4階層だったんです。

体制調整により中間層である日本開発を廃止して、開発の工程は全て西安に集約し、裁量権を持たせました。企画は、西安開発に直接に要件を伝えて設計書は必要最低限しか書きません。西安開発は伝えられた要件に対し、プロトタイプでフィードバックします。各部門の責任範囲が明確になり、決断スピードが大幅にアップしました。西安社員も、受け身的な進め方から能動的に変わりましたね。

──企画と開発のコミュニケーションは、どう変わりましたか。
林:それまで、西安開発とのコミュニケーションは主に日本開発が行っており、企画と西安開発が直接話す機会はほとんどありませんでした。西安開発は、何のためにこの機能を要求されているのか背景はわからないけれど、設計書にそう書いてあったから作った、というようなこともありました。今では、企画が西安開発に直接に要件を伝えています。コミュニケーションロスが減り、西安開発側が要件の背景や目標を深く理解できるようになりました。また積極的に出張し、対面コミュニケーションもしていますよ。

課題解決により、開発サイクルが最大1年から、2週間まで短縮

──課題を解決することで、どういった効果が得られましたか。
林:法改正や年末調整などのリリース時期が決まっているので、プロジェクト期間は変わりませんが、開発サイクルが1年かかっていたところ、2~3週間まで短縮できました。

早いサイクルにより仕様の間違いや要求漏れにも早い段階で気づくことができ、また、背景と目標を理解した開発者が裁量権を持って開発を行うことで、想定以上に品質も向上し、開発途中であってもお客さまへの完成度の高いデモを頻繁に行えるようになりました。


20170719_grapecity_05.png
アジャイル開発手法導入前の開発フローと役割分担

20170719_grapecity_06.png
アジャイル開発手法導入後の開発フローと役割分担

──デモを頻繁に行うことで、お客さまの反応は変わりましたか?
林:大幅に良くなったと実感しています。お客さまからいただいたアイデアの採用や、指摘されたバグの解消は、次のリリースに合わせて一年後まで待たなくてはいけなかったのですが、今は2~3週間で開発が回転しているので、対応スピードが全然違います。

更なる効率化とお客さまのサポート充実化を目指す

──組織によっていろいろな定義があると思いますが、貴社にとって「DevOps」って何だと思いますか?
林:チームでディスカッションしたのですが、弊社では「アジャイル開発手法を採用し、多国間(距離、言葉、文化)と部門間の壁を越えて、継続的にお客さまに高い付加価値を提供すること」だと考えています。目的ではなく、手段だと思いますね。

──非常に勉強になります。今度取り組んでみたいことはありますか?
鈴木:ビルドやテストの自動化は進めてきましたが、本番環境の定期リリースは今も手動で行っています。今後は新しいテクノロジーを利用して本番環境の運用も自動化したいと考えています。Dockerを始めとしたコンテナテクノロジーの評価を始めています。


20170719_grapecity_07.jpgグレープシティ レーザー事業部 企画開発部 システムエンジニアの鈴木幹治氏

林: AIを使ってお客さまの未来を予測して経営支援のシステムを作りたいです。過去のデータのパターンを認識して、事前にデータをチェックしたり、アラートを出したりするAIも早く実現したいですね。

グレープシティさまの国や組織の垣根を越えた開発が、歴史ある製品の進化、お客さまの満足度の向上につながっていることが伝わってきました。お話しいただき、ありがとうございました!

この記事の著者:中村真実

初代DevOps Hub編集長

2017年7月~2018年9月まで、DevOps Hubの立ち上げと初代編集長を担当。


DevOps Hubのアカウントをフォローして
更新情報を受け取る

  • Like on Feedly
    follow us in feedly

関連記事

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

お問い合わせ

DevOpsに関することなら
お気軽にご相談ください。

Facebook、TwitterでDevOpsに関する
情報配信を行っています。