SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
新規Androidアプリ開発において
何より大切なこと
@kikuchy
Who?
● @kikuchy
● 菊池 紘
● 株式会社Diverse(ミクシィグループ)
● 一人で新規アプリ開発やってる最中です
● 求む、Androidエンジニア!!(iOSエンジニアも)
https://qiita.com/kikuchy/items/0c43eb014ed5c9b83e9d
今日の話はエモい話です
技術の話じゃなくてすみません …
想定リスナー
● 職業Androidエンジニア
● 自社サービスの開発に携わっている、またはアプリの開発を受注した方
● コードがない状態から開発することになった、または開発したい方
一人で新規アプリの開発!?
押し寄せる不安
● この設計を採用して大丈夫なんだろうか…
● どんな勢いで仕様が拡大していくのだろう…
● 今は一人だけど、後で何人増えるんだろう…
● 守りやすい設計規約になっているかな…
● ここはディティールを詰めたほうが良いのか、それとも…
● 開発の順番的に、これは後に回して良いのかな…
● このライブラリ使っても良いかな…
そんな不安なく
開発しています
プロダクト
オーナーへの
ヒヤリング
コンセプトが決まれば戦略も戦術も決まる (1)
● 提供するサービスのコンセプトを知っている(はず)なのは
プロダクトオーナー
● プロダクトオーナーからコンセプトを聞き出す
一緒に明確にしていく
● ビジネスサイドとエンジニアサイドで共通認識を持っておく
コンセプトが決まれば戦略も戦術も決まる (2)
あとはコンセプトに合わせて選択肢を選んでいけば大きく外すことはない。
ここをどうするか/コンセプト通りにできるかどうかがエンジニアの腕の見せ所。
● 設計
● 言語
● ライブラリ
● 機能の優先順位
● 力の入れかた/力の抜き方
● レビュー方針
● テストの役割
● などなど
ヒヤリングをしよう
聞くべきこと
最低限は以下の3項目
1. アプリが提供する重要な価値
2. 開発リソース
3. コードベースの寿命
1. アプリが提供する重要な価値
アプリを通して何を提供したいのか?
● アプリの存在価値、利用してもらえる動機、収益の理由
● これがわかると決められること
○ 機能の優先順位
○ 力の入れ方/力の抜き方
2. 開発リソース(1)
● リソース=時間と人と金
○ 開発に使える残り時間(スケジュール)
○ エンジニアの人数とレベル
○ 予算
● リリース後に気になるこれも
○ アップデートのペース
○ 大規模な施策の予定
○ 人員増減の予定
○ 多言語対応
2. 開発リソース(2)
● わかると決められること
○ 設計
○ 言語
○ ライブラリ
○ レビュー方針
○ などなど
3. コードベースの寿命
コードはいつか必ず腐る
● 実際にかかる保守コストが想定保守コストを上回ったら寿命
● 大規模リファクタリングが必要になるが…
○ 予めそのコストを認識しておいてもらう
○ いつまで腐らせないで運用すれば良いのか考える
○ 最終手段として想定保守コストを引き上げるという手も …
● わかると決められること
○ 設計
○ 力の入れ方/力の抜き方
○ ドキュメンテーションの方針
○ などなど
どう聞いたら良いのか
わからない?
いいものが
ありますよ!!
https://goo.gl/fTZhvg
ご自身のユースケースに合わせて
改変してお使いください
コンセプトからの戦略例
swishの場合
● iOS版が既にリリースされている
● ヒヤリングの結果
○ アプリの価値
■ 男性:たくさんの女性をデートに誘える
■ 女性:魅力的な人の魅力的なデートプランを選べる
■ 仕様もアップデートのペースも iOS版と揃えたい
○ 開発リソース
■ 2018年1Qリリースが望ましい
■ もし間に合わなくても機能充実が優先
■ Androidエンジニア1人増員予定
■ 4系は切っていい
○ コードベースの寿命
■ 3年は保たせたい
コンセプトに沿って(1)
● 設計
○ 3年は保たせないといけない
■ シンプルな方針で
○ iOS版の仕様変更は頻繁に起きている
■ 画面間の結合はできるだけ疎にする
○ 人員入れ替えが頻繁に起こる予定はなく、開発に使える時間はあまりない
■ 多少属人性があってもいいか …?
■ 最初は試行錯誤、最終的に落ち着くところで改めてドキュメント化する
● 言語
○ 初期メンバーが使える言語でよい
○ 速度が求められる
■ Kotlin!!!!!!!!!!!
コンセプトに沿って(2)
● ライブラリ
○ RxJavaを使って問題ないレベルのエンジニア陣
○ ライブラリは必要ベースで追加
○ 使いづらいライブラリで消耗したくないので、要件に合わなかったら自前で開発 or 改造
● テスト方針
○ 開発速度を上げる or 開発者が安心するためのテスト
○ Local Testのみ
○ CIでテストとLintのタスクを走らせる
○ 治安維持のためAndroid Lintは abortOnError true に
● レビュー方針
○ 画面を触れるようになるまではレビューイーが動作確認後に
レビューを依頼
○ その後はまだ未定
どんな設計になったのかとかは
またいつかの機会に…
まとめ
● ヒヤリングしましょう!
● テンプレ使ってください!
● その後どうするかがエンジニアの腕の見せ所です
宣伝
● DiverseではAndroid(Kotlin, Java), iOS(Swift), サーバー(Ruby, Kotlin)
開発ができるエンジニアを募集中です
● 特に新規事業のiOS開発チームリーダー募集に注力中
● 自分の力でサービスを成長させることに興味がある方、
お話させてください!
DM to @kikuchy or https://diverse-inc.co.jp/recruit/
新規Androidアプリ開発において何より大切なこと

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

