セイコーエプソン関連会社のエプソン販売が、アプリケーション開発の自動化を導入し1週間の工程を半日に短縮



セイコーエプソン株式会社  様

 

OSSによる柔軟なアプリケーション開発自動化基盤の構築をHPEグローバルエキスパートエンジニアチームが全面的に支援


"1週間に1~2度しか実施できなかったソフトウェアリリースを、半日で行えるようになりました"

―セイコーエプソン株式会社
 情報化推進部
 澤野 史武 氏

エプソン販売がSAP ERPの導入プロジェクトを進めている。SAP ERPの導入に伴い、これを補完する基幹業務システムをJavaアプリケーションで刷新する計画だ。150名を超える開発チームを投入し、1年以上に及ぶ大規模プロジェクトの成功の鍵のひとつが、継続的インテグレーション(Continuous Integration)によるアプリケーション開発プロセスの自動化である。日本ヒューレット・パッカードのエキスパートエンジニアが、OSS (Jenkins、Docker他)を採用した CIパイプラインを構築し、コードのビルド、テスト、エラー検出のプロセスを劇的に高速化。1週間を要していたリリースプロセスを半日に、再テストまでの工程を5日以内にまで短縮した。

 

業界

製造

 

目的

大規模基幹業務アプリケーション開発のスピード化。ボトルネックとなっていた手作業によるコードのビルド、テスト、エラー検出までのリリースプロセスを見直し、開発工数と時間を削減する。

 

アプローチ

OSSを全面的に採用し、継続的インテグレーション(CI)によるアプリケーション開発プロセスの自動化を導入。リリースプロセスを高速化するとともに、様々な要件に応える柔軟性を確保する。

 

ITの効果

・HPE IT Automation Service(旧名称:DC-IA)を採用しJenkinsベースのCIパイプラインを構築

・コードのビルド、テスト、エラー検出までのソフトウェアリリースプロセスの自動化と高速化を実現

・JenkinsベースのCI環境をDockerコンテナ化し複製・移動を容易に

・OSSの全面採用により機能追加や変更に対応できる柔軟性を確保

 

ビジネスの効果

・1週間を要していたソフトウェアリリースサイクルを半日に短縮

・再テストまでの日程を3週間から5日に短縮

・コード不具合やチューニング部位がテスト結果として明示され、適切かつ早期の修正が可能に

・基幹業務アプリケーション刷新プロジェクトのスケジュール順守に貢献

・ソフトウェアリリースプロセスの自動化・無人化を達成、今後に活かせる資産に

 

チャレンジ

サプライチェーンを支える基幹業務アプリケーションの新規開発

 

「省・小・精の技術」をコアに、プリンティング、ビジュアルコミュニケーション、ウエアラブル、ロボ ティクス、マイクロデバイスなど幅広い事業を展開するセイコーエプソン。「カラリオ」ブランドの家庭用プリンターは国内トップシェアを誇り、オ フィス向けインクジェットプリンターでの躍進も目覚しい。

エプソンブランド製品の国内展開を担うエプソン販売では、基幹業務システムの刷新プロジェクトが進行行中だ。プロジェクトをリードしたセイコーエプソン情報化推進部の久保雄一氏は、次のように話す。

「エプソン販売のサプライチェーンを担う販売管理システムの全面刷新です。SAP ERPの導入、および、これを補完するフロント系システムを新たに開発し、複数の既存アプリケーション機能を統合する一大プロジェクトとなります。開発チームを編成し、300ソースを超えるJavaアプリケーションを新規開発しました」

エプソン販売にとっては、過去最大規模となるJavaアプリケーション開発のチャレンジだ。アプ リケーションの詳細設計から開発段階に入ったのは2017年初頭。作業は急ピッチで進められたが、「プロジェクトの進行とともに課題が顕在化してきた」と同部の久保和彦氏は振り返る。

「複数のチームが並行開発したソースコードの結合テストを行い、不具合を修正して再度テストする工程を繰り返していきました。しかし、ビルドやテストを手作業に依存していたため、1週間に1度のサイクルを回すのが精一杯。複数のテスト環境ごとにソースコードのバージョンを管理しなければならないのも悩ましい課題でした」

手戻りの増加とともに、想定の2倍以上の作業時間を要するケースも出てきたという。「スケジュールの遅延は許されない。テスト工程をプロジェクトのボトルネックにしてはならない」―― 2017年3月、プロジェクトはソフトウェアリリースプロセスの抜本的な見直しを決断した。

「テストからリリースまでのサイクルを短縮すること。バージョン管理におけるミスを起こさないこと。そのためには、プロセスの自動化が不可欠と考えました」と同部の澤野史武氏は話す。

この要求に応えたのが、日本ヒューレット・パッカード(HPE)のグローバルエキスパートエンジニアチームである。HPEの提案は、継続的インテグレーション(Continuous Integration)によるソフトウェアリリースプロセスの自動化だった。

セイコーエプソン株式会社

情報化推進部
久保 雄一 氏

セイコーエプソン株式会社

情報化推進部
久保 和彦 氏

セイコーエプソン株式会社

情報化推進部
澤野 史武 氏

ソリューション

OSSを全面的に採用しソフトウェアリリースプロセスを自動化

 

