![見出し画像](https://assets.st-note.com/production/uploads/images/33568341/rectangle_large_type_2_38c0af7890e527b6e971e2111d4625ba.png?width=1200)
AIエンジニアが一ヶ月でアプリ開発2:機能一覧
こんにちは、りぼっちです。
経験のためにアプリの開発を開始しました。いろいろ分からないことが多いと思いますが、今後同じようにアプリ開発をやりたいと思っている人のために開発の全貌を記録していきます。
今回は、機能一覧を作ってみました。
機能一覧について
アプリを開発する上で、アプリの全体像を把握したり、ワイヤーフレームを作成するうえで必要だと思ったので最初に決めたいと思った。(アプリを作る上で機能一覧から作り始めるのがベターかどうかは分からない)
最初は何気なくNotionに機能一段を書き出し始めたが、書いていくうちに、アカウント周りだけでも登録、ログイン、ログアウト、メールアドレス変更、パスワード変更、SNS連携(やるか分からんけど)など、めちゃくちゃ面倒。あとは利用規約?バーション情報?
メインとなる機能以外に、結構作らなきゃいけない機能が多いことに気付いた。ここらへんアプリ作るなら最低限、この機能だけは作ろう!みたいなリストが欲しい。
早い段階で決めとかなきゃ後々面倒になりそうな機能
ログイン
正直、今回のアプリでログインは無くても成立する。なんだったらログイン(つまり会員登録)みたいなものを入れることでコンバージョンが下がる可能性がある。だったらログインなんて作らない方が良いんじゃないか?
SNS機能のようなユーザ間のコミュニケーションが無いアプリに関して、ログイン(ユーザのidentity)が必要になる場面というのは、端末の引継ぎのときだ。もし端末を変えたらデータも引き継げるのが当たり前の世の中。可能であればログイン機能はあると安全だと思う。
ただしログインするのにメールアドレス必須でパスワード登録をしなければ使えないとなると、利用者のコンバージョンが下がる可能性が高いので極力SNSログイン(FacebookログインやTwitterログイン)などで会員登録の手間を減らせるようにすることをお勧めする。
多言語対応
これは後からできなくは無いが、最初から設計に入れておくと便利(かもしれない)。用語のところを全て変数化しておくだけなので、将来的にグローバル展開することを考えているのであれば、最初からやっておくと良いと思う。
利用規約・プライバシーポリシー
こちらは法人だと当然あると思うが、個人であっても 5000ユーザ以上のアカウントを扱うのであれば「個人情報取扱業者」となる。なので出来れば、そうなる前に利用規約や個人情報取扱方針など決めておくことが大切である。
ちなみに本当に、規約やプライバシーポリシーで訴訟が起こさないように(起こされても負けないようにするために)するためには、弁護士や行政書士にチェックをしてもらう必要がある。それほどでも無いのであれば、類似サービスなどを参考に、必要十分な情報量を記載しておけば良さそう。
広告について
広告は後から入れることも出来るが、バナー広告みたいなものを後から入れるとUIが崩れてしまったりする可能性があるので、できれば入れることが決まっていれば先んじて、どこに入れるのかを検討しておくと良いと思う。
最低限必要な機能を洗い出す
アプリ作る上で、最低限この機能だけは必要だよ。ってリストがあれば良いのだが、条件によって様々なので、そのようなリストは存在しなさそう。それでも、やはり一人で悩んで機能を洗い出すよりは他のアプリを参考にした方が良いと思う。
もし参考にするのであれば、誰もが使う有名アプリが良い。
もちろん Apple や Google が出しているガイドラインなどを読み込むことをしても良いのだが、法律の専門家でも無いのに細かい部分を把握して仕様から機能を実現するのは時間がかかる。それだったら、十二分に練られているであろう有名な企業が作っている有名なアプリを参考にするのが手っ取り早いと思う。
っとは言え、Google や Facebookなどはアプリの規模が違いすぎて、あまり参考になる感じではなかった。なので今回は、Slack や Uber, Nintendo のアプリ(なんとなく任天堂って、そういうところがしっかりしてるイメージ)、DeNAなどが作ってるアプリを参考にさせてもらった。
メイン機能の作り込み
なんといってもアプリのメイン機能の作り込みが重要である。どんなに他の問い合わせ機能や、SNS連携などが充実していてもメインの機能がショボかったらどうしようもない。
この部分は、UIなども絡んでくるところなのでワイヤーフレームを考えつつ何度もアップデートしながら進めていけば良いが。絶対に妥協してはならない。本当に必要なもの、ユーザにどんなUX(ユーザ体験)をさせたいのかという芯の部分だけは見失わないようにして欲しい。
メイン機能:バーナーリストについて
今回作る予定のバーナーリストについて少し紹介する。
バーナーリストは、元々Google で最速仕事術「スプリント」を考案し、今でも様々な企業で働き方の改革を行っている、ジェイク・ナップ と ジョン・ゼラツキー により考案された新しいやることリストである。世界中で翻訳され日本でも「時間術大全――人生が本当に変わる「87の時間ワザ」」というタイトルで販売されている本の中で紹介されている手法の一つだ。
従来の TO DOリストは、自身のやるべきことをリスト化して消費していくことで進捗を実感することができ気持ちよく仕事している感を感じることができたが、生産性を上げるというものでは無かった。また複数のプロジェクトを掛け持ちしている場合、プロジェクト内の優先度は分かるが全体の優先度は分かりづらく、全てのプロジェクトを同時進行で進めることになった。
バーナーリストは、あえて全てのプロジェクトを同時に進行することは無理(生産性が落ちる)ということを前提に、目の前のプロジェクトに集中することで生産性を上げることを目的としている。また、これによって差込の仕事を断れるようになったり、コンテキストスイッチの回数を減らすことが期待できる。
もっと詳しく知りたい方は、是非本を読んで欲しい。
https://amzn.to/3hHw08Q
たしかに、エッセンシャル思考の考え方でも9割の仕事は捨てるという考え方をするが、目の前のプロジェクトに集中して仕事をすることの大切さを最近の自己啓発本でも主張されている内容と一致していると思う。
バーナーリストのやり方
ここで詳細は省くが、概要だけ。
紙の真ん中に線を引き、左上に最も優先度が高いプロジェクトのTO DO『手前のバナー』、左下は最重要プロジェクトのTO DO を増やすことがでいる余地空間『カウンター』、右上に二番目に優先度が高いプロジェクトの TO DO『奥のバーナー』、右下にその他のTO DO『キッチンシンク』 を設置する。これが基本的な書き方で、これを定期的に作り直すことでプロジェクトの優先度を変えたりしながら、そのとき最も優先度が高いプロジェクトに集中して作業を行うことができる。
以上の機能を実現するために必要となりそうな機能一覧を書き出してみたのが以下になる。
機能一覧(第一稿: 2020/08/30)
- インボックス
- 何も紐づいてないTO DOが入ってる場所
- キッチン
- フロントバーナー
- 最も優先度が高いプロジェクトの TO DO を表示
- バックバーナー
- 二番目に優先度が高いプロジェクトの TO DO を表示
- その他
- 三番目以降のプロジェクト & 何も紐づいてないTO DO 表示
- TO DO 作成
- インボックス & キッチンのページにフローティングボタンを設置
- タイトル入れる
- プロジェクト選択
- プロジェクト作成画面
- プロジェクト名入れる
- ログ
- 終了した TO DO 表示
- 設定
- アカウント設定
- メールアドレス変更
- パスワード変更
- ログアウト
- バージョン
- 利用規約
- プライバシーポリシー
- 通知設定
- アプリの通知設定へのリンク設置
- サポート
- よくある質問
- 問い合わせ
最後に
やっぱり機能一覧は、ざっくり作って、ワイヤーフレームを作りつつ修正していけば良いと思う。そういう意味では、UI/UXデザイナー に発注する仕様を決める企画の人ってすうごいなぁ〜。
次回は、機能の抜け漏れがないかをCFD法を使ってチェックしてみたいと思っている。