SlideShare une entreprise Scribd logo
1  sur  38
「一人で進めるモバイル開発
」
第一回スタートアップIOS/ANDROID勉
強会 10/01 @JUMBOS5
最近、
骨折って皆さんしました?
転職して社内でたった一人の
アプリエンジニアになったし
骨折もしたけど無事リリースできたので
その話
一人になった人の自己紹介
KENTARO HANEDA (27) @JUMBOS5
▸ 職種
▸ Marketing Dept. Mobile Developer
▸ 職歴
▸ Retty 👉 Yahoo!JAPAN(ヤフオク)👉 RareJob
▸ 仕事
▸ Go/iOS/Kotlin/Python/Marketing
いろいろ作ってます
作っているもの
「レアジョブ日常英会話アプリ」
フルスクラッチでSwift2.3で作りました
InShade
趣味で作りました
サーバはRails, アプリはSwift2.0です
androidもkotlin+RxJavaで作ったけど
リリースしてない
lanskip
週末で手伝ってます
web側はGo(Revel), AppleTVもあります
一人になり
まして
導入
アプリを作るときの意思決定者の移り変わり
前々職
アプリ関係者 5人
- エンジニア
- デザイナー
- プランナー
前職
アプリ関係者 めちゃめちゃたくさん
- エンジニア(ベトナム・委託)
- デザイナー
- プランナー
- CS
- 偉い人
- その他
今
アプリ関係者 1,2人
一人のアプリエンジニアのお仕事
▸ 企画
▸ 戦略立案、効果測定
▸ 開発
▸ 新機能、バグ修正、新OS、デバイス対応、デザイン
▸ 運用
▸ CS返答対応、クラッシュ監視
なんでもやりたいと言っ
たらほんとに
なんでもやることになっ
たでござる
なんでもできるとは言
ってない
(白目)
しかもリリース日
決まっている
しかもリリース
前に1週間アメリカ
行く・・・
〜 入社後すぐ 〜
気づいた、
うまくやらないと
詰む
うまくやるための
進め方、
実装、
仕事の領域
うまくやるための
進め方
進め方
WEBサービスのアプリ化
▸何年もあるサービスのアプリ化を実施する
▸様々な問題がある。
▸A. 仕様がプロダクト
▸B. APIチームのリソース不足
▸C. 優先度決め
A. 仕様がプロダクト
. 問題
仕様書がない、それをまとめる時間もない、人がいなくなってわからな
い、ビジネスロジックがクライアントに寄りすぎている
進め方
A. 仕様がプロダクト
. 問題
仕様書がない、それをまとめる時間もない、人がいなくなってわからな
い、ビジネスロジックがクライアントに寄りすぎている
. 取り組み 「めちゃめちゃドッグフーディングしてもらう」
進め方
進め方
進め方
PHPが動くサーバで
あればだいたい動きます
あとで公開します
A. 仕様がプロダクト
. 結果
バグや仕様漏れ、使用感についてサービスに詳しい社員から50件以上のフィー
ドバックがもらえた。特に大きなバグもなくリリースできた
. 取り組み 「めちゃめちゃドッグフーディングしてもらう」
• 自作のフィードバックツール
• すぐフィードバックできるUIもアプリに用意
• 社内カフェスペースに実機も用意
進め方
B.APIチームのリソース不足
. 問題
APIのログとかよしなに見てくれない
APIのログ見たいので
Fluentd+Kibanaでよ
しなに・・・
・・・(忙しそうだ)
リソースが、
セキュリティが、
工数が・・・
進め方
B.APIチームのリソース不足
. 問題
APIのログとかよしなに見てくれない
APIのログ見たいので
Fluentd+Kibanaでよ
しなに・・・
・・・(忙しそうだ)
リソースが、
セキュリティが、
工数が・・・
. 取り組み
「仕方ないので
自分で集めて自分で見る」
進め方
B.APIチームのリソース不足
FirebaseはUIも使いやすいし、広告と紐付けてCVの定義が簡単なので
とても便利なんだけど
- イベントの値がBigQuery使わないと扱えない(有料)
- ファネルを見るならFlurry exploreの方が便利
- A/B TestのRemoteConfigも使い難い
. 結果
Firebaseでログをほぼ全て落とすようにしてみた。
これでAPIチームに負担かけることなく意図せず出ているエラーの頻度や
他とのファネルが見れるようになった
進め方
C. 優先度決め
. 問題
一人だと管理がザルになりがち、優先度も主観で決めちゃう
振り返ってみるとリリース後に何を検証したかったのか見失う・・・
進め方
C. 優先度決め
. 問題
一人だと管理がザルになりがち、優先度も主観で決めちゃう
振り返ってみるとリリース後に何を検証したかったのか見失う・・・
. 取り組み 「なにごともKPIツリーで説明する」
例)次のリリース何するの?
なんでUI変更なんてするの?
うごくやん!
進め方
テキストまず
WEBと比較した
KPIツリーを作る
WEBだと初回起動からの会員登録が
〇〇%なのでアプリでも同程度のパフォーマンスが
出ると思うので検証します
いつもどの数値の検証をしてい
るかを全体への影響を考慮して
話せるようにする
進め方
うまくやるための
実装
入社してすぐアメリカへ行き
帰ってきてすぐ腕を骨折をし、
メガネを割りPCにヒビを入れる
〜 リリース2ヶ月前 〜
やばいとにかく時間がない・・・
しかも予想よりAPIも重い・・・
うまくキャッシュ使わなきゃ・・・
振る舞いが複雑になる予感、
データアクセスに闇が生まれそう
_人人人人人人人人_
> 助けて!OSS! <
 ̄Y^Y^Y^Y^Y^Y^Y ̄
