イラストで学ぶ!CI/CDの段階的な導入に向けて
CI/CDの実現に必要な自動化のプラクティスを全て最初から行うのは難しく、段階を踏んでプロセスを成熟させることが実現のポイントです。また、フェーズごとに必要となる対策も異なるため、現在の開発現場がどのレベルに位置する把握すること、CI/CDは型どおりにする必要はなく組織にあった型にすることがポイントとなります。
これからCI導入を検討される方に向けて、登山に例えてイラストでご紹介しています。
はじめての登山、どうされますか?
登山の初心者が一気に標高の高い難易度の高い山を目指すことは難しいですよね。
CI/CDの導入を始めるにあたっても同じです。
CI/CDの実現に向けては、段階を踏んでプロセスを成熟させる必要があります。また、フェーズごとに必要となる対策も異なるため、現在の開発現場がどのレベルに位置するかも把握する必要があります。
1. 現在地の確認
2. 経路の選定
3. 目的地の確認
4. 必要な道具を揃える
1.現在地の確認
現在のソフトウェア開発の成熟度や、将来的に目指す姿に応じて、段階的なステップアップを目指す
山を登る際には、「体力」「技術的難易度」を把握が必要です。
難易度が上がることによって装備も増えます。ハイキングであれば軽装でも問題ありませんが、標高が高くなると気温を考慮した服装にする必要もあります。
まずは、標高の低い山からスタートをして、段階的にレベルの高い山にチャレンジをしてきます。
小さいチームからスタートして、段階的にチームのメンバーや組織体系の見直しを行うことが必要になります。
2.経路の選定
CI/CDは型どおりにする必要はなく、組織にあった型にすることがポイント
登山の経路はたくさんコースがあります。自分たちの目的にあったゴールを選択する必要があります。頂上までいっきに登るのか、山小屋に一泊をしたり、山を横断しながら登るのかなどの作戦を練ってゴールを決めます。
会社の独自の文化に合わせて、CI/CDは型どおりにする必要はなく、組織にあった型にすることがポイントとなります。
3.目的地の確認(ゴール設定)
登山する場合、目指す頂上(ゴールの設定)を決めてから登山を行います。また、頂上に向かうまでにかかる時間も目標として設定をすると思います。
CIも同じになります。
「ビジョンを描くこと」と「定量化した数値を目標」にすることが大事になります。
目標の山をクリアしたら、さらなる課題に向けて次の山を目指します。
これを継続して経験値を高くしていきます。
4.必要な道具を揃える
CI導入も同じです。CIツール「Jenkins」を導入したから安心というわけではありません。Jenkinsは、利用の目的がずれていると効果的な力が発揮できません。開発者が変更を行ったら、即座にビルド、テストを実行して、問題があればすぐにフィードバックする仕組みが必要になります。Jenkinsのエージェントは、いろいろな環境を準備しておき、プロジェクトに合わせて必要な環境に割り振ることで効果を発揮します。
5.まとめ
CI/CDIの取り組みは、終わりのある旅路ではありません。ときは、1歩進むために、2歩下がって、3歩進むこともあります。
小さい改善を1つ1つ積み上げていく、必ずしも大きなジャンプをしなくてもよいのです。
高い目標に向かって進む勇気、ゴールにこだわる意識、そして大事なことは、定量化した結果を経営層・社内メンバーに発信すること。測れないものは改善できないと、Jenkins Dayの各講演者は語っています。
これからCIを導入したい。開発を効率化したい。CIを全社展開したいなど、CI/CD導入をご検討されている方、テクマトリックスにお問い合わせください。