SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
アプリ開発はじめました
株式会社オールアバウト
システム部 鶴貝和樹
1
- CafeSnapができるまで -
自己紹介
•鶴貝和樹(つるがいかずき)
•(Web) Application Developer
‣ Java / php / Android / Objective-C
•CafeSnapというアプリを作っています
2
今日の話
•アプリ紹介
•1年間のアプリ開発で何をやってきたか
‣ 開発初期
‣ リリース後
‣ マルチプラットフォーム化
3
CafeSnapとは
4
CafeSnapとは
•カフェに特化した検索 & 写真投稿アプリ
•iPhone / Android ネイティブアプリ
•開発を始めてちょうど1年くらい
5
アプリ画面
6
開発体制
7
開発体制
•プロデューサー 2人
•エンジニア 3人 ← 最近一人増えました!!1
8
New
CafeSnapの沿革
•2014年 5月 - iPhoneアプリ開発スタート
•2014年 9月 - iPhoneアプリリリース
•2014年11月 - Androidアプリ開発スタート
•2015年 2月 - Androidアプリリリース
•2015年 5月 - 有料サービス開始
9
1年やってみて
•やるべきことはその時々で違う
‣ 開発初期
‣ アプリリリース後
‣ マルチプラットフォーム化
10
開発初期
初めてのiPhoneアプリ開発
11
開発初期
•自社でiPhoneアプリ開発の経験がない
•唯一のiPhoneアプリ開発経験者 退職
12
/(^o^)\
どうしたか
•とりあえずやってみる
‣ ダメだった場合はチームで考える
13
とりあえずやってみた例
•今まで使ってきたiPhoneライブラリ
14
AFNetworking BlocksKit PDKeychainBindingsC.. SVProgressHUD
MBProgressHUD GHUnitIOS OCMock OCHamcrest
NLTHttpStubServer DZNSegmentedControl SSPullToRefresh EAIntroView
iso-image-editor RSKImageCropper SDWebImage TDBadgedCell
TOWebViewController SRGVersionUpdater iVersion Facebook-iOS-SDK
CrashlyticsFramework
とりあえずやってみた例
•現在使っているiPhoneライブラリ
15
AFNetworking BlocksKit PDKeychainBindingsC.. SVProgressHUD
MBProgressHUD GHUnitIOS OCMock OCHamcrest
NLTHttpStubServer DZNSegmentedControl SSPullToRefresh EAIntroView
iso-image-editor RSKImageCropper SDWebImage TDBadgedCell
TOWebViewController SRGVersionUpdater iVersion Facebook-iOS-SDK
CrashlyticsFramework
ダメだった場合
•プロセスの共有
‣ 同じ失敗はしない
•エンジニアだけでなく全員で考える
‣ チーム全体でスマホアプリを知る
16
開発初期は
•スマホアプリの知見を高める
17
トライ & エラー & シェア
CafeSnap
iPhoneアプリリリース
2014年9月17日
18
初めての
iPhoneアプリ
不安しかない
19
当然リリース後は
•考慮不足による不具合
‣ 特定バージョンのOSで落ちる
‣ 画面を回転すると落ちる
‣ アプリを使い続けると落ちる
20
バグいっぱい
まさに
バグ(チケット)駆動開発
意図せずとも・・・
21
その時に役に立ったもの
•Google Analytics / Crashlytics (現Fabric)
‣ クラッシュレポート解析
•TestFlight
‣ 修正したアプリをチーム内の人に配布
22
Crashlytics
•アプリ用クラッシュレポート解析ツール
‣ 無料で使える
‣ 詳細なクラッシュレポート
‣ 導入が超簡単
‣ 見やすくて、かっこいい
23
Slack連携
24
バグ修正
•ツールでバグを検知して
•バグを修正して
•TestFlightで配布して確認
25
リリース後
•バグはあります
•特に初めての場合はたくさんあります
26
いかにバグを早く検知して修正するか
落ち着いた頃に
27
マルチプラットフォーム化
Androidアプリ開発
28
プラットフォームが増えて
•複数言語同時並行
‣ iOS & Android & サーバーサイドエンジニア
•確認範囲・テスト範囲の拡大
‣ 見れる範囲は限られてくる
29
作業漏れの増加
タスク漏れ増加
•iPhoneにあるけど、Androidにない(逆も)
‣ 機能追加要件(iPhone/Android)
‣ 言語の切り替えは楽じゃない
‣ 片方のプラットフォームを後回しにして
‣ 忘れる・・・
30
やったこと
•タスク管理ツールTrello
•iPhoneメイン担当 / Androidメイン担当
•朝会
31
マルチプラットフォームの
タスク管理で大事なこと
•気軽に登録できる
•細かい単位で登録する
•管理する人を分散する
32
Trello
•シンプルなタスク管理ツール
•Chrome Extensionでスクラムぽいことも
‣ Projects for Trello
‣ Scrum for Trello
‣ Snapshot for Trello
33
Slack連携
34
Trello
35
ステータス
工数
担当
メイン担当
•プラットフォームごとのタスク管理者
‣ 実装時は特に担当なし
36
朝会
•プロデューサー・エンジニア混在
‣ 毎日全員とコミュニケーションをとる
•かんばんにTrelloを使用
‣ 現状の全体像を確認する
37
マルプラットフォーム化
•タスクが分散するため、作業漏れが発生しやすい
‣ けど、マネージメントコストは増やしたくない
38
細かい単位でタスクを
管理 / 共有する
まとめ
•初めはトライ&エラー&共有を繰り返す
‣ 泥臭くてもとりあえずやってみる
•バグは必ずある
‣ エラーを検知できるツールを早めに導入
•小さい単位でのタスク管理をする
‣ プラットフォームごとに細分化
39
•以上
40

