プロダクト戦略とディスカバリー
ディスカバリーは、誤ったものを作ってしまうリスクを下げます。私たちは、ユーザー、課題、最もリスクの高い仮説を検証する最小のリリース、そしてそれがうまくいったかどうかを示す指標を定義します。技術的な実現可能性とコストは、ロードマップが固まった後ではなく、ディスカバリーの段階で評価します。
- 課題とユーザーの定義
- 仮説マッピング
- スコープとリリースの切り分け
- 技術的実現可能性のスパイク
- 成功指標
- 内製か購入かの分析
ケイパビリティ
戦略、UX、アーキテクチャ、開発、インフラストラクチャ、セキュリティを一つのエンジニアリングとして扱います。最初のリリースを小さく、計測可能で、成長できるものにするためです。
デジタルプロダクト開発は、プロダクトの全行程を対象とします。アイデア、プロダクト戦略、UX、アーキテクチャ、開発、インフラストラクチャ、セキュリティ、デプロイ、分析、継続的な改善です。各段階はよく知られています。難しいのは、ある段階での決定が他の段階を制約すること、そして別々のチームの間で仕事を受け渡すとそのつながりが失われることです。
料金モデルはテナンシーモデルを規定します。即時のフィードバックというUX上の約束は、それを実現できるアーキテクチャを前提とします。規制のある市場では、最初のリリースから監査証跡とデータの所在要件への対応が求められます。私たちはこれらを一つのエンジニアリングとして進め、プロダクト戦略が技術的に無理のないものとなり、アーキテクチャが人々に求められるプロダクトに資するようにします。
対象は、SaaSプラットフォーム、エンタープライズアプリケーション、FinTechアプリケーション、マーケットプレイス、モバイルアプリケーション、B2BおよびB2Cプラットフォーム、APIプロダクト、社内向けエンタープライズシステム、ワークフロープラットフォームに及びます。それぞれ重心が異なり、それを早期に見極めることで、エンジニアリングの工数をどこに注ぐべきかが決まります。
エンジニアリング領域
ディスカバリーは、誤ったものを作ってしまうリスクを下げます。私たちは、ユーザー、課題、最もリスクの高い仮説を検証する最小のリリース、そしてそれがうまくいったかどうかを示す指標を定義します。技術的な実現可能性とコストは、ロードマップが固まった後ではなく、ディスカバリーの段階で評価します。
UXは、システムの制約を視野に入れて設計します。レイテンシ、オフライン時の挙動、権限、エラー状態、アクセシビリティです。デザインシステムによってWebとモバイルのインターフェースの一貫性を保ち、新しい画面を低コストで構築できるようにします。
初期のアーキテクチャ上の決定は、変更が難しいものに集中させます。データモデル、アイデンティティと認可、テナンシーの境界、APIの形です。構造は単純に保ち、通常はマネージドデータベース上のモジュラーモノリスとしたうえで、これらの基盤を正しく作ります。
プロダクトは短いインクリメントで構築し、その一つひとつを本番に近い環境まで届けます。自動テスト、継続的インテグレーション、プレビュー環境によって変更ごとのコストを低く保ち、ユーザーの実際の行動にチームが対応できるようにします。
インフラストラクチャは最初の環境からコードとして定義し、デプロイはデプロイする対象がまだ少ないうちに自動化します。セキュリティ対策は扱うデータに見合った水準とし、パイプラインに組み込みます。依存関係スキャン、シークレット管理、暗号化、監査ログです。
計測されていないプロダクトは、意図をもって改善することができません。私たちは、プロダクトの成功指標に対応するイベントを計装し、それを運用テレメトリーと結びつけ、実験と段階的ロールアウトによって変更を検証します。
MVPは素早く学ぶためのものなので、ほとんどのことは先送りすべきです。リスクは、ユーザーとデータが存在するようになってからでは取り消しに大きなコストがかかる、少数の決定まで先送りしてしまうことにあります。技術的負債は、返済が安く済むのであれば許容できます。スケールを妨げる負債とは、稼働中のデータの移行や、負荷がかかった状態でのアーキテクチャの作り直しを必要とする種類のものです。
既存のデータやコントラクトに触れずに追加できるものは、すべて先送りします。マイクロサービス、マルチリージョン展開、独自のインフラストラクチャ、凝ったキャッシュ、プラグインシステム、既知のホットパスを超えるパフォーマンスチューニング、そして当面はデータベースへのクエリで代替できる管理ツールです。マネージドサービスとよく理解された技術を使い、一つのデプロイ単位として構築します。
決して先送りしてはならないものが五つあります。データモデル。あらゆる機能とマイグレーションがその上に築かれるためです。認証と認可。権限を後付けするには、すべてのエンドポイントを精査する必要があるためです。テナンシーの境界。データの入ったスキーマにテナント識別子を追加するのはリスクの高いマイグレーションだからです。デプロイの自動化。手作業のリリースは、その後のあらゆる変更を遅らせるためです。そしてオブザーバビリティ。これがなければ、本番で最初に起きた問題を診断できないためです。
プロダクトのカテゴリーによって、エンジニアリングの難所がどこにあるかは異なります。SaaSプラットフォームの中心は、テナンシー、サブスクリプション課金、テナントごとの設定です。FinTechアプリケーションの中心は、台帳の正確性、冪等なトランザクション処理、照合(リコンサイル)、監査可能性です。マーケットプレイスの中心は、二者間のフロー、検索、当事者間で預かる決済、信頼を担保する仕組みです。
APIプロダクトではコントラクトそのものがプロダクトであるため、バージョニング、レート制限、利用量の計測、開発者向けドキュメントが最優先になります。社内向けエンタープライズシステムやワークフロープラットフォームでは、既存システムとの連携、組織を反映したロールモデル、設定可能なプロセス定義が大きな比重を占めます。B2Cプラットフォームは予測できないトラフィックを吸収し、オンボーディングを短く保たなければなりません。一方、B2Bプラットフォームにはシングルサインオン、きめ細かな権限、監査証跡が必要です。
カテゴリーを早期に特定することで、工数が均等に分散してしまうことを防げます。難所にはシニアエンジニアの注力と個別のエンジニアリングを充て、それ以外は標準的なコンポーネントを使います。
スケーリングの問題の多くは、エンジニアリングの関与なしに下されたプロダクト上の決定から始まります。顧客ごとのカスタマイズを約束すれば、設定の仕組みがモデルに組み込まれていない限り、顧客ごとのフォークが生まれます。無料プランは負荷の特性と不正利用の対象領域を変えます。リアルタイムのコラボレーションは、データアーキテクチャを根本から変えます。
私たちは、ディスカバリーの段階から一貫して、プロダクトとエンジニアリングを同じ議論の場に置きます。ロードマップの各項目には技術的な影響とコストを添え、アーキテクチャ上の各決定は、それを正当化するプロダクト上の必要性に紐づけます。見積もりに信頼性を与えるのもこの進め方です。コミットする前に、スコープ、デザイン、アーキテクチャを合わせて理解しているためです。
エンジニアリングの進め方
各段階で、次の段階が検証できるものを生み出します。
ユーザー、課題、最もリスクの高い仮説、成功指標を定義します。検証の根拠が得られる最小のリリースについて合意します。
エンジニアリングの時間を投じる前に、中核となるフローを設計し、クリック操作できるプロトタイプで検証します。
ドメインとデータをモデリングし、アイデンティティ、テナンシー、APIの形を決め、リポジトリ、CI、環境、オブザーバビリティを整備します。
イテレーションごとにデモできる垂直スライスを構築し、最初から自動テストと本番に近い環境へのデプロイを行います。
セキュリティレビュー、負荷テスト、バックアップとリストアの確認を実施し、ロールバックを準備したうえで段階的ロールアウトによりリリースします。
利用データと運用データを成功指標に照らして読み取り、ロードマップを調整し、時間を奪っていることがデータから明らかになった技術的負債を返済します。
トレードオフ
アーキテクチャを確定する前に、お客様のチームとともに検討する問いです。
本番対応
アイデンティティ、認可、テナント分離は最初のイテレーションで設計し、自動的にテストします。データは暗号化し、シークレットは一元管理し、依存関係をスキャンします。監査ログは誰が何を行ったかを記録し、プロダクトの市場で求められるフレームワークへの対応を支援できる形式で設計します。
プロダクトは、単純で水平にスケールできる基盤の上でローンチします。ステートレスなサービス、余裕を持たせたマネージドリレーショナルデータベース、キャッシュ、ジョブキューです。成長には、計測結果に基づいてキャパシティを追加し、ホットパスを切り出すことで対応します。
運用テレメトリーとプロダクト分析は、ローンチ前に整備します。ログ、メトリクス、トレース、エラートラッキング、そして成功指標の裏づけとなるイベントです。チームは、システムが健全かどうかと、プロダクトが意図どおりに使われているかどうかの両方を確認できます。
すべてのマージは、自動化されたパイプラインを通じて、コードとして定義された環境へデプロイできます。フィーチャーフラグと段階的ロールアウトにより、未完成の作業やリスクのある作業も安全に本番へ届けられ、ロールバックは日常的な運用作業となります。
プロダクトは最初からバージョン管理されたAPIを公開し、自らのクライアントもそれを利用します。決済、アイデンティティ、メッセージング、エンタープライズシステムとは、ベンダー固有の仕様を切り離すアダプターを介して連携します。Webhookとイベントにより、顧客や社内システムが変更に反応できます。
ワークロードとお客様の既存環境に合わせて選定します。
ゼロから本番へ
アイデア
ディスカバリー
システムアーキテクチャ
UX・プロダクトデザイン
アプリケーション開発
AI・データレイヤー
クラウドインフラ
セキュリティ
QA・パフォーマンス
デプロイ
オブザーバビリティ
継続的な進化
FAQ
スコープ、連携先、規制上の制約によって変わります。だからこそディスカバリーを最初に行います。ディスカバリーの目的は、最初のスライスが明確なリリース計画と、理解されたスコープに基づく見積もりを得ることであり、課題が定義される前に数字を提示することではありません。
はい。ディスカバリーによって、アイデアを、定義されたユーザー、フロー、仮説、アーキテクチャ、優先順位づけされたスコープへと落とし込みます。あわせて、まだ作るべきでないものも明確にします。
そうなるべきではありません。データモデル、アイデンティティ、テナンシー、デプロイ、オブザーバビリティが適切に作られていれば、MVPは本番システムの最初のバージョンであり、拡張によって発展していきます。意図的な近道として作った部分は記録しておき、計画的に置き換えられるようにします。
はい。運用、監視、最適化、追加開発は、私たちが設計の対象とするライフサイクルの一部です。当社が引き続きシステムを運用するのか、お客様のチームへ移管するのかという引き継ぎの形は、最初に合意します。