
品質が確保された製品やサービスを他社よりも早く市場にリリースするために、アジャイル開発やDevOpsを取り組む企業が増えています。
そしてさらにソフトウェア開発の速度と品質を向上させるために、ソースコードの変更検知とテストの自動化、テスト環境や本番環境へのデプロイを自動化するソフトウェア開発手法のCI/CDが注目されています。
Connected CI
DevOpsの実践を加速し、開発・運用の一体化と定着を支援するモダンでオールインワンなソフトウェア開発基盤です。
ソフトウェア開発を効率よく、高品質で素早く行うために、代表的には以下の手法が多くの企業で取り入れられております。
▶
アジャイル開発は、チームがプロジェクトで使用する反復的なソフトウェア開発方法論のことで、小さなプログラム開発のテストや実装を繰り返し、状況を分析し、プロジェクトを適応させるユーザーのニーズを頻繁に分析します。
一連の工程を短期間で繰り返す1~4週間ほどの小さな開発サイクルであるイテレーションを、設計、開発、テスト、改善のサイクルについて短期間で繰り返すため、問題の発見や改善が容易になります。
▶
DevOps(デブオプス)は、開発(Development)と運用(Operations)からの造語で、ソフトウェア開発ライフサイクルにおける作業の改善を目的とした組織内の開発チームと運用チーム間の連携を構造化できる手法を組み合わせたものです。
DevOpsプロセスは、計画、コーディング、ビルド、テスト、リリース、デプロイ、運用、監視といったフェーズからなる無限のサイクルと考えることができ、DevOpsは、アジャイル開発によって継続的かつ迅速なリリースを目指します。
▶
CI/CDは、CIの Continuous Integration(継続的インテグレーション)と、CDの Continuous Delivery(継続的デリバリー)または Continuous
Deployment(継続的デプロイメント)の略称です。
コードの変更、ビルド、テスト、デプロイ、リリースまでを自動化し、手作業によるミスや、テストの重複などを回避でき、品質の確保、開発速度の向上、リリース時のトラブル軽減などが期待できます。
DevOpsには、開発速度の向上が不可欠なため、開発工程におけるコードの統合からデプロイまでの自動化するCI/CDは重要な要素となります。
■ 品質が確保された製品サービスを他社よりも早く市場にリリースする
ソフトウェア開発の品質と生産性を高めるためにアジャイル開発を取り入れ、DevOps・CI/CDを実践するには、スピードと品質が求められ、自動化が必要不可欠ですが、環境さえあればうまくいく訳ではありません。
重要なポイントは、企業がDevOpsを取り入れる能力を評価し、これらがもたらす変革による成功を測定する方法を明確にすることです。
■ 成功に必要なキーポイント CALMS(カルムス)
企業がDevOpsプロセスを導入する能力を評価し、DevOps変革における成功を測定するため、Culture(文化)、Automation(自動化)、Lean(改善)、Measurement(測定)、Sharing(共有)の5つの重要な柱から構成されるCALMSというフレームワークがあります。
2010年にDamon Edwards氏とJohn Willis氏が提唱したCAMSに、後に『The DevOps Handbook』の共著者であるJez
Humble氏がLeanを加えてCALMSを考案しました。(*参照:What are the 5 CALMS in DevOps?)
▶
共通の目標を共有し、それを達成するための計画を立てることは、チーム内およびチーム間のコラボレーションを促進する上で重要な要素であり、まさにDevOpsを進める上での目標となります。
DevOpsは1つのチームの仕事ではなく、関係するすべてのチームのコラボレーションの結果であるため、文化の変革は経営陣が積極的に受け入れ、模範となる一貫したリーダーシップのもとで実践し、DevOpsの文化を全部門、全階層に適用することが推奨されます。
▶
単純な作業は自動的に行えるようになり、コンピュータは人間よりも厳密で信頼性の高いテストを実行するため、バグやセキュリティ上の問題をより迅速に検出できます。手作業や反復作業を排除し、それらを実行するための信頼性の高いシステムを構築するのに役立ちます。
▶
1980年代にホンダやトヨタで実証され、1990年代には多くの自動車メーカーに取り入れられたリーン開発と呼ばれる手法は、アジャイル開発手法の代表的な一つにもなっています。
リーン思考の7つの原則:
①ムダを排除する
② 学習効果を高める
 ③ 決定をできるだけ遅らせる
④ できるだけ速く提供する
 ⑤ チームに権限を与える
⑥ 統一性を作りこむ
⑦ 全体を見る
(*参考文献:Mary Poppendieck & Tom Poppendieck著 リーンソフトウェア開発 平鍋健児/高嶋優子/佐野建樹訳
日経BP社 2004年)
こうしたプロセスの改善が、DevOpsの評価としての重要な要素となります。
▶
企業が関連するあらゆるデータを収集して、ソフトウェア開発プロセスにおいて何が行われているかを測定し、追跡することは、事実に基づいた改善等の意思決定を行うための必須条件です。
測定されたデータを組織内の他のチームと外部で共有することで、明確なロードマップを作成し、プロセスに関わるすべてのチームやステークホルダーから支援を得ることができ、さらに有用性が高まります。
CALMSモデルは、DevOpsチームの成熟度を比較するための優れたフレームワークであり、その後に続く変革を見据えたチームの現状評価に役立ちます。CALMSは、組織内の開発と運用のチーム、機能、システムを統合するための概念フレームワークです。
CI/CDツールやコミュニケーションツールなど、複数のツールへのアクセシビリティを向上
各ツールに記録された情報からチームの成熟度を『CALMS』の指標で可視化
測定の自動化、成熟度の算出により継続的改善を支援
▷

▷

▷

品質を保ちつつ迅速なデリバリーが求められる製造業や情報通信業など、アジャイル開発や、DevOps、CI/CDを積極的に取り組んでいる多くの企業では、開発の可視化は、今もなおコード量や進捗率など、限られた指標に依存しているケースが多いです。
クラウドネイティブ、生成AIが注目されてくると、ソフトウェア開発は、これまで以上にスピードと複雑性を増してきており、Connected
CIは、チームの状態が把握しづらいなどの課題に対し、各ツールに記録された情報からチームの成熟度を『CALMS』の指標で可視化し、成熟度で改善ポイントを把握できます。
提供形態は、お客様のご利用環境やセキュリティ要件に応じてクラウド、またはオンプレミスが柔軟に選択できます。
※Connected CI(コネクティッドシーアイ)は、株式会社シーイーシーの登録商標です(登録第6819331号)
本ページ内記載の製品名は、各社の商標または登録商標です。