Mais conteúdo relacionado

Destaque

ひよっこエンジニア奮闘記
ひよっこエンジニア奮闘記ひよっこエンジニア奮闘記
ひよっこエンジニア奮闘記weddingpark
 
iOSアプリケーションアーキテクチャ選定の鍵を探す
iOSアプリケーションアーキテクチャ選定の鍵を探すiOSアプリケーションアーキテクチャ選定の鍵を探す
iOSアプリケーションアーキテクチャ選定の鍵を探すKenji Tanaka
 
【第二回】Swiftで0からスタートするiOS
【第二回】Swiftで0からスタートするiOS【第二回】Swiftで0からスタートするiOS
【第二回】Swiftで0からスタートするiOSKenji Tanaka
 
マネーフォワード流エンジニアドリブン
マネーフォワード流エンジニアドリブンマネーフォワード流エンジニアドリブン
マネーフォワード流エンジニアドリブンKeisuke Izumiya
 
Swift×Azure
〜宗教の違いのその先〜
Swift×Azure
〜宗教の違いのその先〜Swift×Azure
〜宗教の違いのその先〜
Swift×Azure
〜宗教の違いのその先〜Kenji Tanaka
 
Wantedly slideshare
Wantedly slideshareWantedly slideshare
Wantedly slidesharebarimi
 
Wantedlyインターン発表会
Wantedlyインターン発表会Wantedlyインターン発表会
Wantedlyインターン発表会Kenji Tanaka
 
会津Swift開発合宿振り返り
会津Swift開発合宿振り返り会津Swift開発合宿振り返り
会津Swift開発合宿振り返りKenji Tanaka
 
Ca shape layerの塗りつぶしルールでちょっとリッチな描画をしよう
Ca shape layerの塗りつぶしルールでちょっとリッチな描画をしようCa shape layerの塗りつぶしルールでちょっとリッチな描画をしよう
Ca shape layerの塗りつぶしルールでちょっとリッチな描画をしようKenji Tanaka
 
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly RailsエンジニアセミナーDeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly RailsエンジニアセミナーNao Minami
 
