Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
負債を減らした新人の話
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
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
負債を減らした新人の話
Dive into mixi night! #3 (2018.08.22) で発表した資料です.
Hagihara Ryosuke
August 22, 2018
Transcript
54 slides
負債を減らした新人の話 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
More Decks by Hagihara Ryosuke
See All by Hagihara Ryosuke
航空機事故に学ぶ サービスのインシデント考察・再発防止
raryosu
1
640
20歳の僕が経験した Perlエンジニアへの道
raryosu
1
5.1k
minimo18新卒エンジニアの働き方
raryosu
0
2.1k
高等専門学校のウェブサイトの 現状と課題
raryosu
0
340
オブジェクト指向入門 第2版 第1章 ソフトウェアの品質 / Object-Oriented Software Construction Chap.1
raryosu
0
1.1k
Other Decks in Business
See All in Business
エクセレントグループ採用ピッチ[介護事業]
excare
0
43k
Session 5 - Teknik Lobby dan Negosiasi
adeputra13
0
470
ARI_BXデザイン第2事業ドメイン_事業紹介資料
arid2
0
1k
『仲良しで何が悪い』へのアンチテーゼ - 馴れ合いからプロとして背中を預け合えるチームを作る
rechiba3
0
1.2k
株式会社ユビレジ_採用ピッチ資料 / Ubiregi_CompanyProfile
ubiregi_saiyo
1
12k
G-gen カルチャー
ggen
0
1.1k
KGモーターズ会社紹介資料_2026.11
kgmotors
0
33k
akippa株式会社|Company Deck
akippa
1
26k
チームコーチング|チームが自ら決めて動く力を育てる
chibanba1982
0
230
インキュデータ会社紹介資料
okitsu
3
62k
PLAINER 会社紹介資料
plainer
0
280
株式会社TableCheck - 会社紹介 Company Profile
tablecheckac
0
11k
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
Designing Powerful Visuals for Engaging Learning
tmiket
1
650
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Are puppies a ranking factor?
jonoalderson
2
4.2k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
790
How Software Deployment tools have changed in the past 20 years
geshan
3
35k
Accessibility Awareness
sabderemane
1
300
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
4
1.2k
How GitHub (no longer) Works
holman
316
150k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
940
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
380