VS Code Day 2021 Recap
VS Code Day 2021 RecapVS Code Day 2021 Recap
VS Code Day 2021 Recap
 
海外メンバーを巻き込んで プロダクトマネジメントするときの心得 #pmjp #dots
海外メンバーを巻き込んでプロダクトマネジメントするときの心得 #pmjp #dots海外メンバーを巻き込んでプロダクトマネジメントするときの心得 #pmjp #dots
海外メンバーを巻き込んで プロダクトマネジメントするときの心得 #pmjp #dots
 
最新AndroidとIoTプラットフォームの今 (WJ2016)
最新AndroidとIoTプラットフォームの今 (WJ2016)最新AndroidとIoTプラットフォームの今 (WJ2016)
最新AndroidとIoTプラットフォームの今 (WJ2016)
 
Androidの開発概要
Androidの開発概要Androidの開発概要
Androidの開発概要
 
実装を引き受ける前に詰めておくべきWebフロントエンドの想定漏れ
実装を引き受ける前に詰めておくべきWebフロントエンドの想定漏れ実装を引き受ける前に詰めておくべきWebフロントエンドの想定漏れ
実装を引き受ける前に詰めておくべきWebフロントエンドの想定漏れ
 
Microsoft Build 2021 前夜祭LT
Microsoft Build 2021 前夜祭LTMicrosoft Build 2021 前夜祭LT
Microsoft Build 2021 前夜祭LT
 
初めての拡張機能リリースまでの歩み / Road to publishing extension for the first time
初めての拡張機能リリースまでの歩み / Road to publishing extension for the first time初めての拡張機能リリースまでの歩み / Road to publishing extension for the first time
初めての拡張機能リリースまでの歩み / Road to publishing extension for the first time
 
POとPOじゃない人の勉強会 第6回
POとPOじゃない人の勉強会 第6回POとPOじゃない人の勉強会 第6回
POとPOじゃない人の勉強会 第6回
 
発見から納品へ
発見から納品へ発見から納品へ
発見から納品へ
 
プロダクトオーナーシップ勉強会 第2回
プロダクトオーナーシップ勉強会 第2回プロダクトオーナーシップ勉強会 第2回
プロダクトオーナーシップ勉強会 第2回
 