Data Visualizationしてみた [ D3.js編 ]
Data Visualizationしてみた  [ D3.js編 ]Data Visualizationしてみた  [ D3.js編 ]
Data Visualizationしてみた [ D3.js編 ]weddingpark
 
初めての自作ライブラリを案件に導入して脳汁ブシャーした話(拡張版)
初めての自作ライブラリを案件に導入して脳汁ブシャーした話(拡張版)初めての自作ライブラリを案件に導入して脳汁ブシャーした話(拡張版)
初めての自作ライブラリを案件に導入して脳汁ブシャーした話(拡張版)Kenji Tanaka
 
ぼくがかんがえたさいきょうのクリーンアーキテクチャ部分適応
ぼくがかんがえたさいきょうのクリーンアーキテクチャ部分適応ぼくがかんがえたさいきょうのクリーンアーキテクチャ部分適応
ぼくがかんがえたさいきょうのクリーンアーキテクチャ部分適応Kenji Tanaka
 
実用的デジタルファブリケーション「みのるファブ」イントロ
実用的デジタルファブリケーション「みのるファブ」イントロ実用的デジタルファブリケーション「みのるファブ」イントロ
実用的デジタルファブリケーション「みのるファブ」イントロTakeshi Yanagiya
 
Wantedlyを使った採用 LT 20120704
Wantedlyを使った採用 LT 20120704Wantedlyを使った採用 LT 20120704
Wantedlyを使った採用 LT 20120704Akitsugu Otani
 
Blending Culture in Twitter Client
Blending Culture in Twitter ClientBlending Culture in Twitter Client
Blending Culture in Twitter ClientKenji Tanaka
 
2015 07-23 Tokyo Realm Meetup
2015 07-23 Tokyo Realm Meetup2015 07-23 Tokyo Realm Meetup
2015 07-23 Tokyo Realm MeetupNiko Yuwono
 
SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件今城 善矩
 

Destaque (20)

ひよっこエンジニア奮闘記
ひよっこエンジニア奮闘記ひよっこエンジニア奮闘記
ひよっこエンジニア奮闘記
 
Eight meets Realm
Eight meets RealmEight meets Realm
Eight meets Realm
 
iOSアプリケーションアーキテクチャ選定の鍵を探す
iOSアプリケーションアーキテクチャ選定の鍵を探すiOSアプリケーションアーキテクチャ選定の鍵を探す
iOSアプリケーションアーキテクチャ選定の鍵を探す
 
【第二回】Swiftで0からスタートするiOS
【第二回】Swiftで0からスタートするiOS【第二回】Swiftで0からスタートするiOS
【第二回】Swiftで0からスタートするiOS
 
Git(hub)勉強会
Git(hub)勉強会Git(hub)勉強会
Git(hub)勉強会
 
マネーフォワード流エンジニアドリブン
マネーフォワード流エンジニアドリブンマネーフォワード流エンジニアドリブン
マネーフォワード流エンジニアドリブン
 
Swift×Azure
〜宗教の違いのその先〜
Swift×Azure
〜宗教の違いのその先〜Swift×Azure
〜宗教の違いのその先〜
Swift×Azure
〜宗教の違いのその先〜
 
Wantedly slideshare
Wantedly slideshareWantedly slideshare
Wantedly slideshare
 
Wantedlyインターン発表会
Wantedlyインターン発表会Wantedlyインターン発表会
Wantedlyインターン発表会
 
会津Swift開発合宿振り返り
会津Swift開発合宿振り返り会津Swift開発合宿振り返り
会津Swift開発合宿振り返り
 
Ca shape layerの塗りつぶしルールでちょっとリッチな描画をしよう
Ca shape layerの塗りつぶしルールでちょっとリッチな描画をしようCa shape layerの塗りつぶしルールでちょっとリッチな描画をしよう
Ca shape layerの塗りつぶしルールでちょっとリッチな描画をしよう
 
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly RailsエンジニアセミナーDeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
 
