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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
5hun
November 13, 2025
Programming
43
0
Share
完璧主義にこだわり続けると システム開発は不幸になると思った
Roppongi.rb #36 / Omotesando.rb #115
で発表しました。
5hun
November 13, 2025
More Decks by 5hun
See All by 5hun
Array#forty_two
5hun
0
46
与信管理を形にする: Ruby の柔軟性が支える高速データ収集・自動化基盤
5hun
1
280
ぼっちが秘める可能性〜孤高のRubyistが語る交流会サバイバル術〜
5hun
1
39
君もRailsもアップグレード!
5hun
1
15
OSSコントリビュート初体験:Rubocopのバグを修正した話
5hun
0
41
地道なリファクタを続けてRspec高速化した話
5hun
0
39
“技術カンファレンスで何か変わる?” ──RubyKaigi後の自分とチームを振り返る
5hun
0
250
Other Decks in Programming
See All in Programming
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
380
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
250
Rethinking API Platform Filters
vinceamstoutz
0
4.2k
L’IA au service des devs : Anatomie d'un assistant de Code Review
toham
0
150
Feature Toggle は捨てやすく使おう
gennei
0
390
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.6k
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
1.2k
Tamach-sre-3_ANDPAD-shimaison93
mane12yurks38
0
200
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
220
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
130
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
580
Claude Codeログ基盤の構築
giginet
PRO
7
3.8k
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
150
Un-Boring Meetings
codingconduct
0
240
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Darren the Foodie - Storyboard
khoart
PRO
3
3.1k
Google's AI Overviews - The New Search
badams
0
950
Writing Fast Ruby
sferik
630
63k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
200
Scaling GitHub
holman
464
140k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
The agentic SEO stack - context over prompts
schlessera
0
720
Site-Speed That Sticks
csswizardry
13
1.1k
Transcript
完璧主義にこだわり続けると システム開発は不幸になると思った Roppongi.rb #36 / Omotesando.rb #115
自己紹介 5hun @5hun_s アラームボックスという会社でRuby on Railsを書いています。 Ruby歴は2年くらい。 趣味は音楽です。
None
None
ここから本題
今回の話とは 業務システムを自社内開発していて、、 • ビジネスサイドから開発要望が都度上がってきて • それをエンジニアが確認、要件を整理、設計して実装 • その中で感じた学びの話
とある開発要望 (前提)顧客からの会社を調査してほしいという審査依頼が上がってきた時、 • 担当者を決めて処理 • 担当者の決定はリーダーが手動で割り振っている →これをいい感じに自動化したい!!
とある開発要望 要件1 金額とお客さん(依頼主)単位で自動で振り分けるようにしたい →設定画面と新規テーブルを作成すれば良さそう
とある開発要望 要件2 特定の人に偏らないようにパーセンテージでうまいこと配分してほしい
とある開発要望 要件3 特殊なお客さんの場合は田中さんに優先に配分してほしい。 (でも田中さんの担当する審査が多い時はサブ担の佐藤さんに回してほしい)
とある開発要望 要件4 難しい案件は山田さんか佐藤さん(ベテラン社員たち)に優先して欲しい
etc、、、
None
複雑すぎて色々無理なので却下
何が問題? 審査の担当者を割り振るにあたり考えなければいけないことが非常に多い • 金額 • 現在のその人が担当している審査の数 • どのお客さんからの依頼 • 審査の難易度(この判別方法によっては更なる分岐も発生しうる)
何が問題? 審査の担当者を割り振るにあたり考えなければいけないことが非常に多い • 金額 • 現在のその人が担当している審査の数 • どのお客さんからの依頼 • 審査の難易度(この判別方法によっては更なる分岐も発生しうる)
システムが人間を『支援』するのか『代替』 するのか、認識がズレていることが問題! (だと思った)
(説得してもなかなか伝わらなかったので) なんでこうなるのか考えてみた
幻想 システム化すれば人の業務は全て自動化できてなんか色々うまくいく(はず) • ぷろぐらみんぐとかふれーむわーくってなんでもできるんでしょ?という誤解 • 人間の複雑な思考も全部代替することが可能、と思われている(気がする) (いわゆる「技術的には可能です」の言葉の意味とか解釈の話にも繋がるかなと思っている)
現実 人間が作るものである以上、限界はあると思っている 業務システムは所詮ただの道具、ツールに過ぎないのではないか • 複雑な道具は誰も使いこなせない ◦ 業務側:仕様を把握しきれず、使いこなせない ◦ エンジニア側:メンテで疲弊。最悪システムが機能不全になる
システムの機能は大きく分けて2種類 • 確実に仕事してほしい機能 ◦ ボタン(保存ボタンとか。押した通りのことが起きる) ◦ 一覧画面 ◦ 詳細画面 ◦
バッチ • 大体仕事してくれればいい機能 ◦ 複雑なビジネスロジックをプログラミングで表現した機能 ◦ 人力でやっている作業のうち、単純でよくある処理を担当 ◦ 多少の取りこぼしは運用でカバーする
機能の守備範囲の線引きをきちんと行う 人間が行っている作業をどこまでシステム化するか考える • 時には割り切りが必要(ここまでやってくれればあとは人力でなんとか、!) • メンテコストと運用コストを考えた上で折衷案が理想 確実に動かないといけない範囲 なんとなく業務をカバー してくれたら嬉しい範囲
エンジニアの役割 • ただ要望通りにコードを書くことではない。 • ソフトウェア開発の原則(KISSとかDRYとか色々)などの専門知識を持ち ビジネスサイドと違った視点から提案、議論するようもっていくのが重要 →(だと思ったので、色々勉強中、、、)