実装
Reserve
View
Reserve
ViewModel
:StateView
Model
Teacher
DataStore
Teacher
Model
RxSwift
ViewController ViewModel Repository Model
APIKIT
MVVM
実装
Reserve
View
Reserve
ViewModel
:StateView
Model
Teacher
DataStore
Teacher
Model
RxSwift
ViewController ViewModel Repository Model
APIKIT
RxSwiftで振る舞いと
データの動きを全部
関連づける
ビルドはすごい重く
ナッタorz
MVVM
実装
Reserve
View
Reserve
ViewModel
:StateView
Model
Teacher
DataStore
Teacher
Model
RxSwift
ViewController ViewModel Repository Model
APIKIT
ViewModelはキャッ
シュやAPIを意識せ
ず
アクセスできる
MVVM
実装
Reserve
View
Reserve
ViewModel
:StateView
Model
Teacher
DataStore
Teacher
Model
RxSwift
ViewController ViewModel Repository Model
APIKIT
*Realmを初めて使うときの注意点
- Relam使うならModelをClassにしなければ
- Model変更時にMigrationのコードがないと落ちる
- 別スレッドに値を渡すと落ちる
- AND検索とかはサブクエリ使わないといけない
この辺守ればめちゃ便利!!!!
MVVM
実装
〜 リリースした後 〜
リリースしたら安心した。
たくさんアップデートしたいけど
申請ビルドとかテスト配信
めんどくさい
_人人人人人人人人_
> 助けて!誰か! <
 ̄Y^Y^Y^Y^Y^Y^Y ̄
