「【自動化何でもLT大会編】CircleCI コミュニティミートアップ」 で CircleCI の有料プランを導入したことについて話しました
こちらはCircleCI Advent Calendar 2021の第13日目の記事です。
先月末に CircleCI コミュニティの勉強会で登壇しました。
CircleCI のガッツリした技術的な話...というより、職場で有料プランを導入した時にやったことを題材にしました。
今回は登壇した資料についての補足や発表時にあまり話せていなかった内容を書いていこうと思います.
登壇資料
導入までにやったこと
これが正解というわけではありませんが、私が有料プランを導入する際には以下の手順で進めました。
「3.」については職場でのルールのようなものなのでやる必要はわかっていましたが、1. と 2. に関しては 3. に至るまでに必要と考え実施をしてみました。
CI/CDサービスの調査
ここに関しては技術やサービスを選定をする際によくやるような作業です。候補となるサービスで気になる機能を自分なりにまとめていきました。
CircleCI Japan との MTG(ミーティング)
ここでは「CI/CDサービスの調査」では調べきれなかったことや料金の支払いについてなど細かい所についてお話をお聞きしました。
この後控えているチームや部内での提案ができるように必要な用語や仕組みについてわからないところを予めメモをしてMTGに臨みました。
GitHub リポジトリの調査
ただ単にCI/CDサービスを調査するだけではなく、職場で有料プランを導入するとざっくりでもどれくらいクレジット(消費量)が必要になるかがわからずにいました。 何か手がかりになる情報が無いかを考えた結果、現在利用している GitHub のリポジトリやコントリビュートしている人数を手がかりになると判断し調査をしてみました。
また、どのCI/CDサービスが良いのかという切り口の一つとして、現在のメンバーのCI/CD利用経験・スキルなども考慮をしないと導入した際のメンバーの学習コストがどれくらいになるかも開発業務に関わってくると思い、調査をしてみました。
結局導入したらどんなメリットがあるの?
ここまでは主にエンジニア内で議論をする際に必要な情報を整理をしていきました。 エンジニア以外のメンバーも含めて提案をし、納得するためには CI/CD サービスの機能の話をするというよりも結局導入したら結果的にどういったメリットや利益(ROI的な観点)があるのかを説明する必要があります。
正直、有料のサービスを導入するのは仕事ではなく、個人として導入したことが殆どで(GitHub Proなど)ここまで考えて導入した経験はあまりありませんでした。 そのため、正直ここからどう進めようかかなり悩んでおりました...
作業時間に着目をした
あくまでこれは例の一つではありますが、今回は導入することのメリットとして「作業時間」に着目しました。
まずは、1リポジトリあたりの手動でのデプロイと自動化したデプロイの作業時間を計測しました。
そこから作業人数と1月あたりの回数(直近数ヶ月の実績から算出)をかけ合わせ、手動と自動化した状態では1月あたりの作業時間がどれくらい変わるのかを比較しました。
さらに年間で見てみる
ここからさらに他のリポジトリも含めた上で年間でどれくらい変わるのかをシュミレーションしてみました。
今までの計算式は何か教科書に書いてあるものでもありませんし、妥当性があるかどうかは人によって意見が異なるかもしれません。
しかし、こういった計算をせずに導入するのとしないとでは自分がどれくらい影響を与えることをしようとしているかを把握することが出来ます。
今回はそれが部内で提案をすることがきっかけで実施をしましたが、今回を通して導入することでどれだけメリットや利益があるのかを調べることがどれだけ大切なことなのかを強く実感しました。
導入してからがスタート
「ふぅ〜何とか有料プランを導入できた〜」と一呼吸はつきましたが、ここで終わりではなくここから未設定のリポジトリへのCircleCIの導入や各メンバーへの共有をしていきます。
やっと有料プランが出来た分引き続き頑張っていきます。
発表中
発表中は Twitter のハッシュタグや, Youtube のコメント,質疑応答を通してたくさんのコメントやフォードバックを頂きました.ありがとうございました!!!.
まとめと所感
「【自動化何でもLT大会編】CircleCI コミュニティミートアップ」 で登壇しました。 今思い返すと、こういった社内での提案・申請を含めた導入は今回が初めての経験でした。(選定まではするけど、社内での申請は別の方がやる感じ)
まぁどこかのタイミングでやる時が来るとは何となく思っておりそれが今回だったわけで、あまり使わない筋肉を使った感があり色々大変でしたが良い経験が出来たと思います。 特にチーム・組織で何かを意思決定する時にどんなことが必要になるのかは特に勉強担ったと思います。
正直、CircleCI とはあまり関係ない内容でしたが「ウチのCircleCIの有料プラン導入したいと思うけど何したら良いかわからない」、「CircleCIに関わらず会社で有料のサービスを導入する時はどうすれば良いの!?」と思っている人が少しでも参考になれば幸いです。 今回の記事の後半あった「結局導入したらどんなメリットがあるの?」は「数字で考える」という考え方が特に参考になりました。
最後に、こういった「数字で考える」ってつまりどういう事?と思った時に同僚からおすすめされた書籍があるのでこちらを共有したいと思います。 というか、実は導入した後におすすめされたので現在私も読書中です 😅