見積り前に確認しておいた方がいいこと
ハードウェアの選定
どの端末をサポートしますか?
動作確認を行う端末を決めてもらいます。
複数の端末をサポートする場合、テストも複数の端末で行うため工数もそれに応じて増やす必要があります。
サポートするiOS・Androidのバージョンは?
端末を決めた時点でほぼ決まってしまいますが"iOS 6.0以上"、"Android 4.0以上"のようにサポートする最小のバージョンを決めます。
特にお客様にご要望がない場合はアプリのリリース時期と端末、OSのシェアなどを考慮して提案しています。
タブレットでの使用は想定していますか?
これはスマートフォン用に開発している案件で後からタブレットでも使用したい、
というご要望を受けることがあるためです。
マルチデバイス対応にする予定はありますか?
ワンソースで開発できるMonacaの採用も考慮に入れるためです。
端末を貸してもらえますか?
ない場合はフィジビリティチェックができないので早めに購入する必要があります。
実装技術
ネイティブアプリの他にはMonacaなどがあります。
ネイティブアプリに比べるとMonacaは制約がある場合がありますので事前に調査することをお勧めします。
説明しておいた方がいいこととしては
Monacaの場合
ネイティブに比べるとパフォーマンスが悪い。
エフェクト、スクロール、画面遷移がスムーズではない。
見た目がネイティブと違う。
などがあります。
パフォーマンスについては、ハードウェアの進化や、
モバイル専用の高速なHTMLを書き出す
Accelerated Mobile Pages(AMP)などにより、問題なくなってきています。
スマートフォン特有の機能
画面の自動回転に対応しますか?
レイアウトにもよりますが縦位置、横位置固定の場合と自動回転に対応では工数が多少変わってくるので
確認しておいた方がいいです。
ハードウェアキーの使用
Androidのネイティブアプリの場合はほとんどのアプリケーションでメニューを使用できると思います。
またデフォルトのBackキーの動きで問題ないか、なども確認しておいた方がいいと思います。
Activity内で1つ前の状態を戻すような制御の場合はアプリ側で実装する必要があります。
カメラ機能の使用
複数の端末で動作保障する場合に実装をメーカー毎に分けなければいけないことがあります。
パフォーマンス
画像処理など高負荷な処理が必要な要件があった場合、性能要件を決めておきます。
性能要件によってはAndroid NDKで高速化するなどの対応が必要となるので見積りに入れておきます。
多言語化
多言語化のご要望があった場合ですがアプリ内で変更するのかOSの言語設定に合わせるのか決めておきましょう。
あとは英語の場合は文言を頂けるのか、翻訳までするのかも確認します。
納品物
テストにエビデンスは必要でしょうか?
実機でテストするため機種によってはキャプチャが取れない場合があります。
DDMS を使用して取得することもできますが、デスクトップアプリよりも手間がかかることを考慮します。
ソース納品は必要でしょうか。
保守は必要でしょうか。毎年必ず何らかの変更があると思っておいた方が良いです。
リリース方法
一般に公開するアプリの場合はAndroid Marketへの登録までを請け負うのか確認します。
公開しないアプリあればインストール方法を決めてもらいます。
Webサーバを構築してブラウザからインストールするかPCに接続してインストールすると思いますが、
どこまでを請け負うのか確認しましょう。
またインストール手順書などが必要かどうかも確認しておくといいと思います。
コメント