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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Masahiko Funaki(舟木 将彦)
January 18, 2024
Technology
330
0
Share
CircleCI によるソフトウェア開発の品質向上と効率化の実現
2024/01/18(木)に Japan IT Week 関西にてお話しさせていただいた「CircleCI によるソフトウェア開発の品質向上と効率化の実現」のスライドです。
Masahiko Funaki(舟木 将彦)
January 18, 2024
More Decks by Masahiko Funaki(舟木 将彦)
See All by Masahiko Funaki(舟木 将彦)
20260422-mablで変わるテスト自動化_品質_速さ_コストの三角形を崩す5つのアプローチ.pdf
mfunaki
0
24
手順(プロンプト)だけで テストを自動作成~テスト作成エージェントを使いこなすための 実践プロンプト術
mfunaki
0
93
「見た目」と「意味」をAIが判定 ~ビジュアルアサーションで変わる テストの守備範囲~
mfunaki
0
39
イントラネットの社内アプリからローカル開発環境まで〜mabl Linkで実現する閉域網アプリケーションのセキュアなテスト実行
mfunaki
0
23
フルスタックQAへの第一歩。Web UIとAPIテストを統合した品質保証戦略
mfunaki
0
78
mabl新機能解説:プロンプトによるテスト生成とローカル/クラウド実行のシームレスな統合
mfunaki
0
86
mabl MCP x 生成AIによる開発・テスト自動化の未来 - コンテクスト駆動型のAI体験 -
mfunaki
1
120
テスト自動化がさらに加速!生成AIが作成・修正・分析まで行う『エージェント型テスト』の全貌
mfunaki
1
210
Playwrightとmablのパワフルな統合: 効率的なテスト自動化を実現する新機能を学ぶ!
mfunaki
1
330
Other Decks in Technology
See All in Technology
Microsoft 365 / Microsoft 365 Copilot : 自分の状態を確認する「ラベル」について
taichinakamura
0
370
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
460
Agents CLI と Gemini Enterprise Agent Platform で マルチエージェント開発が楽しくなる!
kaz1437
0
170
音声言語モデル手法に関する発表の紹介
kzinmr
0
140
ハーネスエンジニアリングをやりすぎた話 ~そのハーネスは解体された~
gotalab555
5
1.9k
COBOL婆さんの伝説
poropinai1966
0
110
AIでAIをテストする - 音声AIエージェントの品質保証戦略
morix1500
1
150
データ定義の混乱と戦う 〜 管理会計と財務会計 〜
wonohe
0
150
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
180
Class.new is all you need
riseshia
1
190
AI時代における技術的負債への取り組み
codenote
1
1.8k
今年注目する!データ分析プラットフォームでのAIの活用
nayuts
0
170
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Bash Introduction
62gerente
615
210k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
The Invisible Side of Design
smashingmag
303
52k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
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