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
300
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(舟木 将彦)
mabl MCP x 生成AIによる開発・テスト自動化の未来 - コンテクスト駆動型のAI体験 -
mfunaki
1
82
テスト自動化がさらに加速!生成AIが作成・修正・分析まで行う『エージェント型テスト』の全貌
mfunaki
1
180
Playwrightとmablのパワフルな統合: 効率的なテスト自動化を実現する新機能を学ぶ!
mfunaki
1
260
AIで進化するソフトウェアテスト:mablの最新生成AI機能でQAを加速!
mfunaki
1
300
Harness the Power of Advanced LLM and CI/CD Practices
mfunaki
0
400
CircleCI と Argo Rollouts で 実現する Kubernetes 上の プログレッシブデリバリー
mfunaki
0
200
はじめてのCircleCI
mfunaki
0
83
CircleCIでChatGPTにエラーの解説を頼んでみた
mfunaki
0
660
自動化→部品化すると社内開発は楽しくなる
mfunaki
0
83
Other Decks in Technology
See All in Technology
AI に「学ばせ、調べさせ、作らせる」。Auth0 開発を加速させる7つの実践的アプローチ
scova0731
0
200
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
SES向け、生成AI時代におけるエンジニアリングとセキュリティ
longbowxxx
0
320
善意の活動は、なぜ続かなくなるのか ーふりかえりが"構造を変える判断"になった半年間ー
matsukurou
0
440
純粋なイミュータブルモデルを設計してからイベントソーシングと組み合わせるDeciderの実践方法の紹介 /Introducing Decider Pattern with Event Sourcing
tomohisa
1
940
AI時代のアジャイルチームを目指して ー スクラムというコンフォートゾーンからの脱却 ー / Toward Agile Teams in the Age of AI
takaking22
11
6.1k
旬のブリと旬の技術で楽しむ AI エージェント設計開発レシピ
chack411
1
220
戰略轉變:從建構 AI 代理人到發展可擴展的技能生態系統
appleboy
0
190
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
140
次世代AIコーディング:OpenAI Codex の最新動向 進行スライド/nikkei-tech-talk-40
nikkei_engineer_recruiting
0
130
RALGO : AIを組織に組み込む方法 -アルゴリズム中心組織設計- #RSGT2026 / RALGO: How to Integrate AI into an Organization – Algorithm-Centric Organizational Design
kyonmm
PRO
3
1k
【Agentforce Hackathon Tokyo 2025 発表資料】みらいシフト:あなた働き方を、みらいへシフト。
kuratani
0
110
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
57
14k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
110
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
74
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Mind Mapping
helmedeiros
PRO
0
47
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.2k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
39
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
49
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
270
What's in a price? How to price your products and services
michaelherold
246
13k
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