プロトタイピングを用いたSalesforceでの要件定義と開発
ここで、筆者がお勧めするSalesforce導入時の要件定義、及びそれ以降のプロジェクトの進め方をご紹介します。今回は『使う人』があまりシステムに詳しくなく、『作る人』チームがリードして開発を進める場合を想定し、『作る人』チームの視点から進め方を記載することにします。
- 企画
プロジェクトを始める前に『使う人』と『作る人』でやっておくべきことがいくつかあります。- 『使う人』の現在の業務上の課題や今回のプロジェクトで成し遂げたいこと等、プロジェクトの目標を明確にして関係者と共有する
- 例:売上が伸びない ⇒ 新規顧客/商談開発・クロスセル/アップセルにつながる営業活動ができるCRM機能を充実させる
- 例:営業が事務処理に忙殺され営業活動の時間が十分に取れない ⇒ 営業プロセスの効率化と営業支援チームとの連携強化を実現する
- 『使う人』と上記を達成するために必要な「プロジェクトの基本方針」を決める
- 例:CRM機能を充実させる ⇒ 営業支援・マーケティングに関する機能に関しては標準機能を利用し、カスタム開発は極力避ける
- 例:効率化とチーム連携の強化を実現する ⇒ 自動化とコミュニケーションに関する機能はカスタム開発もしくは外部サービスの利用を促進、営業プロセスに関する機能は変更に素早く対応できるようカスタム開発を極力避ける
- 『使う人』と以降に記載するプロジェクトの進め方を説明し、『使う人』代表として参画して頂けるキーパーソンを選出する(「この人が決めたことならばまずは従ってみよう」と『使う人』が納得する人物・組織であることが望ましい)
- 『使う人』に業務の概略を聞き、業務データの参考になる資料を入手する
- 『使う人』の現在の業務上の課題や今回のプロジェクトで成し遂げたいこと等、プロジェクトの目標を明確にして関係者と共有する
- 要件定義 ー プロトタイプ作成
業務データベースのドラフト版をSalesforce上で作成し、1.で聞いた業務の概略をSalesforce上でデモできるよう準備する- この時、業務用語や英語表記(システムの設定名に用いる)の辞書を作ってそれなりに正しい綴りにしておくと後工程が楽になる
- 顧客管理システムや商談管理システムなど、Salesforceが提供する業務機能を利用する場合、ここでSalesforce業務機能の仕組みと理念、効果を伝えるようにする
※ Salesforce専門家の助けが必要かと思います - この時点で複雑な設定やコーディングはしない。なるべく日を置かないでデモを実施することを優先する
- 要件定義 ー プロトタイプ確認
準備したデモを『使う人』に説明し、業務の流れがあっているかを確かめる。そして、『使う人』に使い方を説明する。
- 要件定義 ー プロトタイプ体験
『使う人』にデモを動かしてもらう。本業務で使ってもらうのがベストだが、時間を貰って一緒に動かしてみる、位でもよい。
- 要件定義 ー プロトタイプフィードバック
『使う人』に、使ってみて困ったことを出してもらう。実際の画面で説明してもらう。例えば以下のようなもの:- 項目が多すぎて目的のものが探せない
- 同じ情報を転記するのが大変で業務が回らなさそう
- 別システムにある情報は自動で埋まって欲しい
- 目的の情報をうまく探せない(検索がうまくできない)
- 計算や集計を自動で行って欲しい(できればグラフも)
- 要件定義 ー 実装方針案作成
それぞれの「困ったこと」1つ1つに対して対策案を以下のように用意する。- 工数・リスクの観点で「松」「竹」「梅」案を用意する。
「松」案はコーディングを用いて細部の要件まで適えた案
「梅」案は標準機能だけで実現した案
「竹」案は工数・リスクの観点で真ん中の案 - それぞれの案の工数・納期、できれば価格を記載する
- それぞれの案のリスク・懸念点を記載する。
特に「松」案ではリリース後の保守運用も視野に入れる
- 工数・リスクの観点で「松」「竹」「梅」案を用意する。
- 要件定義 ー 実装方針案検討
対策案の一覧を『使う人』と『作る人』の間で確認し、議論する。必要であれば対策案のプロトタイプを作成し、デモする。最終的に以下を決める。- それぞれどの案で対応するか(もしくは対応しないか)
- どの順で「困ったこと」を解決するか(優先順位)
- 最初のリリースで絶対に解決すべきライン
ここまでを繰り返して初回リリースに含める機能とその実装方針を定め、『使う人』と『作る人』の両者で合意する(要件定義完了)
※ 対策案の一覧の説明情報を充実させた「業務機能一覧」とこれまでに用いた説明資料をもって要件定義の資料とする
- 設計・開発・単体テスト
あらためて全体最適となる設計を行い、コーディングを含めた開発を行う
※ 細かな仕様はデモに立ち戻って『使う人』に実機で確認してもらう
- テスト(結合テスト・システムテスト・ユーザ受入テスト等)
要件定義で説明した業務の流れが細部まで実現できるか、要件定義で出した「困ったこと」が十分に解決されているか、『使う人』と『作る人』の両者の観点でテストする
- リリース & 保守改善
リリースする。その後も本番環境を要件定義におけるデモとみなして同じサイクルを繰り返す
次のページでは企画、要件定義、設計・開発・単体テスト、テスト、リリースのポイントとなる点をご説明します。