助けるで
実装
bitrise
実装
・こんなとこがいい
- 無料プランで十分回せる
- 設定が簡単
- fastlane連携でitunesconnect
へのアップロードや
テスト配信可能
- 外部サービスと連携簡単
- androidも使える
実装
うまくやるための
仕事の領域
. マーケティングをやる
ノンプロモでのオーガニックでの獲得を取るのはもちろん重要、
でも使える予算があるなら、それをもとにコンテンツがあるのにユーザーを集めないのは
もったいない!!
広告は設計できるアプリユーザーの入り口、
媒体ごとにどんなユーザーが入ってきているのか、
その人たちにどれだけお金をかけていいのか・・・
実装の優先度もそれで変わってくる。
仕事の領域
おわり
まとめ
▸bitrise最高
▸OSS最高
▸マーケティング超楽しい
一人でうまくやるために
「ロボット」
「周りの人に頼る仕組み」
「説明しやすい仕組み」
を作る・整理する
お約束
絶賛エンジニア・デザイン募集中です、英語喋れるようになる環境です
よろしくお願いいたします
(入社すぐアメリカ行って骨折しても優しくしてくれるいい会社です)
上場企業のアプリ事業を一緒に進めてくださいいいいいい!!!!

Contenu connexe

Tendances

iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
Hiramatsu Ryosuke
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
Shin Ise
 

Tendances (20)

Can we live in a pure Swift world?
Can we live in a pure Swift world?Can we live in a pure Swift world?
Can we live in a pure Swift world?
 
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
 
「Camelog」Android開発秘話
「Camelog」Android開発秘話「Camelog」Android開発秘話
「Camelog」Android開発秘話
 
iOSアプリで気になった動きや表現を上手にアレンジして活用してみる
iOSアプリで気になった動きや表現を上手にアレンジして活用してみるiOSアプリで気になった動きや表現を上手にアレンジして活用してみる
iOSアプリで気になった動きや表現を上手にアレンジして活用してみる
 
アプリ開発におけるテキスト装飾のアイデア集
アプリ開発におけるテキスト装飾のアイデア集アプリ開発におけるテキスト装飾のアイデア集
アプリ開発におけるテキスト装飾のアイデア集
 
世界一簡単なAndroidアプリ作り 20121020
世界一簡単なAndroidアプリ作り 20121020世界一簡単なAndroidアプリ作り 20121020
世界一簡単なAndroidアプリ作り 20121020
 
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
 
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
 
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについてネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
 
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリAngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
 
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
 
Prototyping in My Team
Prototyping in My TeamPrototyping in My Team
Prototyping in My Team
 
UI表現ライブラリを有効活用して iOSアプリのUIをオシャレにするワザ紹介
UI表現ライブラリを有効活用して iOSアプリのUIをオシャレにするワザ紹介UI表現ライブラリを有効活用して iOSアプリのUIをオシャレにするワザ紹介
UI表現ライブラリを有効活用して iOSアプリのUIをオシャレにするワザ紹介
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
 
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分についてiOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
 
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
 
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)
 
少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発
 
最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返り最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返り
 
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
 

En vedette

Xcode bot
Xcode botXcode bot
Xcode bot
toyship
 

En vedette (15)

NS Prefix - そこから見渡す Swift 3 の景色 #startup_mobile
NS Prefix - そこから見渡す Swift 3 の景色 #startup_mobileNS Prefix - そこから見渡す Swift 3 の景色 #startup_mobile
NS Prefix - そこから見渡す Swift 3 の景色 #startup_mobile
 
使った気になれるFirebase
使った気になれるFirebase使った気になれるFirebase
使った気になれるFirebase
 
Xcode bot
Xcode botXcode bot
Xcode bot
 
Universal Link
Universal LinkUniversal Link
Universal Link
 
Swift3 typecasting nested_type
Swift3 typecasting nested_typeSwift3 typecasting nested_type
Swift3 typecasting nested_type
 
Notifications in iOS10
Notifications in iOS10Notifications in iOS10
Notifications in iOS10
 
Study Swift
Study Swift Study Swift
Study Swift
 
みんなで Swift 復習会での談笑用スライド – in 札幌 1st′ #minna_de_swift
みんなで Swift 復習会での談笑用スライド – in 札幌 1st′ #minna_de_swiftみんなで Swift 復習会での談笑用スライド – in 札幌 1st′ #minna_de_swift
みんなで Swift 復習会での談笑用スライド – in 札幌 1st′ #minna_de_swift
 