Data Visualizationしてみた [ D3.js編 ]
Data Visualizationしてみた  [ D3.js編 ]Data Visualizationしてみた  [ D3.js編 ]
Data Visualizationしてみた [ D3.js編 ]
 
初めての自作ライブラリを案件に導入して脳汁ブシャーした話(拡張版)
初めての自作ライブラリを案件に導入して脳汁ブシャーした話(拡張版)初めての自作ライブラリを案件に導入して脳汁ブシャーした話(拡張版)
初めての自作ライブラリを案件に導入して脳汁ブシャーした話(拡張版)
 
ぼくがかんがえたさいきょうのクリーンアーキテクチャ部分適応
ぼくがかんがえたさいきょうのクリーンアーキテクチャ部分適応ぼくがかんがえたさいきょうのクリーンアーキテクチャ部分適応
ぼくがかんがえたさいきょうのクリーンアーキテクチャ部分適応
 
実用的デジタルファブリケーション「みのるファブ」イントロ
実用的デジタルファブリケーション「みのるファブ」イントロ実用的デジタルファブリケーション「みのるファブ」イントロ
実用的デジタルファブリケーション「みのるファブ」イントロ
 
Wantedlyを使った採用 LT 20120704
Wantedlyを使った採用 LT 20120704Wantedlyを使った採用 LT 20120704
Wantedlyを使った採用 LT 20120704
 
Blending Culture in Twitter Client
Blending Culture in Twitter ClientBlending Culture in Twitter Client
Blending Culture in Twitter Client
 
2015 07-23 Tokyo Realm Meetup
2015 07-23 Tokyo Realm Meetup2015 07-23 Tokyo Realm Meetup
2015 07-23 Tokyo Realm Meetup
 
SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件
 

Semelhante a オールアバウトのアプリ開発

20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshopYoichiro Sakurai
 
20120316 designerworkshoppublished
20120316 designerworkshoppublished20120316 designerworkshoppublished
20120316 designerworkshoppublishedYoichiro Sakurai
 
スマートフォンアプリ開発におけるディレクション
スマートフォンアプリ開発におけるディレクションスマートフォンアプリ開発におけるディレクション
スマートフォンアプリ開発におけるディレクションGIG inc.
 
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門SwiftによるiOS開発再入門
SwiftによるiOS開発再入門Tomoki Hasegawa
 
PhoneGap勉強会 in 熊本
PhoneGap勉強会 in 熊本PhoneGap勉強会 in 熊本
PhoneGap勉強会 in 熊本Suguru Murakami
 
nanapi IGNITIONチームの開発フローとその構築
nanapi IGNITIONチームの開発フローとその構築nanapi IGNITIONチームの開発フローとその構築
nanapi IGNITIONチームの開発フローとその構築晃 遠山
 
AndroidのAppirater何使ってますか?
AndroidのAppirater何使ってますか?AndroidのAppirater何使ってますか?
AndroidのAppirater何使ってますか?Shigeki Yamato
 
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべてApple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべてMasaru Gushiken
 
Plannahプロジェクトの開発環境とdeploy gateの紹介
Plannahプロジェクトの開発環境とdeploy gateの紹介Plannahプロジェクトの開発環境とdeploy gateの紹介
Plannahプロジェクトの開発環境とdeploy gateの紹介Kenji Kinukawa
 
iOS開発で使えるオープンソースのライブラリやサービスの紹介
iOS開発で使えるオープンソースのライブラリやサービスの紹介iOS開発で使えるオープンソースのライブラリやサービスの紹介
iOS開発で使えるオープンソースのライブラリやサービスの紹介asakahara
 
2014年のChefとInfrastructure as code
2014年のChefとInfrastructure as code2014年のChefとInfrastructure as code
2014年のChefとInfrastructure as codeYukihiko SAWANOBORI
 