Development report
Development reportDevelopment report
Development report
 
プロダクトオーナーシップ勉強会 第4回
プロダクトオーナーシップ勉強会 第4回プロダクトオーナーシップ勉強会 第4回
プロダクトオーナーシップ勉強会 第4回
 
No codecamp20200712
No codecamp20200712No codecamp20200712
No codecamp20200712
 
組織と個人が内発的動機により継続的に成長するための施策
組織と個人が内発的動機により継続的に成長するための施策組織と個人が内発的動機により継続的に成長するための施策
組織と個人が内発的動機により継続的に成長するための施策
 
生産性を倍にしたハピネスチームビルディング
生産性を倍にしたハピネスチームビルディング生産性を倍にしたハピネスチームビルディング
生産性を倍にしたハピネスチームビルディング
 
プログラミングの型や定石の紹介
プログラミングの型や定石の紹介プログラミングの型や定石の紹介
プログラミングの型や定石の紹介
 
Dev Woops!
Dev Woops!Dev Woops!
Dev Woops!
 
Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話
 
プロダクトマネージャとして海外で働き始めて、自分の視点をどこに持ってこようかと考えた話 #pm_roppongi
プロダクトマネージャとして海外で働き始めて、自分の視点をどこに持ってこようかと考えた話 #pm_roppongiプロダクトマネージャとして海外で働き始めて、自分の視点をどこに持ってこようかと考えた話 #pm_roppongi
プロダクトマネージャとして海外で働き始めて、自分の視点をどこに持ってこようかと考えた話 #pm_roppongi
 
モブプロ導入で見えてきた効果
モブプロ導入で見えてきた効果モブプロ導入で見えてきた効果
モブプロ導入で見えてきた効果
 

Ähnlich wie 新規Androidアプリ開発において何より大切なこと

Ähnlich wie 新規Androidアプリ開発において何より大切なこと (20)

【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210
 
20150226 炎上を防ぐためにフロントエンドエンジニアとしてできること
20150226 炎上を防ぐためにフロントエンドエンジニアとしてできること20150226 炎上を防ぐためにフロントエンドエンジニアとしてできること
20150226 炎上を防ぐためにフロントエンドエンジニアとしてできること
 
いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介
 
Team Development for iOS / Android
Team Development for iOS / Android Team Development for iOS / Android
Team Development for iOS / Android
 
Project 15 - Algyan May 2022.pdf
Project 15 - Algyan May 2022.pdfProject 15 - Algyan May 2022.pdf
Project 15 - Algyan May 2022.pdf
 
20150806_UXnama_Goodpatch
20150806_UXnama_Goodpatch20150806_UXnama_Goodpatch
20150806_UXnama_Goodpatch
 
とあるサイボウズのAndroidエンジニアのお仕事
とあるサイボウズのAndroidエンジニアのお仕事とあるサイボウズのAndroidエンジニアのお仕事
とあるサイボウズのAndroidエンジニアのお仕事
 
ビジネスとデザイン ~ビジネスは悪くない~
ビジネスとデザイン ~ビジネスは悪くない~ビジネスとデザイン ~ビジネスは悪くない~
ビジネスとデザイン ~ビジネスは悪くない~
 
20150205 schoo Webディレクションに必要なスキルセットとマインドセット
20150205 schoo Webディレクションに必要なスキルセットとマインドセット20150205 schoo Webディレクションに必要なスキルセットとマインドセット
20150205 schoo Webディレクションに必要なスキルセットとマインドセット
 
kintoneエンジニアのお仕事
kintoneエンジニアのお仕事kintoneエンジニアのお仕事
kintoneエンジニアのお仕事
 
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したいソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
 
はじめてのノーコード導入ガイド
はじめてのノーコード導入ガイドはじめてのノーコード導入ガイド
はじめてのノーコード導入ガイド
 
Lt40
Lt40Lt40
Lt40
 
