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.
→
Hagihara Ryosuke
August 22, 2018
Business
1.6k
0
Share
負債を減らした新人の話
Dive into mixi night! #3 (2018.08.22) で発表した資料です.
Hagihara Ryosuke
August 22, 2018
More Decks by Hagihara Ryosuke
See All by Hagihara Ryosuke
航空機事故に学ぶ サービスのインシデント考察・再発防止
raryosu
1
620
20歳の僕が経験した Perlエンジニアへの道
raryosu
1
5k
minimo18新卒エンジニアの働き方
raryosu
0
2.1k
高等専門学校のウェブサイトの 現状と課題
raryosu
0
300
オブジェクト指向入門 第2版 第1章 ソフトウェアの品質 / Object-Oriented Software Construction Chap.1
raryosu
0
1k
Other Decks in Business
See All in Business
SimpleForm 会社紹介資料
simpleform
2
53k
merpay-Overview
mercari_inc
8
200k
AnyMind Group Credential Deck(EN)
anymind
3
81k
涅槃へGO!〜わたしの世界は、全てわたしの認識でできている〜
doiko123
0
700
ROOT Thesis Q1 2026
a1256382
0
170
【キャリア採用】NEC会社紹介資料
nec_recruiting
0
200
【詳細版】パーソルクロステクノロジー_システムインテグレーション領域のご紹介 / Introduction_of_persol-xtech_gs_es_dx_all
pxt_gs_ssol
1
25k
"分からないまま走る"をやめたら不確実性に向き合えるチームになっていった話 ~開発指標で語るプロセス改善~
bicstone
1
170
jpax-introduction
jpax
0
690
政策共創事例集2025
polipoli
0
250
Yot合同会社 会社紹介資料|ハイクラス領域エージェント職採用
yotllc
0
140
会社紹介資料
gatechnologies
2
180k
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
44k
Navigating Team Friction
lara
192
16k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
160
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
260
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Transcript
負債を減らした新人の話 minimo事業部 プロダクト開発G 開発T 萩原 涼介 Dive into mixi night!
#3 2018.08.22
minimo 使ってる人
ありがとうございます!
自己紹介
萩原 涼介 - Hagihara Ryosuke Name 萩原 涼介 - Hagihara
Ryosuke HN らりょす (raryosu) 所属 minimo事業部 業務 サーバサイド・Webフロントエンド 出身校 津山工業高等専門学校 出身 広島県福山市 生年月日 1997年10月7日(20歳)
None
None
None
None
このプレゼンの内容
はなすこと・はなさないこと はなすこと はなさないこと ・ ミクシィの新卒エンジニアのはたらきかた ・ むずかしい技術の話 ・ 非公開の情報
minimoのプロダクト
minimo の展開 スマホアプリ iOS: Obj-C, Swift Android: Java, Kotlin SALON
TOOL React.js Webアプリ Perl (Mojolicious) 掲載者向けオウンドメディア 裏方担当 WordPress
minimo の展開 スマホアプリ iOS: Obj-C, Swift Android: Java, Kotlin SALON
TOOL React.js Webアプリ Perl (Mojolicious) 掲載者向けオウンドメディア 僕がメインで担当 裏方担当 WordPress
minimoの掲載について
minimoへの掲載 掲載者 掲載を作成 お客さん 掲載を閲覧 minimodel.jp minimoアプリ
掲載の公開設定 掲載者 掲載を作成 お客さん 掲載を閲覧 minimodel.jp minimoアプリ is_enable is_open
どうしてこうなっている?
Web検索に引っかかると 困る掲載者さんもいる お店にナイショでminimoをやってる人もいる
何が問題だったか
is_open 問題 CSから下記のような問い合わせが多くなっていると相談を受けた ⇒ Webの公開設定を分けることによる不都合のほうが多くなってしまった
対応の方針 minimodel.jpでの公開設定も アプリでの掲載設定 と一致させる
既存掲載の対応方法案 1. DB上の is_enable=0 & is_open=1 のものを is_open=0 に書き換える 2.
Controller で is_enable=0 のものを呼び出されたときに404を返す 3. is_open を参照せずに is_enable フラグだけを使うようにする
対応方法案 1. DB上の is_enable=0 & is_open=1 のものを is_open=0 に書き換える 2.
Controller で is_enable=0 のものを呼び出されたときに404を返す 3. is_open を参照せずに is_enable フラグだけを使うようにする
どうやって進めていくか
当初の考え 実装 リリース
実際 仕様変更による影響について関係部署と打ち合わせ リリース 実装方針のすり合わせ(アプリ・Web・サロンツール・サーバサイド) 実装(苦難の連続) リリースタイミングの調整
関係部署との打ち合わせ 仕様を追加・削除・変更する ⇒ CSや営業担当にも影響が及ぶことも…! ・ 本当にその仕様をなくしていいか ・ なくなることで困るユーザさんはいない? ・ 想定されるお問い合わせの内容共有・対応相談
・ 掲載者への案内の方法 今回の場合
プロダクト開発担当チームとの打ち合わせ ・ ディレクター ・ エンジニアのトップ ・ アプリエンジニア ・ サーバサイドエンジニア ・
サロンツールを作っているエンジニア ・ minimodel.jp や 管理ツール・掲載代行ツールを作っているエンジニア(ぼく)
プロダクト開発担当チームとの打ち合わせ ・ is_open を廃止して, is_enable を参照するようにする ・ is_open の書き換えをできないようにする ・
Web 公開設定を変更できるバージョンのアプリではエラーを返す ・ is_open の値を必要とする場面では is_enable を is_open に擬態して返す ・ これは暫定処置 決めたこと
プロダクト開発担当チームとの打ち合わせ ・ is_open を廃止して, is_enable を参照するようにする ・ is_open の書き換えをできないようにする ・
Web 公開設定を変更できるバージョンのアプリではエラーを返す ・ is_open の値を必要とする場面では is_enable を is_open に擬態して返す ・ これは暫定処置 決めたこと
いざ実装!
しかし…
一筋縄ではいかない 掲載のプレビューを閲覧できる機能で is_open を利用していた サロンツール Android スナップフォトをシェアするかどうかの判断に is_open を利用していた iOS/Android
is_enable = 0 から 1 に変えたときも is_open を変更しようとしてエラーが返る
仕様調整 掲載のプレビューを閲覧できる機能で is_open を利用していた サロンツール うまいこと修正してもらった
仕様調整 サロンツール うまいこと修正してもらった Android スナップフォトをシェアするかどうかの判断に is_open を利用していた ( is_enable を参照するようにしてもらった)
仕様調整 サロンツール うまいこと仕様変更した Android is_open を 0 → 1 に変更するときにはうまく行ったように見せかけてなにもしない
iOS/Android 掲載を非公開→公開 に変えたときも is_open を変更しようとしてエラーが返る
実装完了
流れの確認MTG @ 7/11
リリーススケジュールについて相談 7/17, 18 QAタスクの作成・レビュー・リリース 7/19 リリース 営業・CS担当のチームに日程の共有・相談
リリース当日 @ 7/19
None
None
None
翌朝 @ 7/20
None
なんかエラー出た ( is_open を受け取らないように変更したメソッドに is_open を渡そうとしていた)
まとめ
仕様をなくす施策を進めるのには勇気がいる 新しく付け足すのは比較的簡単でも, すでにあるものをなくしていくのはけっこうたいへん
仕様をなくす施策を進めるのには勇気がいる だけど,それによって仕様が把握しやすくなった 開発しやすくなった
ぼくはまんぞくです
新卒に任せられる仕事の幅が広い
業界を変えることができる ワクワクするプロダクトに関われる
None