コードを書きやすくしてくれる Xcode の基本機能 #NSStudy #devsap
コードを書きやすくしてくれる Xcode の基本機能 #NSStudy #devsapコードを書きやすくしてくれる Xcode の基本機能 #NSStudy #devsap
コードを書きやすくしてくれる Xcode の基本機能 #NSStudy #devsap
 
AnyObject – 自分が見落としていた、基本の話
AnyObject – 自分が見落としていた、基本の話AnyObject – 自分が見落としていた、基本の話
AnyObject – 自分が見落としていた、基本の話
 
Swift 3 で新しくなったところ - 表面から見えにくいところを中心に紹介 #ISAOcorp
Swift 3 で新しくなったところ - 表面から見えにくいところを中心に紹介 #ISAOcorpSwift 3 で新しくなったところ - 表面から見えにくいところを中心に紹介 #ISAOcorp
Swift 3 で新しくなったところ - 表面から見えにくいところを中心に紹介 #ISAOcorp
 
描画とビジネスをクリーンに分ける(公開用)
描画とビジネスをクリーンに分ける(公開用)描画とビジネスをクリーンに分ける(公開用)
描画とビジネスをクリーンに分ける(公開用)
 
What's new Swift3
What's new Swift3What's new Swift3
What's new Swift3
 
みんなで Swift 復習会での談笑用スライド – 6th #minna_de_swift
みんなで Swift 復習会での談笑用スライド – 6th #minna_de_swiftみんなで Swift 復習会での談笑用スライド – 6th #minna_de_swift
みんなで Swift 復習会での談笑用スライド – 6th #minna_de_swift
 
Swift イニシャライザー復習会 #love_swift #akibaswift #21cafe
Swift イニシャライザー復習会 #love_swift #akibaswift #21cafeSwift イニシャライザー復習会 #love_swift #akibaswift #21cafe
Swift イニシャライザー復習会 #love_swift #akibaswift #21cafe
 

Similaire à スタートアップ勉強会

Onlab [growth] hackers conference 2013 Ryosuke Matsumoto
Onlab [growth] hackers conference 2013 Ryosuke MatsumotoOnlab [growth] hackers conference 2013 Ryosuke Matsumoto
Onlab [growth] hackers conference 2013 Ryosuke Matsumoto
Ryosuke Matsumoto
 
スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。
Hiroshi Goto
 
HTML5 IMPACT from Multi Device development for NicoNico
HTML5 IMPACT from Multi Device development for NicoNicoHTML5 IMPACT from Multi Device development for NicoNico
HTML5 IMPACT from Multi Device development for NicoNico
Sho KUSANO
 
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
メディアへの寄稿をやってみて〜きっかけと仕事の流れメディアへの寄稿をやってみて〜きっかけと仕事の流れ
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
sugimoto1022
 

Similaire à スタートアップ勉強会 (20)

Onlab [growth] hackers conference 2013 Ryosuke Matsumoto
Onlab [growth] hackers conference 2013 Ryosuke MatsumotoOnlab [growth] hackers conference 2013 Ryosuke Matsumoto
Onlab [growth] hackers conference 2013 Ryosuke Matsumoto
 
!(びっくり)するかもしれないヤフーでのアプリ開発
!(びっくり)するかもしれないヤフーでのアプリ開発!(びっくり)するかもしれないヤフーでのアプリ開発
!(びっくり)するかもしれないヤフーでのアプリ開発
 
iOS bust #1
iOS bust #1iOS bust #1
iOS bust #1
 
ABC 2012 spring
ABC 2012 springABC 2012 spring
ABC 2012 spring
 
LT#6 Taskete
LT#6 TasketeLT#6 Taskete
LT#6 Taskete
 