モバイル&コンシューマ向けのシステム開発ができるPHP&Javaプログラマの皆様へ
モバイル&コンシューマ向けのシステム開発ができるPHP&Javaプログラマの皆様へモバイル&コンシューマ向けのシステム開発ができるPHP&Javaプログラマの皆様へ
モバイル&コンシューマ向けのシステム開発ができるPHP&Javaプログラマの皆様へ
 
浪江町ハッカソンインプットセミナー20140621
浪江町ハッカソンインプットセミナー20140621浪江町ハッカソンインプットセミナー20140621
浪江町ハッカソンインプットセミナー20140621
 
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
 
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetupAndroid Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
 
研修資料
研修資料研修資料
研修資料
 
Elastic Team Building
Elastic Team BuildingElastic Team Building
Elastic Team Building
 
開発者からサポートエンジニアにジョブチェンジした話
開発者からサポートエンジニアにジョブチェンジした話開発者からサポートエンジニアにジョブチェンジした話
開発者からサポートエンジニアにジョブチェンジした話
 

Mehr von Hiroshi Kikuchi

Mehr von Hiroshi Kikuchi (15)

Android Developer Toolsのバグを見つけて直してもらった話
Android Developer Toolsのバグを見つけて直してもらった話Android Developer Toolsのバグを見つけて直してもらった話
Android Developer Toolsのバグを見つけて直してもらった話
 
モバイルアプリ開発をグッと楽にするKotlinの便利なところ3選
モバイルアプリ開発をグッと楽にするKotlinの便利なところ3選モバイルアプリ開発をグッと楽にするKotlinの便利なところ3選
モバイルアプリ開発をグッと楽にするKotlinの便利なところ3選
 
JUnit5とAndroidのテスト
JUnit5とAndroidのテストJUnit5とAndroidのテスト
JUnit5とAndroidのテスト
 
KotlinJSって正直どうなん
KotlinJSって正直どうなんKotlinJSって正直どうなん
KotlinJSって正直どうなん
 
画面状態を抽象化してテスタブル設計ライフを送ろう
画面状態を抽象化してテスタブル設計ライフを送ろう画面状態を抽象化してテスタブル設計ライフを送ろう
画面状態を抽象化してテスタブル設計ライフを送ろう
 
テストコードをアプリケーションコードと同じ階層に置きたい
テストコードをアプリケーションコードと同じ階層に置きたいテストコードをアプリケーションコードと同じ階層に置きたい
テストコードをアプリケーションコードと同じ階層に置きたい
 
Android thingsやってみた
Android thingsやってみたAndroid thingsやってみた
Android thingsやってみた
 
どうしてコードはレガシーになるのか
どうしてコードはレガシーになるのかどうしてコードはレガシーになるのか
どうしてコードはレガシーになるのか
 
Androidの世界を離れて異文化留学してみた
Androidの世界を離れて異文化留学してみたAndroidの世界を離れて異文化留学してみた
Androidの世界を離れて異文化留学してみた
 
なるべくコードを書かないAndroid開発
なるべくコードを書かないAndroid開発なるべくコードを書かないAndroid開発
なるべくコードを書かないAndroid開発
 
開発チームにKotlinを導入した話
開発チームにKotlinを導入した話開発チームにKotlinを導入した話
開発チームにKotlinを導入した話
 
3分で作る Kotlin Friendly な API
3分で作る Kotlin Friendly な API3分で作る Kotlin Friendly な API
3分で作る Kotlin Friendly な API
 
Designing Auto Generated Codes
Designing Auto Generated CodesDesigning Auto Generated Codes
Designing Auto Generated Codes
 
C#でiPhone & Androidアプリ!
C#でiPhone & Androidアプリ!C#でiPhone & Androidアプリ!
C#でiPhone & Androidアプリ!
 
Ideatter : Tech-on2011決勝でのプレゼン資料
Ideatter : Tech-on2011決勝でのプレゼン資料Ideatter : Tech-on2011決勝でのプレゼン資料
Ideatter : Tech-on2011決勝でのプレゼン資料
 

Kürzlich hochgeladen

Kürzlich hochgeladen (7)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

新規Androidアプリ開発において何より大切なこと