アジャイル開発においてCI/CDの仕組みは必要不可欠だ。だが「CI/CDツールを入れたのはいいが、時間がかかり過ぎる」といった課題を抱える企業もある。CI/CD導入で注意すべきポイントとは何か。
ソフトウェアに求められる要件や、それを実現するための開発手法は時代に応じて変化している。近年は、従来よりも短期間でのリリースを高頻度に繰り返しながら、品質とユーザーの満足度を徐々に高めていく、「アジャイル開発」に注目が集まっている。
アジャイルでソフトウェアを作り上げていく際には、旧来の開発手法とは異なるプロセスが求められる。さらに高頻度の「変更」と「リリース」に耐えられる開発環境が必須だ。
ソースコードの変更をトリガーに、プロジェクトごとの要件に合わせてビルド、テストを実施し、ステージング環境や本番環境にデプロイする。こうした一連のプロセスを自動化し、確実に実行するための仕組みがなければ、アジャイル開発における生産性は上がらない。「CI/CD」(継続的インテグレーション/継続的デリバリー)と呼ばれる仕組みの必要性はそこにある。
CI/CDを実現する製品やサービスは幾つか登場しているが、導入さえすれば「ユーザーに価値あるプロダクトを提供できるか」といえばそうとも言い切れない。CI/CDの仕組みはあるものの「プルリクエストを出しても反映まで時間がかかる」「リクエスト数が増えるとパフォーマンスが極端に悪くなる」など課題を抱えており、思うような開発ができないと悩む企業は珍しくない。
会計を中心としたクラウドERPサービスを展開するfreeeも、かつては「プロダクトとエンジニアの増加にCIツールが追い付かない」という悩みを抱えていた。freeeはこの課題をどのように解決したのか。現場の第一線で活躍するエンジニアに話を聞いた。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:CircleCI合同会社
アイティメディア営業企画/制作:@IT 編集部