Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ビジネスの成長に貢献するソフトウェア開発効率化
Search
Masahiko Funaki(舟木 将彦)
January 08, 2021
Technology
0
10
ビジネスの成長に貢献するソフトウェア開発効率化
Digital Transformationを支えるCI/CD
Masahiko Funaki(舟木 将彦)
January 08, 2021
Tweet
Share
More Decks by Masahiko Funaki(舟木 将彦)
See All by Masahiko Funaki(舟木 将彦)
フルスタックQAへの第一歩。Web UIとAPIテストを統合した品質保証戦略
mfunaki
0
29
mabl新機能解説:プロンプトによるテスト生成とローカル/クラウド実行のシームレスな統合
mfunaki
0
56
mabl MCP x 生成AIによる開発・テスト自動化の未来 - コンテクスト駆動型のAI体験 -
mfunaki
1
99
テスト自動化がさらに加速!生成AIが作成・修正・分析まで行う『エージェント型テスト』の全貌
mfunaki
1
180
Playwrightとmablのパワフルな統合: 効率的なテスト自動化を実現する新機能を学ぶ!
mfunaki
1
290
AIで進化するソフトウェアテスト:mablの最新生成AI機能でQAを加速!
mfunaki
1
310
Harness the Power of Advanced LLM and CI/CD Practices
mfunaki
0
410
CircleCI によるソフトウェア開発の品質向上と効率化の実現
mfunaki
0
310
CircleCI と Argo Rollouts で 実現する Kubernetes 上の プログレッシブデリバリー
mfunaki
0
210
Other Decks in Technology
See All in Technology
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
110
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
410
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
120
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
130
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
220
Exadata Fleet Update
oracle4engineer
PRO
0
1.1k
マネージャー視点で考えるプロダクトエンジニアの評価 / Evaluating Product Engineers from a Manager's Perspective
hiro_torii
0
190
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
130
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
480
Cloud Runでコロプラが挑む 生成AI×ゲーム『神魔狩りのツクヨミ』の裏側
colopl
0
150
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
260
Featured
See All Featured
HDC tutorial
michielstock
1
400
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
250
The Invisible Side of Design
smashingmag
302
51k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The Limits of Empathy - UXLibs8
cassininazir
1
220
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Being A Developer After 40
akosma
91
590k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
68
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Fireside Chat
paigeccino
41
3.8k
The agentic SEO stack - context over prompts
schlessera
0
650
Transcript
1 ビジネスの成長に貢献する ソフトウェア開発効率化 ~Digital Transformationを支えるCI/CD~ CircleCI合同会社 マーケティング部 Developer Advocate 舟木
将彦 (@mfunaki) #CircleCIJp (2021/01/08)
Introduction to CircleCI • 世界最大規模のクラウド CI/CD サービス • より良いコードをより速く、簡単にリリースすることを可能に •
2011年設立、サンフランシスコ本社 • 300人の社員(米国、東京、英国にオフィス) • 20年4月 1億ドルのシリーズEを実施、合計2億1,500万ドルを調達 Representative Customers
DX(Digital Transformation)やれ って何やるの?
4 ファースト ステップ 1. ツールの導入や新技術のPoC 4 ツールの導入 Slack, Zoom, Microsoft
Teams • 同じ場所にいなくてもビデオでコミュニケー ション可能(場所の制約からの解放 ) • 同じ時間でなくてもチャットでコミュニケー ション可能(時間の制約からの解放 ) • 音声認識や文字認識によりデータをだれで も検索利用可能(媒体の制約からの解放 ) 新技術のPoC(コンセプト検証) IoT/AI/ML(機械学習) • 各種センサを使いデータ収集・共有可能 (場 所の制約や記憶の制約からの解放 ) • 品質検査(見落としや見過ごしなどのヒュー マンエラーからの解放 ) • 故障予兆やトレンド予測 (ノウハウの属人性 からの解放) 社内がつながる 技術が検証できる 顧客とつながる デジタルにより既存ビジネスの枠を超える
5 ファースト ステップ 2. ワークショップによる新規ビジネス創出 5 デザイン シンキング 課題解決ではなく真の課題を定義し直す •
顧客は誰で、抱えている課題 (実現したいこ と)は何かを観察と共感を通じて捉える • 現状のやり方(プロセス)の中で、何がブロッ カーになっているのかを捉える • ブロッカーを排除/乗り越えられない原因 (真の課題)を定義し直す(リフレーム) アイデアソン/ハッカソン 解決方法を探り、プロトを通じて検証する • さまざまな観点や技術をもとに解決方法を 量産する • クイックプロトタイプを作ることにより、解決 方法の実現可能性を検証する • クイックプロトタイプを使うことにより、効果 (課題解決の実効性)を評価する (既存・新規)顧客を理解する アイデアがプロトになる 顧客が自社を選ぶ理由ができる プロトが新製品/新サービスになる
6 3. DXに取り組み始めた→DXがビジネスをドライブへ 6 • 「PoCはやってみた」「アイデアは出してみた」から 「新製品/新サービス」をスピーディーに実現する • 「早くプロトできる、製品化/サービス化できる、 複製できる、バージョンアップできる」
Digitalの強み→ソフトウェアの強みをビジネスにつなげる 例) 地震計をリリースするには時間がかかるが、スマホで動作する 地震計アプリならクイックに大量リリース&バージョンアップ可能 →エコシステム(インフラ会社、医療、食品etc)の拡大 技術が検証できる デジタルにより既存ビジネスの枠を超える アイデアがプロトになる プロトが新製品/新サービスになる
スピーディーに ってどうするの?
8 CircleCIのビジョン 世界中のだれもが、思い浮かんだアイデアを すぐにソフトウェアとして配信できるように支援する Make it as easy as possible
to go from idea to delivery 8
日本はホワイトカラーの生産性は低いが、 製造業(ものづくり)の生産性は他国より優れている → 過去(2000年)までの常識 ただし、日本の生産性が下がっていたわけではない →ほぼ横ばい「何も変わってこなかった」 日本以外の各国は人力ではなく、デジタル・ ITを 活用することで生産性を高めてきた (ただし、アイルランドのように低税率の法人税で
多国籍企業を誘致し、ものづくりは他国で、売り上げは 自国でという現実には留意が必要 ) 9 日本の ものづくり生産性 出典: 日本生産性本部「労働生産性の国際比較 2019」
10 COVID-19を契機とした変化 生産性と品質を支える開発基盤 大チーム、SIer丸投げ→リモート前提の小チームでク イックリリース 標準化: どこででも通用する開発プロセス 差別化: しなやか(多様性)で燃え尽きないチーム ソフトウェア・ファースト
使われるプロダクトやサービスを開発・運用 差別化領域の「手の内化」≠何でも自前主義 標準化: どうデータを集め、運用するか(SoR) →あり物の活用 オーバーカスタマイズしないでそのまま使う ことで時代の進化(あり物のバージョンアッ プ)を自社ビジネスの標準化に取り込む 差別化: どうユーザー体験を提供するか(SoE) →自社を選ぶ理由(何がスゴいのか)作り 2019~20年 ソフトウェア開発は何が変わったか? 2020年に明らかになったことの1つは、「どれだけ綿密 に計画を立てていても、人生は思いどおりにはいかな い」「理想のチームの規模とは、人生で起こる不測の事 態を吸収できるほどの人手がある規模」
11 ソフトウェア開発・運用におけるペインポイント プラン コード ビルド テスト リリース デプロイ 運用 監視
機能や 動作環 境、 必要ス ペックや 予算 洗い出し (仮置き) エンジニ ア各自 が 自分の 環境で 開発 (しばし ば遅延) コードを 取りまと めて ビルド→ 問題あ れば エンジニ アに 確認・修 正 テスト ケース作 成・実行 (前工程 で遅延 すると、 十分な 時間が 取れな い) 取り まとめ + インス トール 手順等 作成 更新の 場合、 一定時 間サー ビス停止 し、プ レッ シャーの 中 更新 作業 コードに問題があって 動作しない、 アクセスが増えて スピード低下、 情報漏洩や外部からの 攻撃対策 で手一杯
12 顧客ニーズへの対応(変えること+変えないこと) プラン コード ビルド テスト リリース デプロイ 運用 監視
ビジネスが継続する限り、プロジェクトは続く 市場が求める+自社が打ち出したい新しい機能を盛り込み ユーザインタフェースを改善することで利用しやすくすることで ビジネスに貢献したい ダウンタイムや待ち時間を減らし、 常に変わらず使える状態を保つことで ビジネスに貢献したい
13 ビジネスの継続と開発・運用の継続をつなげる プラン コード ビルド テスト リリース デプロイ 運用 監視
継続的インテグレーション (CI) 継続的 デプロイ (CD) 自動化できない 完全自動化できない プルリクエスト(コードの追加・修正 )起点の自動化 ビジネスが継続する限り、プロジェクトは続く 共有リポ ジトリの 上で 常に 作業 コード追加・修正時には 常にビルド・テスト (最後にまとめてやらな い→早く失敗すれば 早く品質が安定する) サービス停止しないで 常にリリース、デプロイ (失敗時にはクイックに 修正 または 前バージョ ンに戻せる)仕組み 運用・監視しやすい 品質をコードに反映 (必要なデータの取得、 スケーラビリティの 確保)
14 ビジネスの継続と開発・運用の継続をつなげる プラン コード ビルド テスト リリース デプロイ 運用 監視
継続的インテグレーション (CI) 継続的 デプロイ (CD) 自動化できない 完全自動化できない プルリクエスト(コードの追加・修正 )起点の自動化 ビジネスが継続する限り、プロジェクトは続く 共有リポ ジトリの 上で 常に 作業 コード追加・修正時には 常にビルド・テスト (最後にまとめてやらな い→早く失敗すれば 早く品質が安定する) サービス停止しないで 常にリリース、デプロイ (失敗時にはクイックに 修正 または 前バージョ ンに戻せる)仕組み 運用・監視しやすい 品質をコードに反映 (必要なデータの取得、 スケーラビリティの 確保) 品質はCI/CD、監視、テストなどDevOpsプロセスの質によって 左右されるが、重要なのは人。
CI/CDの導入効果 を実例で知りたい
16 実データから見る自動化(CI/CD) 調査期間 2020/08/01~30 (2019年版は90日間) 調査対象 44,000組織 160,000プロジェクト 200万ジョブ/日
17 自動化における4つの評価ポイント • スループット 1日あたりのワークフロー(CI+CD)の平均実行数 • 実行時間 ワークフローの平均実行時間 • 平均復旧時間
ワークフロー失敗~成功の平均時間 • 成功率 ワークフロー成功数を実行数で割った商
18 CircleCIユーザーの 中央値(2020/08) ベンチマーク目標値 スループット ワークフローの平均実行数 0.7回/日 プルリクエストのマージごと いつでも(遠慮せずに)ビルド可能 実行時間
ワークフローの平均実行時間 4分以内 5~10分 自動化可能なことは全て任せる 平均復旧時間 ワークフローの失敗~成功の平均時 間 56分以内 60分以内 大きな失敗を最後にではなく、すぐ に復旧できる失敗を早期に 成功率 ワークフローの成功数/実行数 デフォルトブランチで 80% デフォルトブランチで 90%以上 自動化における4つの評価ポイント ここの数値を「近い目標」として ここの数値をベンチマーク対象にする
なぜCircleCIを選ぶべきなのか を知りたい
20 CI/CDマーケットにおけるCircleCIの位置づけ CircleCI https://www.g2.com/categories/continuous-integration?segment=mid-market#grid
21 CI/CDを簡単に定義するためのパーツ(Orbs)が充実 パートナー様製 Orbs CircleCI 製 Orbs
数多くのお客様のビジネスをCI/CDの面から支えている実績
日本語のウェブサイト・技術情報・情報発信
コミュニティ起点での豊富な情報とエンジニアの成長支援
教育やPoCレベル以上のリアルユースケース
雑誌・書籍・技術系同人誌が充実
ソフトウェア力を高め ビジネス貢献につなげていただきたい
28 Digital Transformationを実現するソフトウェア力を高め るには? 差別化観点では、 • CI/CDの自動化により、優れたエンジニアの「生産力」がプロダクトやサービスの 「競争力」にリアルタイムで連動するようにする • CI/CDの自動化により、「人には人でしかできない仕事」に注力してもらうことが、
他社よりも自社を選んでもらえるプロダクトやサービスを提供するうえで重要 標準化観点では、 • 開発・運用プロセス(DevOps)が自動化を中心に全社で標準化されることで、 エンジニアを社内の注力プロジェクトにアサイン、早期立ち上げ可能 ◦ 社内での「転職(転プロジェクト)機会」増加により成長のチャンスが増える ◦ 社外からの転職者が仕事に慣れるまでの時間も短縮化できる
29 Thank you.
30 ソフトウェア開発における自動化とは? 2011 2008 2007 2006 2009 2012 2015 2007
年2回の機能リリース データドリブン Infrastructure as Code (インフラの コード化) Out of the box→ Over the Air 最新コード + 履歴を クラウドに ビルドや テストの 自動化 コンテナに よる「器」 標準化 2013 コード~テスト~デプロイが自 動化で一気通貫 (リアルタイム) 今回のテーマではな い
31 紙をマグネットにした自動化が本質ではない 標本的ノウハウ 全数データを(力技で)チェック
どうしてスピーディーに できないの?
33 許せる自動化・許せない自動化・導入の文化的ハードル (川の水ならタダなのに ) 水道代がもったいない (まだ何回か洗えるのに ) 洗剤がもったいない (お湯なんか使って) ガス代がもったいない
自分は苦労したのに、 後の人が楽になるのは 許せない