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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
sunadorinekop
March 19, 2019
Technology
0
1.6k
面倒くさいから生まれる小さなカイゼン
入社半年で感じた"面倒くさい"をバネにカイゼンを試みた事例を 3 つ紹介いたします!
sunadorinekop
March 19, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
Evolution of Claude Code & How to use features
oikon48
1
590
白金鉱業Meetup_Vol.22_Orbital Senseを支える衛星画像のマルチモーダルエンベディングと地理空間のあいまい検索技術
brainpadpr
2
290
Claude Codeが爆速進化してプラグイン追従がつらいので半自動化した話 ver.2
rfdnxbro
0
500
OpenClawで回す組織運営
jacopen
3
690
プロジェクトマネジメントをチームに宿す -ゼロからはじめるチームプロジェクトマネジメントは活動1年未満のチームの教科書です- / 20260304 Shigeki Morizane
shift_evolve
PRO
1
250
モブプログラミング再入門 ー 基本から見直す、AI時代のチーム開発の選択肢 ー / A Re-introduction of Mob Programming
takaking22
5
1.3k
親子 or ペアで Mashup for the Future! しゃべって楽しむ 初手AI駆動でものづくり体験
hiroramos4
PRO
0
110
楽しく学ぼう!コミュニティ入門 AWSと人が つむいできたストーリー
hiroramos4
PRO
1
190
[JAWSDAYS2026]Who is responsible for IAM
mizukibbb
0
440
Security Diaries of an Open Source IAM
ahus1
0
210
JAWS DAYS 2026 楽しく学ぼう!ストレージ 入門
yoshiki0705
2
150
JAWSDAYS2026_A-6_現場SEが語る 回せるセキュリティ運用~設計で可視化、AIで加速する「楽に回る」運用設計のコツ~
shoki_hata
0
3k
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
170
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
630
First, design no harm
axbom
PRO
2
1.1k
Amusing Abliteration
ianozsvald
0
130
Art, The Web, and Tiny UX
lynnandtonic
304
21k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.8k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
480
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Practical Orchestrator
shlominoach
191
11k
Transcript
面倒くさいから生まれる 小さなカイゼン 株式会社ポッケ 熊谷
・PHP(LAMP)歴6年 ・AWS歴3年 自己紹介 2
ポッケ(現在) ◉ Java ◉ SQL Server ◉ Kubernetes ◉ CI
/ CD ◉ Azure ◉ アジャイル、スクラム ◉ マイクロサービス ◉ CDC 3
ポッケ(現在) ◉ Java ◉ SQL Server ◉ Kubernetes ◉ CI
/ CD ◉ Azure ◉ アジャイル、スクラム ◉ マイクロサービス ◉ CDC 4 ->初めて ->初めて ->初めて ->初めて ->初めて ->初めて ->初めて ->初めて
5 Image by AnnaKovalchuk on Pixabay 来るとこ間違えちゃった?
目次 1. モック起動スクリプトを作ってみた話 2. API 仕様書の自動作成ツール を作ってみた話 3. (バグ管理を Google
スプレッドシートから Backlog に移行してみた話) 6 時間があれば
モック起動スクリプトを作ってみた話 面倒くさい作業を 3 回したら自動化! 1 7
モックについて 8 1 GET http://localhost:8080/users/ {"users": [{"name": "hoge"}]} .yml 決められた
URL をリクエストすると 決められたレスポンスを返す モック
9 1 Aサービス :8080 Bサービス :8081 Cサービス :8082 常時、複数サービスのモックを 立ち上げるが・・
モックについて
問題1 モックのバグでコケる 10 1 Aサービス :8080 Bサービス :8081 Cサービス :8082
どれが一つがコケる時があった (5回中4回くらい)
問題2 ポート重複エラー 11 1 Aサービス :8080 Bサービス :8081 Cサービス :8082
開発中サービスのモックを 起動するとポート重複エラー Aサービス :8080 モック達
問題 12 1 実際のモックの数はもっと多い これが単体テストの度に発生・・ どれ落とすんだっけ? あれ、コケたの誰だよ? モック達
13 面倒くさい・・ ©AnnaKovalchuk
カイゼン 14 1 開発中サービスを引数で 指定してモックを立ち上 げないように コケたら自動でリトライ するように モック達
#!/bin/bash declare -A SERVICES SERVICES=( ['a-service']='8080' ['b-service']='8081' ['c-service']='8082' ) #
kill child processes trap "pkill -P $$" EXIT # exclude specific service if [ $# = 1 ]; then unset -v SERVICES[$1] Fi for service in ${!SERVICES[@]}; do # retry (until ./mockingjay-server -config=../${service}.yml -port=${SERVICES[$service]}; do sleep 2; done) & Done Sleep 8h 15 サンプル (bash) 配列作って 引数のもの を unset コケた時は until で 2 秒後にリトライ trap で親プロセスを落とした時に子プロセスも全部落とす
API 仕様書の自動作成ツールを 作ってみた話 「これ面倒くさいですね」と呟くことでメンバーから知恵をもらえる 2 16
17 2 API 仕様書について .html .java apiDoc で変換 コメントファイル
18 /** * @api {get} /user/:id Request User information *
@apiName GetUser * @apiGroup User * * @apiParam {Number} id Users unique ID. * * @apiSuccess {String} firstname Firstname of the User. * @apiSuccess {String} lastname Lastname of the User. */ サンプル http://apidocjs.com/ こんな感じの Java コメントファイルを作ると・・
19 サンプル http://apidocjs.com/ いい感じの HTML が作成 される $ apidoc -i
input_dir
20 /** * @api {get} /user/:id Request User information *
@apiName GetUser * @apiGroup User * * @apiParam {Number} id Users unique ID. * * @apiSuccess {String} firstname Firstname of the User. * @apiSuccess {String} lastname Lastname of the User. */ 問題はこれをほとんど手で書いていた・・ サンプル http://apidocjs.com/
21 2 API 仕様書について .html .java apiDoc で変換 コメントファイル (手書き)
22 面倒くさい・・ ©AnnaKovalchuk
面倒くさいを言葉にする 23 2 これ面倒くさい ですね。 面倒くさいですよ ね
24 2 どうにかなりませ んかね? こうしたらいいん じゃない? 面倒くさいを言葉にする なるほど!
25 2 カイゼン .html .java 対象のサービ スの単体テス ト実行 .yml テスト結果の
リクエスト・ レスポンス yml をスクリ プトで変換 (Node.js)
26 2 カイゼン .html .java .yml 単体テストを元に仕様書を自動生成 動いているコードを元にしているため正確
バグ管理を Google スプレッドシートから Backlog に移行してみた話 面倒くさい管理は可視化とフローで減らせる! 3 27
それまでのバグ管理 28 3 Google スプレッドシート バグを発見したので起票 しておこう
29
30 あのバグどこに書い てあるっけ・・?
31 あのバグどこに書い てあるっけ・・? 書いてある意味がわから ないから直接本人に聞か ないと・・
32 あのバグどこに書い てあるっけ・・? 追記で質問したから slack でメンション もしとかないと・・ 書いてある意味がわから ないから直接本人に聞か ないと・・
33 あのバグどこに書い てあるっけ・・? 書いてある意味がわから ないから直接本人に聞か ないと・・ 追記で質問したから slack でメンション もしとかないと・・
「このバグ、明日までに直し てって書いたんだけど」 「いや、私その担当じゃない んで・・」
34 あのバグどこに書い てあるっけ・・? 書いてある意味がわから ないから直接本人に聞か ないと・・ 追記で質問したから slack でメンション もしとかないと・・
「このバグ、明日までに直し てって書いたんだけど」 「いや、私その担当じゃない んで・・」 起票しても全然直らない から直接誰かにお願いし よう
35 あのバグどこに書い てあるっけ・・? 書いてある意味がわから ないから直接本人に聞か ないと・・ 追記で質問したから slack でメンション もしとかないと・・
「このバグ、明日までに直し てって書いたんだけど」 「いや、私その担当じゃない んで・・」 えーと口頭ですか? どういう事象ですか? (また差し込みだ・・)
36 面倒くさい・・ ©AnnaKovalchuk
バグ管理を Backlog へ移行 37 3 Backlog Google スプレッドシート 社内で使っている人が 多かった
フローを作る 38 3 未担当 処理中 処理済 完了 起票者 起票者 担当者
担当者 調査開始 PR が merge
起票時のテンプレを作成 39 3 [事象] ◦◦の条件で検索した時に検索結果が0件になる [期待値] ◦◦の条件で検索した時に検索結果が1件以上になる [手順] 1 ◦◦をクリック
2 ☓☓をクリック 3 △△を確認する ポイント!! ちゃんと書く。急がば回れ
起票時のテンプレを作成 40 3 [再現率] 100% [キャプチャ] 添付参照 [検証環境] Windows10 /
Chrome71 ポイント!! 画像か動画を必ず添付
41 「バグ」「タスク」「要望」を定義
カイゼン 42 3 1. 起票内容を口頭で確認する時間が大幅に減った (当社比80%) 2. 各バグ修正の進捗がわかるようになった 3. 優先度「高」「中」「低」がわりと意識される
ようになり、緊急度の高いものから修正される ようになった 他にも色々・・
ご清聴頂きありがとうござ いました! Qiita ◉ https://qiita.com/sunadorinekop Thanks! 43