はじめに
モバイル開発行っていますか?
モバイル開発のニーズはとても高まっていると思いますが、今回はそうした案件に対する見積りで注意・検討したいことをお伝えしたいと思います。 なお、 Salesforceモバイル案件の要件定義で注意すべき3つのポイント で紹介している内容も見積りする上でも重要なポイントになりますので、併せて一読頂けると良いと思います。
Salesforce1
Salesforceを導入する場合、最優先に検討すべきは標準機能(マウス操作による宣言型開発)を如何に適用するかだと思います。今更ながらのおさらいですが、標準機能を使用することによるメリットはパッと思いつくだけでも以下の4つはあるでしょう。
生産性
Salesforceが5倍の生産性というのはお馴染みです。
運用保守
Salesforceの導入後のカスタマイズをユーザ自身が実施するケースは多々あります。標準機能であれば プログラミングスキルを持たないユーザのシステム管理者であっても容易にカスタマイズ可能となります。
バージョンアップ
Salesforceの年3回のバージョンアップによる機能強化の恩恵を直接享受できます。 これまでにも、「今まで出来なかったことがバージョンアップによって出来るようになった!」という経験は沢山あることでしょう。
統一された操作性
標準機能でUIを構築した場合、レコードの参照や追加・更新等の操作方法は全て同じです。 新たにアプリケーションを追加したとしても、一度Salesforceの操作方法を知っておけば、ユーザは混乱することはないでしょう。
標準機能を考えた時のメリットを4つほど上げたわけですが、これをモバイル開発で考えた場合ではどうでしょうか?
最優先に検討するのは、「Salesforce1」でしょう。新たに追加したカスタムオブジェクト(タブ)へのアクセスはSalesforce1に統合されますし、そのオブジェクトに対するアクションやモバイルカードの設定なども、マウス操作だけで行うことができます。そして、Salesforce1はセールスフォース・ドットコム社が提供していますから、先に述べたような標準機能によるメリットを享受できます。まずは「Salesforce1」を適用でき、かつ標準カスタマイズの範囲で運用可能であるかを見積り時に検討することは重要でしょう。
対象OS/デバイス
Salesforce1が適用できるかを検討したい理由をお伝えしたわけですが、独自のブランディング、オフライン対応、OSネイティブ機能の使用などを理由にスクラッチで開発を想定するケースもあるでしょう。その際、モバイル開発でどのOS、バージョン、デバイスを対象とするかは、開発工数やテスト工数にインパクトを与え、見積りするうえで重要でしょう。
仮にBYODが前提の時、従業員がAndroidの機種を持っているとします。この時、OSのバージョンが異なるデバイスを幅広く保持されているケースが想定されますが、すべてのOSのバージョンや機種を対象に開発者がテストを実施することは非常に困難です。
Androidでの開発であれば、OSのバージョンが異なる場合、標準で備えるAPI自体にも差異があります。Support Packageを使用して互換を保つにせよ、同じOSのバージョンであっても、OSネイティブな機能の振る舞いが機種によって異なるケースもあり得ます。
そのため、どのOSのどのバージョン、デバイスをターゲットに開発・テストを行うかの見積り前提とするかは大事なポイントでしょう。 (もし、お客様が簡単に「どうせ作るなら、iOS、Androidの両方に対応してよ!」なんて軽くおっしゃったなら、リスク係数アップですねw)
画面のサイズ/縦・横での使用
「開発が要求される画面は縦での使用が前提でしょうか。それとも横でしょうか?」は見積りを行う上で確認したいポイントです。
デバイスを回転させることで画面は簡単に縦・横切り替わります。縦での使用を前提とした画面を横にした結果、横幅いっぱいに画面が間延びして必ずしも使い勝手や見た目がよろしくない結果になる場合があります。
また、スマートフォンであれば、一覧の表示の中から一つのレコードを選択して、詳細ページに切り替えて表示するといった操作がよくありますが、タブレットであれば画面サイズが大きいので、一覧からタップされたレコードの詳細を同一画面で表示したいというケースもあるでしょう。
Androidを例にすると、デバイスの画面サイズや解像度に応じて表示レイアウトを切り替える枠組みは提供され、複数レイアウトを作ることはもちろん可能ですが、各々のレイアウトをお客様と検討し、開発・テストする必要が生じます。さらに、タブレットのように画面サイズが大きい場合であれば、更にそれに見合ったレイアウトを要求される場合もあるでしょう。
何でもレスポンシブUI?
これまで紙で運用していた業務をタブレットを使った運用に切り替えたいというニーズはよくあります。 (例えば、保守や修理担当者が作業で客先に訪問し、これまでは紙で作業報告書を記入し、お客様にサインを頂いていたものをタブレット上で報告を済ませるなど。)
このようなケースやITリテラシが必ずしも高くない場合、ユーザや客先にとってこれまでの紙でのイメージで簡単に記入、報告できることが直感的に分りやすく、戸惑うことも少ないと思います。一方で、図に示したような画面を作る場合には、入力用のテキストボックスやボタン位置などはガチガチ固定にせざるを得ないでしょう。
限定的な用途であれば、複数のデバイス対応や画面サイズ対応を割り切って捨て、使い勝手を求めるとした提案&見積りを行うことが場合によっては必要かも知れません。 (もし、お客様が簡単に「どうせ作るなら、タブレットにもスマホにも対応したレスポンシブUIにしてよ!流行ってるでしょ!!」なんて軽くおっしゃったなら、ビビッと注意アンテナ張っておきましょう。)
おわりに
Salesforceモバイル案件の見積りをテーマに書きましたが、如何だったでしょうか? モバイル開発はエンジニアとして非常に面白く、楽しいです。 Salesforce1の登場や、Salesforce Mobile SDK、Salesforce Mobile Packなどが提供され、開発者がすぐに開発を始める環境は整っています。見積りの時点から注意・検討し、開発者の皆さんが面白く、楽しく開発できるよう多少なり参考になれば嬉しいです。
次回は、iOSアプリでSOAP APIを使った記事が本ブログに寄稿されているので、Androidで行う場合をフォローしておきます。