Swiftで初アプリリリースしてみて振り返り
Swiftで初アプリリリースしてみて振り返りSwiftで初アプリリリースしてみて振り返り
Swiftで初アプリリリースしてみて振り返りHikari Yanagihara
 
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめHiramatsu Ryosuke
 
シェフから板前になった話
シェフから板前になった話シェフから板前になった話
シェフから板前になった話oshiro_seiya
 
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210Osamu Ise
 
Crunchtimer会社案内
Crunchtimer会社案内Crunchtimer会社案内
Crunchtimer会社案内Yuya Miyamoto
 
ホットペッパービューティーアプリリプレイスとMVCP
ホットペッパービューティーアプリリプレイスとMVCPホットペッパービューティーアプリリプレイスとMVCP
ホットペッパービューティーアプリリプレイスとMVCPRecruit Lifestyle Co., Ltd.
 

Semelhante a オールアバウトのアプリ開発 (20)

Swift勉強会2
Swift勉強会2Swift勉強会2
Swift勉強会2
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
 
20120316 designerworkshoppublished
20120316 designerworkshoppublished20120316 designerworkshoppublished
20120316 designerworkshoppublished
 
スマートフォンアプリ開発におけるディレクション
スマートフォンアプリ開発におけるディレクションスマートフォンアプリ開発におけるディレクション
スマートフォンアプリ開発におけるディレクション
 
Swift instagram viewer
Swift instagram viewerSwift instagram viewer
Swift instagram viewer
 
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門SwiftによるiOS開発再入門
SwiftによるiOS開発再入門
 
PhoneGap勉強会 in 熊本
PhoneGap勉強会 in 熊本PhoneGap勉強会 in 熊本
PhoneGap勉強会 in 熊本
 
nanapi IGNITIONチームの開発フローとその構築
nanapi IGNITIONチームの開発フローとその構築nanapi IGNITIONチームの開発フローとその構築
nanapi IGNITIONチームの開発フローとその構築
 
AndroidのAppirater何使ってますか?
AndroidのAppirater何使ってますか?AndroidのAppirater何使ってますか?
AndroidのAppirater何使ってますか?
 
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべてApple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
 
Plannahプロジェクトの開発環境とdeploy gateの紹介
Plannahプロジェクトの開発環境とdeploy gateの紹介Plannahプロジェクトの開発環境とdeploy gateの紹介
Plannahプロジェクトの開発環境とdeploy gateの紹介
 
iOS開発で使えるオープンソースのライブラリやサービスの紹介
iOS開発で使えるオープンソースのライブラリやサービスの紹介iOS開発で使えるオープンソースのライブラリやサービスの紹介
iOS開発で使えるオープンソースのライブラリやサービスの紹介
 
2014年のChefとInfrastructure as code
2014年のChefとInfrastructure as code2014年のChefとInfrastructure as code
2014年のChefとInfrastructure as code
 
Swiftで初アプリリリースしてみて振り返り
Swiftで初アプリリリースしてみて振り返りSwiftで初アプリリリースしてみて振り返り
Swiftで初アプリリリースしてみて振り返り
 
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
 
シェフから板前になった話
シェフから板前になった話シェフから板前になった話
シェフから板前になった話
 
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210
 
Crunchtimer会社案内
Crunchtimer会社案内Crunchtimer会社案内
Crunchtimer会社案内
 
!(びっくり)するかもしれないヤフーでのアプリ開発
!(びっくり)するかもしれないヤフーでのアプリ開発!(びっくり)するかもしれないヤフーでのアプリ開発
!(びっくり)するかもしれないヤフーでのアプリ開発
 
ホットペッパービューティーアプリリプレイスとMVCP
ホットペッパービューティーアプリリプレイスとMVCPホットペッパービューティーアプリリプレイスとMVCP
ホットペッパービューティーアプリリプレイスとMVCP
 

オールアバウトのアプリ開発