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
Tomohiro Imaizumi
February 20, 2018
Programming
1
2.7k
新規サービスのアプリ開発で経験したリアルな出来事
mixi GROUP Tech Meet ! でのPoiboyグループ 今泉の発表資料です。
https://connpass.com/event/78324/
Tomohiro Imaizumi
February 20, 2018
Tweet
Share
More Decks by Tomohiro Imaizumi
See All by Tomohiro Imaizumi
Feature Flagを使った開発で高速かつストレスフリーなデリバリーを実現する / Fast and stress-free delivery with Feature Flag-based development
imaizume
2
3.7k
プロダクトグロースと技術のベースアップを両立させるRettyのアプリ開発スタイル / Achieve Product Growth and Tech Update
imaizume
1
780
git branchを自由に操れるようになろう / Let's Play with Git branch!
imaizume
2
1.2k
スナップショットテスト実戦投入 / Practical Snapshot Testing
imaizume
13
7.1k
コーディング以外のエンジニアリング / About Engineering Without Coding
imaizume
1
1.7k
Firebase Remote Configの運用で知ったこと・知っておくと良いこと / Things I Learned from Operation of Firebase Remote Config
imaizume
6
4k
iOSアプリのテストを書きたいのに書けないあなたへ / How You Should Start to Write Your First Unit Test for iOS
imaizume
6
5k
循環的複雑度を上げないためのSwiftプログラミングTips / Tips of Swift Programming to Reduce Code Complexity
imaizume
11
8.1k
シングルトンではじめる状態管理と依存注入 / A way to control state using singleton pattern
imaizume
0
4.8k
Other Decks in Programming
See All in Programming
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
270
[JAWS-UG横浜 #79] re:Invent 2024 の DB アップデートは Multi-Region!
maroon1st
1
140
Linux && Docker 研修/Linux && Docker training
forrep
23
4.5k
Open source software: how to live long and go far
gaelvaroquaux
0
620
SRE、開発、QAが協業して挑んだリリースプロセス改革@SRE Kaigi 2025
nealle
3
4.1k
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
110
ペアーズでの、Langfuseを中心とした評価ドリブンなリリースサイクルのご紹介
fukubaka0825
2
300
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
180
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
1
640
GAEログのコスト削減
mot_techtalk
0
110
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2.2k
チームリードになって変わったこと
isaka1022
0
190
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
335
57k
A designer walks into a library…
pauljervisheath
205
24k
The Pragmatic Product Professional
lauravandoore
32
6.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
99
18k
The Invisible Side of Design
smashingmag
299
50k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
31
2.1k
Making Projects Easy
brettharned
116
6k
It's Worth the Effort
3n
184
28k
How to train your dragon (web standard)
notwaldorf
90
5.8k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Transcript
新規サービスのアプリ開発で 経験したリアルな出来事 株式会社Diverse 新規サービス事業部 Poiboyグループ 今泉智博 (2018/02/20 @mixi GROUP Tech
Meet)
今泉智博 (2017年新卒⼊社) @imaizume 所属 iOSデビュー1ヶ⽉⽬で iOS版の開発を担当 学⽣時代はRubyやWebフロントエンド開発が中⼼ 2015年 サマーインターン in
(内定者に聞く!現場で実務を経験できるサマーインターンシップ「Dive into mixi GROUP」 - ミクシィグループ公式ブログ)
就活時の企業選択軸 サービス作りしたい フルスタックになりたい 事業創造の仕⽅ 経営者のビジョン 経営状態 福利厚⽣ 技術スタック 優秀な社員の存在 ⾃⾝のやりたいこと/⽬標
組織/制度 事業/経営 短期的/狭域的 ⽐較的よく⾒られる ⻑期的/⼤域的 難しいけど⼤事
組織/制度 ✅ ライフサービス×エンタメ ✅ SNS時代の失敗経験 ✅ 「⽂化」の数値⽬標 ✅ 優秀な新卒がリードする現場 ✅
個⼈の⽬標実現を仕事で応援 ✅ ⽣産性向上のための福利厚⽣ 事業/経営 ミクシィグループの強み
とは❓
⼥性主導の カジュアルマッチングアプリ❤
社内表彰
過去には ノンスタ井上さんとのコラボも
そんな での活動記録&'
メンターさん 自分 メンターさんを上回るコードをpushし 圧倒的 Contributionを達成❗❗ 失敗・修正しながら技術を覚える 「現場で育つ」ミクシィの新卒研修⽂化
インセンティブ強化施策 ⭐写真分析機能 夏CPスロットポップアップ ⭐セカンドリニューアル ⭐XCTest/mock/stub導⼊ 学校/職業追加 ストア申請 (リリース毎) コードレビュー&対応 (毎⽇)
リファクタリング (毎⽇) 本業 ⭐Diverse 公式HP Renewal ⭐チームKPTの環境作り/運⽤ Android版デバッグ (毎⽇) 採⽤/技術イベント登壇 懇親会幹事3回 サブ タスク実績
インセンティブ強化施策 ⭐写真分析機能 夏CPスロットポップアップ ⭐セカンドリニューアル ⭐XCTest/mock/stub導⼊ 学校/職業追加 ストア申請 (リリース毎) コードレビュー&対応 (毎⽇)
リファクタリング (毎⽇) 本業 ⭐Diverse 公式HP Renewal ⭐チームKPTの環境作り/運⽤ Android版デバッグ (毎⽇) 採⽤/技術イベント登壇 懇親会幹事3回 サブ タスク実績
夏CPスロットポップアップ 2017年夏のキャンペーン アプリ内にスロットゲームを設置 賞品が当たる抽選企画を実施 概要
㘬㘲㖽㘻 サーバーから事前に結果を受け取る ボタン押下で3つのリールが独⽴に回転 対応する絵柄を揃え停⽌ Auto Layout 要件 中⼼で⽌める 独⽴に回転 無限スクロール
適度な待ち時間 開始ボタン押下でリクエスト送信 /api/campaign , {“type”: 1 } サーバーは抽選結果を返す {“result”: 3 } — // 賞品ID
無限スクロールすら⼤変なのに 複雑な座標計算が必要? 初の⼤きなタスクを前に ⼿を動かせずにいた時 「指定位置で⾃動停⽌」の⽅法 はネットには載ってないし… ⾃動停⽌なんてどう実装するんだ… 締切りまで時間なさそうだな…
難しい実装だよね ⾃分も経験無くて良いアドバイスできないかも でも全⼒でサポートするし時間かけて良いから どんどん試して結果を教えてほしいな❗ チャレンジする仲間を応援する⽂化 考えるより、とにかく⼿を動かしてトライする メンターさんのフォロー UIScrollView UITableView UICollectionView
SpriteKit 最終的に UICollectionView で実装に成功 @cfiken さん
できたもの
しかし現実は残酷だった
なんとその後、他の機能が原因で Appleの審査を通過できない事態が発⽣ 通った時には既に夏が終わり スロットが⽇の⽬を⾒ることはなかった… チャレンジは成功ばかりではない 失敗も学びと捉え前に進む⼒を得た!
学校/職業追加 ⾒た⽬以外の魅⼒を伝える またマッチング後の話題提供のため プロフィールに学歴と職業を追加 概要
登録時にFacebookから情報を受け取る 情報は⼀旦サーバーへ送られる 編集時はサーバーから情報を受け取って編集 要件 学歴職歴の取得許諾 FBデータを転送 編集時に取得 学歴/職歴データ ここだけ⾒ると簡単そうだが…
学歴職歴の取得許諾 FBデータを転送 編集時に取得 学歴/職歴データ 既存/FB以外で登録のUserは そもそも情報がない String? で返却 = 条件分岐増
許諾降りない場合のハンドリング FBに職業ないUserには「カテゴリ」を表⽰ カテゴリ表⽰と実職業表⽰をスイッチ可に 取得不可だったら デフォルト値を送信? 学校登録ない場合は カテゴリに「学⽣」を追加 隠れた仕様が⼤量に… これはデスマしそうな予感
変化・不確定要素と向き合い ⾃発的に⾏動することが⼤切 仕様の⽬的・機能の価値を理解 すべきこと1 関係者へこまめに報告/相談 (⼯数に⾒合わない価値の仕様はないか) エンジニアから仕様を提案する (エンジニア視点の制約を仕様に反映する) (⼝頭確認もSlack&Wikiへの記録を⽋かさない)
できたもの 登録 編集 v5.4.0で無事リリースされました❗
未来: これからの話 (次の1年に向けて)
今まで ✓ リリース優先 ✓ 実装重視 ✓短期/狭域的問題解決 ✓ ⼈海戦術 ✓ 局所最適化
これから ✓ 開発効率と持続性 ✓ 設計重視 ✓⻑期/広域的問題解決 ✓ ⾃動化の推進 ✓ ⼤域的最適化 はこんな状態だった ⾒えたもの
今後続く開発/運⽤に 持続的に対応可能な へ を⽀えるにはまだ⼒不⾜ しかし経験値は着実に上がっている 既存実装にとらわれず設計から⾒直す 強い意志で⾃動テストやMock/Stubを導⼊ 壁にぶつかってもチャレンジをやめない 現状 次の⽬標
⾏動