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
CircleCI によるソフトウェア開発の品質向上と効率化の実現
Search
Masahiko Funaki(舟木 将彦)
January 18, 2024
Technology
0
260
CircleCI によるソフトウェア開発の品質向上と効率化の実現
2024/01/18(木)に Japan IT Week 関西にてお話しさせていただいた「CircleCI によるソフトウェア開発の品質向上と効率化の実現」のスライドです。
Masahiko Funaki(舟木 将彦)
January 18, 2024
Tweet
Share
More Decks by Masahiko Funaki(舟木 将彦)
See All by Masahiko Funaki(舟木 将彦)
Playwrightとmablのパワフルな統合: 効率的なテスト自動化を実現する新機能を学ぶ!
mfunaki
0
140
AIで進化するソフトウェアテスト:mablの最新生成AI機能でQAを加速!
mfunaki
0
200
Harness the Power of Advanced LLM and CI/CD Practices
mfunaki
0
370
CircleCI と Argo Rollouts で 実現する Kubernetes 上の プログレッシブデリバリー
mfunaki
0
160
はじめてのCircleCI
mfunaki
0
63
CircleCIでChatGPTにエラーの解説を頼んでみた
mfunaki
0
620
自動化→部品化すると社内開発は楽しくなる
mfunaki
0
63
テストの自動化~簡単に始める、みんなで使う、現況を捉える
mfunaki
0
67
テストの自動化 〜 簡単に始める、みんなで使う、現況を捉える
mfunaki
0
41
Other Decks in Technology
See All in Technology
~宇宙最速~2025年AWS Summit レポート
satodesu
1
1.5k
Agentic DevOps時代の生存戦略
kkamegawa
0
1.1k
rubygem開発で鍛える設計力
joker1007
1
140
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
220
2年でここまで成長!AWSで育てたAI Slack botの軌跡
iwamot
PRO
2
490
BrainPadプログラミングコンテスト記念LT会2025_社内イベント&問題解説
brainpadpr
0
160
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
2
220
A2Aのクライアントを自作する
rynsuke
1
160
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
150
UIテスト自動化サポート- Testbed for XCUIAutomation practice
notoroid
0
120
ハノーバーメッセ2025座談会.pdf
iotcomjpadmin
0
150
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless SaaS Account Management with Standard Technologies & Custom Systems
yuyatakeyama
2
1.1k
Featured
See All Featured
Making Projects Easy
brettharned
116
6.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
The Language of Interfaces
destraynor
158
25k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Raft: Consensus for Rubyists
vanstee
140
7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
KATA
mclloyd
29
14k
Building a Modern Day E-commerce SEO Strategy
aleyda
41
7.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.9k
Transcript
1 CircleCI による ソフトウェア開発の品質向上と 効率化の実現 2024/01/18(⽊) Japan IT Week 関⻄
⾈⽊ 将彦 (@mfunaki) CircleCI - Principal Developer Advocate
2 Agenda ソフトウェア開発の⽣産性向上 DevOps とアジャイル CircleCI の紹介 デモ: 開発の⾃動化+⾒える化 CircleCI
の導⼊事例 1 2 3 4 5
3 ソフトウェア開発の⽣産性向上 どんな業種・業態であっても、 ソフトウェア開発は、競争⼒をアップし、 他社との差別化、顧客満⾜度や信頼を⾼める上で重要 しかし、労働⼈⼝は減少し、技術は⽇々進化 する中で「がんばり」だけでは開発はできない 開発⽣産性の向上が必要 • 開発⽣産性が向上すれば、顧客の欲しい機能を他社よりも
早く提供できる →さらに多くの顧客を獲得できる →エンジニアにとっても魅⼒ある働き場所に • ⽣産性が向上すれば、品質向上のための取り組みや、 新たな技術を学ぶための取り組みに時間を振り向けられる
4 開発⽣産性の向上には何が必要か ソフトウェアの開発⽣産性を向上するには、 § 開発⼯程の無駄の排除 § 開発スキルの向上 § ⼯程の優先順位の明確化 が必要であり、
§ 開発⽣産性を定量的に把握するために 指標を活⽤ することが⼤事
5 DevOps とアジャイル プラン コード ビルド テスト リリー ス デプ
ロイ 運用 監視 継続的インテグレーション(CI) 継続的 デプロイ (CD) 自動化できない 非正常系は 自動化できない 自動化できる 1. 自動化により「担当者がいない/忙しい」に 関わらず、コードの変更に問題がないかをテストし、 最新コードをすぐに反映可能 2. 短い周期で機能を開発+提供し、早くフィードバック が得られるので、注力する優先順位づけが可能(誰 も求めていない機能は作らない) 3. コードの更新間隔やテスト結果、リリース状況と いった開発生産性に関わる指標が自動的に取得 でき、開発の現況を数字で把握、追跡可能
6 CircleCI の紹介 • CircleCI はソフトウェア開発の⾃動化と ⾒える化を実現するプラットフォーム • CircleCI を使うことで、DevOps
や アジャイルの導⼊を徐々に進めることが可能 • CircleCI を導⼊した企業は、 ・開発時間の短縮と品質の向上 ・開発の現況を⾒える化 ・開発ノウハウの共有(再利⽤可能な部品化)と などの効果を得ている
7 デモ: CircleCI の導⼊ https://circleci.com/ja/pricing/
8
9 デモ: 開発時間の短縮と品質の向上 並列化により自分のPC上よりも早くテストが完了する 並列化の割り振り方法 ・過去のテスト所要時間をもとに均等化(賢い) ・ファイルサイズの合計を均等化(経験則) ・ファイル名のアルファベット順(実行順を制御可能)
10 デモ: 開発全体の現況を⾒える化 スループット ⼀⽇のビルド回数 =コードの修正反映 実⾏時間 ⾃動化プロセスの 実⾏時間 ⻑すぎ:
開発テンポ悪 短すぎ: ⾃動化不⾜ 復旧時間 ビルド失敗時に戻す、 ⼜は直して動くように なるまでの時間 成功率 修正したコードを反映 する際の成功率
11 デモ: テストの現況を⾒える化 1ワークフローあたり の平均テスト実⾏数 Flakyな(結果が不安 定な)テスト検出数 失敗した テスト数 (P95の中で)最も遅
いテストの所要時間 グラフをクリックすることで、 実際にどのテストが成功/失敗 して、時間がかかっているのか 簡単に参照可能
12 デモ: 開発ノウハウの共有(再利⽤可能な部品化) 命名規約: 組織名/Orb名@バージョン番号 (⾃組織のみに公開、または全体に公開可能)
13 CircleCIの導⼊事例 PayPay 金融法令遵守のため、「抜け漏れないテストと開発のペースアップ」を両立。 (プログラムの修正をリポジトリに反映させるプルリクエストが5~6回/日から25回/日に) ANA システムズ テストの自動化で一ヶ月に延べ300人が平均1000時間のテスト工数を削減+セキュリテ ィ検証を稼働開始前だけでなくテストと合わせて実行することで手戻りを大幅に削減。 GLOBIS
動画学習サービスの開発において、定型的なコードレビューはCircleCIで自動実施し、 人でなければレビューできない箇所に注力することで負担軽減+開発スピードアップ。 はてな モバイルアプリのテストにおいて並列化を活用し、テストスピードを高速化。 日本語のドキュメントやサポートが充実していることで安心感につながる。 属人的にノウハウを蓄積させるのではなく、仕組みを整備することで開発効率向上。 バンダイ ナムコ こまめにテストを行い、後工程での手戻りを削減することで、開発効率化+プロダクト の質の向上を実現。(80並列でのテストから200並列でのテストへ) ANDPAD CircleCIを使って賢くテストを並列実行することで、CIの平均実行時間の目標値15分程 度を維持し、開発効率を高める(プルリクエストしやすい仕組み)。
14 まとめ • ソフトウェア開発は⾃社のビジネスを 他社と差別化する「欲しい機能を早く」 • 開発⽣産性の向上は⼀丁⽬⼀番地。 なぜなら、⽣産性が向上すれば ・開発スピードが上がりより早く提供可能 ・時間を技術の学習は効率化に投資可能
・早く提供すれば早くフィードバックが 得られる(求められる機能に投資可能) • 開発⽣産性の向上はCircleCIなどのツールを 使った⾃動化で実現する ・⼈依存しない、プロセスを⽌めない ・開発の現況を常に取得可能(必要なアクションを適時に取る+次の⼀⼿を⾒積もれる)
15 もっと知りたい時は • CircleCI ⽇本語ウェブサイト https://circleci.com/ja/ • 雑誌 Software Design
2023年12⽉号 特集「開発を加速するCI/CD」 • セミナー、ウェビナーは connpass の CircleCI グループに https://circleci.connpass.com/event/ • CircleCI のブースにお⽴ち寄りください︕
Thank you. 16