スタートアップ勉強会

38
人人人人人人人人人人人 人人人人人人人人 IOS/ANDROID 人人人 10/01 @JUMBOS5

Upload: ken-haneda

Post on 16-Apr-2017

1.517 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: スタートアップ勉強会

「一人で進めるモバイル開発」第一回スタートアップ IOS/ANDROID 勉強会 10/01 @JUMBOS5

Page 2: スタートアップ勉強会

最近、骨折って皆さんしました?

Page 3: スタートアップ勉強会

転職して社内でたった一人のアプリエンジニアになったし骨折もしたけど無事リリースできたのでその話

Page 4: スタートアップ勉強会

一人になった人の自己紹介

KENTARO HANEDA (27) @JUMBOS5▸ 職種

▸ Marketing Dept. Mobile Developer▸ 職歴

▸ Retty Yahoo!JAPAN👉 (ヤフオク) 👉 RareJob▸ 仕事

▸ Go/iOS/Kotlin/Python/Marketing

Page 5: スタートアップ勉強会

いろいろ作ってます

作っているもの「レアジョブ日常英会話アプリ」フルスクラッチで Swift2.3 で作りました

InShade趣味で作りましたサーバは Rails, アプリは Swift2.0 ですandroid も kotlin+RxJava で作ったけどリリースしてない

lanskip週末で手伝ってますweb 側は Go(Revel), AppleTV もあります

Page 6: スタートアップ勉強会

一人になりまして導入

Page 7: スタートアップ勉強会

アプリを作るときの意思決定者の移り変わり

前々職アプリ関係者 5 人- エンジニア- デザイナー- プランナー

前職アプリ関係者 めちゃめちゃたくさん- エンジニア(ベトナム・委託)

- デザイナー- プランナー

- CS- 偉い人- その他

今アプリ関係者 1,2 人

Page 8: スタートアップ勉強会

一人のアプリエンジニアのお仕事▸ 企画

▸ 戦略立案、効果測定▸ 開発

▸ 新機能、バグ修正、新 OS 、デバイス対応、デザイン▸ 運用

▸ CS 返答対応、クラッシュ監視 なんでもやりたいと言ったらほんとになんでもやることになったでござる

Page 9: スタートアップ勉強会

なんでもできるとは言ってない(白目)しかもリリース日決まっている

しかもリリース前に 1 週間アメリカ行く・・・

〜 入社後すぐ 〜

Page 10: スタートアップ勉強会

気づいた、うまくやらないと詰む

Page 11: スタートアップ勉強会

うまくやるための進め方、実装、仕事の領域

Page 12: スタートアップ勉強会

うまくやるための進め方

Page 13: スタートアップ勉強会

進め方

WEB サービスのアプリ化▸ 何年もあるサービスのアプリ化を実施する

▸ 様々な問題がある。▸ A. 仕様がプロダクト▸ B. API チームのリソース不足▸ C. 優先度決め

Page 14: スタートアップ勉強会

A. 仕様がプロダクト. 問題仕様書がない、それをまとめる時間もない、人がいなくなってわからない、ビジネスロジックがクライアントに寄りすぎている

進め方

Page 15: スタートアップ勉強会

A. 仕様がプロダクト. 問題仕様書がない、それをまとめる時間もない、人がいなくなってわからない、ビジネスロジックがクライアントに寄りすぎている

. 取り組み 「めちゃめちゃドッグフーディングしてもらう」

進め方

Page 16: スタートアップ勉強会

進め方

Page 17: スタートアップ勉強会

進め方

PHP が動くサーバであればだいたい動きますあとで公開します

Page 18: スタートアップ勉強会

A. 仕様がプロダクト. 結果バグや仕様漏れ、使用感についてサービスに詳しい社員から 50 件以上のフィードバックがもらえた。特に大きなバグもなくリリースできた

. 取り組み 「めちゃめちゃドッグフーディングしてもらう」

• 自作のフィードバックツール• すぐフィードバックできる UI もアプリに用意• 社内カフェスペースに実機も用意

進め方

Page 19: スタートアップ勉強会

B.API チームのリソース不足. 問題API のログとかよしなに見てくれない

API のログ見たいのでFluentd+Kibana でよしなに・・・

・・・(忙しそうだ)

リソースが、セキュリティが、工数が・・・

進め方

Page 20: スタートアップ勉強会

B.API チームのリソース不足. 問題API のログとかよしなに見てくれない

API のログ見たいのでFluentd+Kibana でよしなに・・・

・・・(忙しそうだ)

リソースが、セキュリティが、工数が・・・

. 取り組み 「仕方ないので自分で集めて自分で見る」

進め方

Page 21: スタートアップ勉強会

B.API チームのリソース不足

Firebase は UI も使いやすいし、広告と紐付けて CV の定義が簡単なのでとても便利なんだけど- イベントの値が BigQuery 使わないと扱えない(有料)- ファネルを見るなら Flurry explore の方が便利 - A/B Test の RemoteConfig も使い難い