Html5/JSモバイルアプリ最前線
Html5/JSモバイルアプリ最前線Html5/JSモバイルアプリ最前線
Html5/JSモバイルアプリ最前線
 
障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと
障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと
障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと
 
iOSローカライズことはじめ_Swiftビギナーズ20160109.pdf
iOSローカライズことはじめ_Swiftビギナーズ20160109.pdfiOSローカライズことはじめ_Swiftビギナーズ20160109.pdf
iOSローカライズことはじめ_Swiftビギナーズ20160109.pdf
 
Tmcn Leap Motion
Tmcn Leap MotionTmcn Leap Motion
Tmcn Leap Motion
 
Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
 
SwiftでAndroidアプリ書けるってよ
SwiftでAndroidアプリ書けるってよSwiftでAndroidアプリ書けるってよ
SwiftでAndroidアプリ書けるってよ
 
知っ徳! 納徳!Magic Leap 《開発編》
知っ徳! 納徳!Magic Leap 《開発編》知っ徳! 納徳!Magic Leap 《開発編》
知っ徳! 納徳!Magic Leap 《開発編》
 
iOSローカライズことはじめ
iOSローカライズことはじめiOSローカライズことはじめ
iOSローカライズことはじめ
 
モブプロ導入で見えてきた効果
モブプロ導入で見えてきた効果モブプロ導入で見えてきた効果
モブプロ導入で見えてきた効果
 
DevLOVE関西(No.62) 知っておいて損はないエンタープライズiOS導入のいろは
DevLOVE関西(No.62) 知っておいて損はないエンタープライズiOS導入のいろはDevLOVE関西(No.62) 知っておいて損はないエンタープライズiOS導入のいろは
DevLOVE関西(No.62) 知っておいて損はないエンタープライズiOS導入のいろは
 
スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。
 
HTML5 IMPACT from Multi Device development for NicoNico
HTML5 IMPACT from Multi Device development for NicoNicoHTML5 IMPACT from Multi Device development for NicoNico
HTML5 IMPACT from Multi Device development for NicoNico
 
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
メディアへの寄稿をやってみて〜きっかけと仕事の流れメディアへの寄稿をやってみて〜きっかけと仕事の流れ
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
 
F#で動かすraspberry pi+lego mindstorms
F#で動かすraspberry pi+lego mindstormsF#で動かすraspberry pi+lego mindstorms
F#で動かすraspberry pi+lego mindstorms
 

Plus de Ken Haneda (7)

#1Creators Learning English Meetup ~2017年、今年こそ英語!~
#1Creators Learning English Meetup ~2017年、今年こそ英語!~#1Creators Learning English Meetup ~2017年、今年こそ英語!~
#1Creators Learning English Meetup ~2017年、今年こそ英語!~
 
Mvvm is like born fraction
Mvvm is like born fractionMvvm is like born fraction
Mvvm is like born fraction
 
Vietnum labo dev
Vietnum labo devVietnum labo dev
Vietnum labo dev
 
Carthage+mvvm
Carthage+mvvmCarthage+mvvm
Carthage+mvvm
 
大人のHomekit
大人のHomekit大人のHomekit
大人のHomekit
 
Cocolumberjackの使い方 Ios lt 20140327
Cocolumberjackの使い方 Ios lt 20140327Cocolumberjackの使い方 Ios lt 20140327
Cocolumberjackの使い方 Ios lt 20140327
 
iBeacon yahoo 羽田資料 - ヤフー株式会社 vs クラスメソッド「iOS 炎の7番勝負」
iBeacon yahoo 羽田資料 - ヤフー株式会社 vs クラスメソッド「iOS 炎の7番勝負」iBeacon yahoo 羽田資料 - ヤフー株式会社 vs クラスメソッド「iOS 炎の7番勝負」
iBeacon yahoo 羽田資料 - ヤフー株式会社 vs クラスメソッド「iOS 炎の7番勝負」
 

スタートアップ勉強会