ビジネス/エンタープライズ向けアプリを作るとき、何を考慮すべきか?
(news.ycombinator.com)HNに投稿された質問と、高く評価された回答の抜粋
回答 1
- 購入者は誰か? 一般的には製品の利用者とは異なるため、彼らが何を望んでいるのかを把握する必要がある
- SSO、SAML ベース
- セキュリティ面では OWASP Top 10 をカバーし、app-sec(アプリセキュリティ)にも対応すること
- RBAC を実装すること。管理者がユーザーの追加や管理を簡単に行えるようにすること
- デモアカウントはサンドボックスとして実装し、実データに近いもので埋めておくこと。セールスピッチ時に非常に使いやすくし、あなたの代わりに製品が語れるようにすること
- 最初からマルチテナンシーを考慮すること。後から追加するのは難しい
- ドメインごとのコンプライアンス要件を最初から組み込むこと。SOC 2 のようなものはそれほど難しくない。その過程で良いセキュリティベンダーを見つけてテストを受け、優先度が高または中の問題を修正し、認証を取得すること。顧客との信頼構築につながる
- レポート。通常、管理者はさまざまなレポートを必要とする。CSV/Excel ダウンロードを提供し、スプレッドシートソフトで加工して使えるようにするのがよい
- ユーザーはミスをするものなので、常にソフトデリートを使うこと。そして数か月後にハードデリートできるようにする
回答 2
- 会社の最初のエンジニアとして、2つの成功したエンタープライズアプリを作った(1つは売却し、もう1つは現在 100M 以上の価値がある)
- 心配すべきことはただ1つ、「顧客があなたのアプリを本当に欲しがり、必要としているか」だ。エンタープライズ SaaS 製品の 99% は、機能不足ではなくこれが原因で失敗する
- SSO、Integration、監査証跡(Audit Trail)のようなエンタープライズ機能は、顧客が求めたときに構築できる
こうした機能の多くはすでに解決済みの問題だが、エンジニアであるあなたには魅力的な課題に見える - こうしたことはいったん脇に置き、ビジネス上の問題だけに集中すること。「自分のアプリは顧客の切実なニーズを解決するのか?」
この問いに答えるためのマインドセットを持つには、"The Mom Test" を読むこと。それが今いちばん重要だ
回答 3
- 私なら、B2B/エンタープライズ製品の技術的側面は後回しにする
- 主な問題は、販売プロセス/GTM(Go To Market)戦略を見極めること。他の人も言っているように、その問題や業界を理解し、企業への販売経験がある人と提携するのが役立つ。これが会社の中核能力になることを覚えておくべきだ(大きく稼ぎたいなら)。技術リーダーとしての仕事は、単に製品を作って出荷することよりもコンサルティングに近い
- 単独で進めるなら、ビジネスプロセスに関わる多くの人と話し、今解決しようとしている問題について、なぜ彼らが現在そのやり方をしているのかを確認すること。開発者としては問題を技術的なものとして見がちだが、実際には組織・政治・社会の問題である可能性が高い。まずは作り込みすぎず、見せてピッチできるビジュアルプロトタイプを作り、ユーザー自身が試せるようにすること
回答 4
- 目指すビジネスの種類によって、多くのことが変わる。政府機関や金融組織を対象にするなら、一般的なソフトウェア会社より要件ははるかに多い
- 大企業向けでは販売サイクルがかなり長くなることもあるが、その代わりに取引規模はかなり大きくなりうる
- 数年間にわたり企業顧客へ販売してきた私ができる最高の助言は、「ターゲット顧客を理解せよ」だ。会社そのものだけでなく、実際にソフトウェアを売る相手となる人たちも含む。開発を始める前に対象顧客と話し、彼らが正確に何を必要としているのかを確認し(それが自分の想定と一致しているかも確認し)、また彼らがあなたのソフトウェアを購入する際の障害が何かも確かめること。要件を事前に知っていれば、販売プロセスで驚かされずに済む
- 私がおすすめする本は The Mom Test。対象顧客からフィードバックを得るために、正しい質問をする方法を学べる
回答 5
- API を公開する形でアプリを作り、Web クライアントはその API を使って描画するようにすること。エンタープライズ領域では、SEO のためにサーバーサイドレンダリングを行う必要はない
- 企業ではしばしば、ユーザーがあなたのアプリを使った後、自分たちで自動化したり、他のシステムと統合したくなったりする。このとき API があれば、あなたが追加作業をする必要はない。アプリでできることはすべて、自動化できる
- データベースが関係するなら、ユーザーが読み取れる読み取り専用レプリカがあると、あらゆるビジネス上の問いに素早く答えられる。多くのビジネス担当者、レポート作成者、エンジニアは SQL に非常に精通している
回答 6
- 最も重要なのは、「企業が解決のために喜んでお金を払う問題を見つけること」。シンプルな MVP を立ち上げ、そこから成長させていくこと
回答 7
- スキーマ段階からマルチテナンシーを前提に構築・設計すること
- ID とログインメカニズムを分離すること。ユーザーごとの複数ログイン手段(メール/パスワード、SAML、OpenID Connect、Google)を計画し、多要素認証も考慮すること(TOTP、Duo など)。認証済みユーザーをどう識別するか、メールアドレスをどう検証するかに注意すること
- データベース接続にも TLS を使うこと。暗号化を使うこと。バックアップを自動化し、アプリケーション全体ではなく顧客単位のデータを復元/Export できるようにすること
- 時系列データベースまたはイベントロギングシステムを使い、権限のあるユーザーがシステム上で行うすべての操作、アカウントや権限の変更、破壊的操作などについて Audit Trail を生成すること
3件のコメント
洞察を感じますね
ビジネス/エンタープライズ向けアプリを作るとき、何を考慮すべきでしょうか?
https://tkim.co/2020/02/12/the-mom-test/
SaaS企業の秘密:なぜマルチテナンシーが重要なのか