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
レガシーな開発現場にUTを入れてCIを導入した話
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Leko
November 16, 2016
Technology
6.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
レガシーな開発現場にUTを入れてCIを導入した話
Web Tech Tokyo #2 CI会
Leko
November 16, 2016
More Decks by Leko
See All by Leko
コンセプトの海の泳ぎ方
leko
0
56
JSConf JPのwebsiteをGatsbyからNext.jsに移行した話 - Next.jsの多言語静的サイトと課題
leko
3
380
エンジニアと治療アプリ®
leko
0
1.3k
Node.jsにContributeして一ヶ月でCollaboratorになった
leko
5
7.6k
React NativeアプリでE2Eテストを回してみた
leko
8
3k
IntersectionObserverはいいぞ
leko
3
3.2k
React Nativeで医療機器作ってます
leko
4
1.8k
趣味では使っているが 仕事には使ってないツール
leko
1
250
MySQLがゆるふわなのはどう考えてもSQLモードが悪い!
leko
1
360
Other Decks in Technology
See All in Technology
#エンジニアBooks 30分でわかる 「技術記事を書く技術」 / engineer-books 2026-06-30
jnchito
1
130
技術・能力を向上する原理原則 #きのこセッションa #きのこ2026
bash0c7
0
140
Docker Desktop不要の時代が来る? WSL標準の「wslc」で Linuxコンテナを動かしてみた.
ueponx
0
130
水を運ぶ人としてのリーダーシップ
izumii19
4
1.1k
從觀望到全公司落地:AI Agentic Coding 導入實戰 — 流程整合與安全治理
appleboy
0
160
起点・思考・出力で分解する 〜PM業務の自動化設計〜
kazu_kichi_67
2
1.1k
GitHub Copilot運用のリアル ~AI Credit時代にどう向き合うか~
takafumisu2uk1
0
490
サイバーエージェントにおけるAI推進戦略と変革への取り組み
shotatsuge
0
610
「ビジネスがわかるエンジニア」とは何か?
ryooob
0
350
[チョークトーク資料]AWS DevOps Agent を使いこなす / AWS Dev Ops Agent Chalk Talk AWS Summit Japan 2026
kinunori
4
800
現場のトークンマネジメント
dak2
1
200
UIパーツの設計を「型」から読み解く 〜TSKaigiのセッションから得た学び〜
yud0uhu
0
100
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
Writing Fast Ruby
sferik
630
63k
So, you think you're a good person
axbom
PRO
2
2.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Code Reviewing Like a Champion
maltzj
528
40k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
740
Transcript
レガシーな開発現場にUTを 入れてCIを導入した話 井上 真吾
24歳、鎌倉住まい ブログ: http://leko.jp Twitter: @L_e_k_o Github: Leko 会社:Hamee株式会社 QAIT リーダー
入社2年半、小田原、目黒勤務 品質向上と自動化を追い求めるチーム 井上 真吾(れこ)
話すこと、話さないこと • 話します ◦ つらみを救ってくれたのは CIでした • 話せないです ◦ イケてる会社の最新の事情
◦ 技術負債と向き合う話
2500社近くが導入する、ECのバックエンド一元管理サービス 自社。内製で提供するWebアプリは30近く サービス開始から9年目 PHP, Java, Rubyが主 サポート切れてるバージョンを使ってるサービスも... サービス開始当初は僅かでも経験があれば即採用 仕様書レス、テストレス、レビューレス、仕様レス 動作は手で確かめる。ただしい動きは誰かが知ってる、はず
レガシーな開発現場
• 一部上場、予算も増えて人も増える ◦ 案件開始 → 仕様書もテストもない → 聞いてもわからない → とにかくコード読む ◦ 案件ついでにリファクタ → 安定のデグレ → 誰も触れない化物 ◦
仕様書書き出す → 機能が多すぎる → 形骸化or中途半端な情報 ◦ レビューなし → しょうもない凡ミス → 何も学ばないで二の鉄を踏む ◦ スピード出ない、品質担保で精一杯 • 契約企業が増えれば負荷も増えるし責任も増す ◦ 寿命によるハードウェア障害、スロークエリ、 CPU高沸 etc… • でも売れてる ◦ 売れたまま、スピード感が出せるように加速させたい レガシーが悪いわけではない、が。
• 新卒が「技術力足りない」と思うくらいには低かった • 人も実力者も増え、今やそうではなくなった よろしい、ならば改善だ
• コードレビュー開始 • Doxygen入れてAPIドキュメント生成 • 仕様置き場の確保、旗振り • General logをパースしてERD作成 •
UT書き始める。UT書く案件にはベネフィット持たせて書かせる • ST書き始める。とてもじゃないけど手が回らない • オフショアに頼る。ベトナムに飛んでコミュニケーション取る • オフショアといい感じにUT埋めてる ← いまここ 改善の前段
要は長い、煩雑 メンバーが増えると こっちの管理コスト 増加、凡ミス頻発。 当初の業務フロー
テスト書いてもらうならCIだ
• 社内にCIという文化がない • もう勢いで入れてしまえ、あとでその有用性を分からせる • 動作環境がめちゃくちゃレガシー ◦ CircleCI(phpenv)ではサポートしてくれてないバージョン ◦ chefで作られた超大なレシピ
• Dockerで凌ぐ ◦ Packer + Dockerでコンテナ生成 ◦ 環境がchef製なのが幸いした CIへの壁
CI後の業務フロー 手元でテストを実行 する という不確実な手順 を排除
• ユニットテストを書く文化づくり • 効率化、省力化の文化づくり • 他の製品へのCI横展開 ◦ Java製アプリのビルド・デプロイ自動化 • ドキュメントもCIしたい。lintかけたい。
• 成果:バグ数軽減、精神衛生向上 • ゆくゆくは開発効率の向上につなげたい。 今後
ありがとうございました! これからも レガシーを駆逐し てゆきます