HPEでは、オープンソースソフトウェア(OSS)を軸にした自動化ソリューションを「HPE ITAutomation Service 」として提供している。豊富な経験に基づくベストプラクティスをもとに、多様なOSSツールを組み合わせ、顧客固有の自動化要件にトータルに応えるサービスである。エプソン販売の要求に対しては、アセスメント、自動化プロセスのデザイン、ツール選定、CIパイプラインの構築までを一気通貫で支援した。プロジェクトに参画したHPEエキスパートエンジニアは次のように説明する。

「コードのビルド、テスト、エラー検出に至るソフトウェアリリースプロセスの自動化を、継続的インテグレーション(CI )のアプローチで実現しました。私たちが重視したのは、いかに柔軟性を確保するかということです。新たな要件が加わっても柔軟に対応できるよう、プロセスのデザインやツール選定を工夫しました」

継続的インテグレーション(CI)は、DevOps ソフトウェア開発手法として知られる。ビルドとテストを自動化してソフトウェアの不具合を早期に発見し、改修と更新を繰り返すスピードを高めながらリリースまでの時間を短縮する。

「採用されたOSSの中で、最も重要な役割を果たすのがJenkinsとDockerです。機能要件に対する柔軟性をJenkinsで、インフラ側の柔軟性をDockerでそれぞれ実現することを狙いました」HPE エキスパートエンジニアは話す。セイコーエプソン 株式会社 製造

Jenkinsは、JavaベースのCIツールとして高く評価されており実績も豊富だ。HPE エキスパートエンジニアはCIパイプラインの活用が拡大することを想定し、それ自体をDockerコンテナ化することで「1ラインのコマンドで容易に増設・展開できるような設計」とした。

「HPEのチームには、アプリケーション開発現場でのヒアリングを重ねながら、既存資産や開発スキームを活かせるCIパイプラインのデザインを検討してもらいました。そして、1ヵ月ほどで準備されたプロトタイプで基本動作を確認し、自動化の威力をまさに実感したのです」(久保和彦氏)

 

1ヵ月でプロトタイプを準備3ヵ月でCIパイプラインを構築

 

2017年7月、HPEエキスパートエンジニアのチームはCIパイプライン構築に着手。わずか3ヵ月で本番稼働に漕ぎ着けた。「いかに柔軟性を確保するか」を徹底的に追求し、様々な機能追加に応えるとともに、使いながら成長するシステムを実現したことに注目したい。

「HPEが提案してくれた『使いながら育てていく』というコンセプトは、私たちのニーズにまさに合致していました。私たちは、CIパイプラインを実務に活用しながら、プロセスの効率化に必要な機能を段階的に追加していくことができました」(澤野氏)

ビルド、テスト、エラー検出、リリースの基本プロセスに加え、リリースチケットによるテスト案件管理、トラブルチケットによる改修管理、テスト結果のメール通知機能などが順次追加されていった。

「アプリケーション開発プロセスを自動化するパッケージ製品も検討したのですが、HPEの提案によるOSSベースのCIパイプラインの柔軟性は圧倒的でした。HPEエキスパートエンジニアが現場に張り付いて追加機能や変更に対応してもらえましたので、アプリケーション開発を走らせながら、同時に開発効率も高めていくことができたのです」(澤野氏)

CIパイプラインによって自動化されたリリースプロセスを整理すると次のようになる。開発エンジニアが作成・修正したソースコードを所定の場所に格納すると、Jenkinsが複数のOSSを連携させながら次のようなプロセスを実行する。

①コードのバージョン確認
②コードのチェックアウト
②warファイルのビルド
③リリースファイルを配置
④スモークテスト・起動確認
⑤失敗時のロールバック

ベネフィット

リリースサイクルを1週間から半日に短縮 再テストまでの工程も3週間から5日以内に

 

2017年9月以降、アプリケーション開発の生産性は大幅に改善した。「まさに劇的な高速化です」(澤野氏)という通り、HPEが構築したCIパイプラインは驚くほどの成果をもたらしたのである。 

「1週間に1~2度しか実施できなかったソフトウェアリリースを、半日で行えるようになりました。テストの待ち時間が解消されたことで、3週間を要していたテスト~コード修正~再テストまでの期間も大幅に短縮できました。『5日以内の再テスト実施』という目標が難なくクリアできるようになったのです」と澤野氏は評価する。

コード不具合やチューニングポイントが明示されようになり、開発チームへの適切なフィードバックと速やかな改修が可能になった。これも開発プロジェクト全体のスピード化に寄与したという。

「CIパイプラインは、大規模かつスピードが要求されるプロジェクトほど大きな効果が見込めます。今後の開発案件でも自動化のコアとなるテクノロジーでしょう。社内では『Jenkinsさん』と親しみを込めて呼ばれています。その仕事ぶりはもっぱらの評判です」と久保和彦氏は笑顔を見せる。

Dockerコンテナ化されたCIパイプラインは複製や移動が容易なので、同様の環境を速やかに増設することができる。本プロジェクトで開発用・ステージング用・本番用のCIパイプラインが順次用意されたように、他のプロジェクトにも即座に適用可能だ。

最後に久保雄一氏が次のように語って締めくくった。

「ソフトウェアリリースプロセスの自動化・無人化が達成できたことは大きな成果であり、今後に活かせる大きな資産となりました。HPEは信頼性の高い製品を提供してくれる印象を強く持っていましたが、今回のプロジェクトでは、技術支援とサービスという新たな一面を見せてもらえたと思います。今後のご支援にも期待しています」

ご導入企業様

セイコーエプソン株式会社 様

 

所在地:長野県諏訪市大和三丁目3番5号

URL:https://www.epson.jp/