ALGOTEC

何百ものC++プロジェクトのテストやビルドの時間を80%高速化し、CIや自動テストへの移行を実現

algotec_logo

Algotecについて

Algotec社は放射線医学、循環器医学、マンモグラフィなどの医療用画像を中心とした次世代のヘルスケア情報技術プラットフォームの開発を行っています。

医用画像の管理、読影、処理、レポート作成、配信のために Webに対応した高度なソリューションを医療施設に提供します。同社のソリューションには医用画像処理、医用画像情報管理、遠隔医療、医用画像管理システム(PACS)、放射線科情報システム(RIS)、遠隔医療システム、マルチサイト画像管理システム(SuperPACS)、臨床データ管理、e-ヘルス管理サービスなどが含まれます。

Carestream Health社の子会社であるAlgotec社が開発した「ケアストリーム Vue」は、世界各地の数千に及ぶ医療機関に導入され、医療技術と患者ケアの質の向上に貢献しています。また、ケアストリーム Vueには最先端の医療画像処理能力を持つワークステーション、膨大な医療データの処理と保存のためのサーバー、患者とその治療状況を管理するためのプロダクトが搭載されています。

課題

ケアストリーム Vueは、ソフトウェアが複雑に組み合わされています。ベースとなる数百万行ものコードに膨大なコードが追加され、Visual Studioによるビルドは長時間かかっていました。特に最新ハードウェアでのコンパイルには、3時間以上必要でした。

Algotec社では、およそ400のC++プロジェクトを全てリビルドしています。100行を超えるソースファイルを30個以上含むプロジェクトも少なくありません。さらに、広範囲にわたるマクロの使用、TLBのインポート、カスタムビルドなどコンパイル時間に影響を与える要因が多くありました。ビルドに時間がかかることで、新機能のフィードバック取得やバグの修正が進まず、さらなる問題を引き起こしていました。

そのため、Algotec社では各プロダクトに対してデバッグ用とリリース用の2つのナイトリービルドのみを実行していました。ビルドに一晩中かかり、日中は同じビルドサーバーを使用しているため、夜間に自動でデプロイやテストを行う時間は取れませんでした。

「今までは時間的な制約のため夜間に1度しか行えなかったビルドが、Incredibuild の導入で 1 日に何度も行えるようになりました。最終的には完全な継続的インテグレーションに移行でき、生産性と品質をともに改善することができました。」

Yossi Zinger

Algotec ソフトウェア構成マネージャー

Incredibuildの導入

Algotec社は、Visual Studioのビルドを高速化するため、開発者全員のPCにIncredibuildをインストールしました。

結果は衝撃的でした。コンパイル時間は劇的に短縮し、小規模プロジェクトでは30分から3分にビルド時間が短縮しました。大規模プロジェクトのビルド時間は190分から40分へ、さらにプロジェクトの依存関係の最適化を行った結果、34分にまで短縮しました。

ビルド時間が短縮したことで同社は、継続的インテグレーションへと移行することができました。1日に複数回ビルドを実行することで迅速なフィードバックを取得できるだけでなく、夜間に自動でプロダクトのテストやデプロイを行う時間の余裕が生まれました。これが社内全体に自動テストを導入する契機となりました。

Incredibuild時間

  • 小型のプロジェクト

    3 mins
    30 mins
  • 大型のプロジェクト

    34 mins
    3 hours
With Incredibuild
Without Incredibuild