. 結果Firebase でログをほぼ全て落とすようにしてみた。これで API チームに負担かけることなく意図せず出ているエラーの頻度や他とのファネルが見れるようになった

進め方

Page 22: スタートアップ勉強会

C. 優先度決め. 問題一人だと管理がザルになりがち、優先度も主観で決めちゃう振り返ってみるとリリース後に何を検証したかったのか見失う・・・

進め方

Page 23: スタートアップ勉強会

C. 優先度決め. 問題一人だと管理がザルになりがち、優先度も主観で決めちゃう振り返ってみるとリリース後に何を検証したかったのか見失う・・・

. 取り組み 「なにごとも KPI ツリーで説明する」例)次のリリース何するの?なんで UI 変更なんてするの?うごくやん!

進め方

Page 24: スタートアップ勉強会

テキストまずWEB と比較したKPI ツリーを作る

Page 25: スタートアップ勉強会

WEB だと初回起動からの会員登録が〇〇% なのでアプリでも同程度のパフォーマンスが出ると思うので検証しますいつもどの数値の検証をしているかを全体への影響を考慮して話せるようにする

進め方

Page 26: スタートアップ勉強会

うまくやるための実装

Page 27: スタートアップ勉強会

入社してすぐアメリカへ行き帰ってきてすぐ腕を骨折をし、メガネを割り PC にヒビを入れる

〜 リリース 2ヶ月前 〜やばいとにかく時間がない・・・しかも予想より API も重い・・・うまくキャッシュ使わなきゃ・・・振る舞いが複雑になる予感、データアクセスに闇が生まれそう

_人人人人人人人人_> 助けて! OSS! < ̄ Y^Y^Y^Y^Y^Y^Y ̄

実装

Page 28: スタートアップ勉強会

ReserveView

ReserveViewModel :StateView

Model

TeacherDataStore

TeacherModel

RxSwift

ViewController ViewModel Repository Model

APIKIT

MVVM実装

Page 29: スタートアップ勉強会

ReserveView

ReserveViewModel :StateView

Model

TeacherDataStore

TeacherModel

RxSwift

ViewController ViewModel Repository Model

APIKITRxSwift で振る舞いとデータの動きを全部関連づけるビルドはすごい重くナッタ orz

MVVM実装

Page 30: スタートアップ勉強会

ReserveView

ReserveViewModel :StateView

Model

TeacherDataStore

TeacherModel

RxSwift

ViewController ViewModel Repository Model

APIKITViewModel はキャッシュや API を意識せずアクセスできる

MVVM実装

Page 31: スタートアップ勉強会

ReserveView

ReserveViewModel :StateView

Model

TeacherDataStore

TeacherModel

RxSwift

ViewController ViewModel Repository Model

APIKIT

* Realm を初めて使うときの注意点- Relam 使うなら Model を Class にしなければ- Model 変更時に Migration のコードがないと落ちる-別スレッドに値を渡すと落ちる- AND検索とかはサブクエリ使わないといけないこの辺守ればめちゃ便利!!!!

MVVM実装

Page 32: スタートアップ勉強会

〜 リリースした後 〜

リリースしたら安心した。たくさんアップデートしたいけど申請ビルドとかテスト配信めんどくさい

_人人人人人人人人_> 助けて!誰か! < ̄ Y^Y^Y^Y^Y^Y^Y ̄

助けるで

実装

Page 33: スタートアップ勉強会

bitrise

実装

Page 34: スタートアップ勉強会

・こんなとこがいい- 無料プランで十分回せる-設定が簡単- fastlane連携で itunesconnectへのアップロードやテスト配信可能-外部サービスと連携簡単- android も使える

実装

Page 35: スタートアップ勉強会

うまくやるための仕事の領域

Page 36: スタートアップ勉強会

. マーケティングをやるノンプロモでのオーガニックでの獲得を取るのはもちろん重要、でも使える予算があるなら、それをもとにコンテンツがあるのにユーザーを集めないのはもったいない!!

広告は設計できるアプリユーザーの入り口、媒体ごとにどんなユーザーが入ってきているのか、その人たちにどれだけお金をかけていいのか・・・実装の優先度もそれで変わってくる。

仕事の領域

Page 37: スタートアップ勉強会

おわり

まとめ▸ bitrise 最高▸ OSS 最高▸ マーケティング超楽しい

一人でうまくやるために「ロボット」「周りの人に頼る仕組み」「説明しやすい仕組み」を作る・整理する

Page 38: スタートアップ勉強会

お約束絶賛エンジニア・デザイン募集中です、英語喋れるようになる環境ですよろしくお願いいたします(入社すぐアメリカ行って骨折しても優しくしてくれるいい会社です)

上場企業のアプリ事業を一緒に進めてくださいいいいいい!!!!