Latest evidence-based health information
Ipad

アプリ開発をアウトソーシングする方法

アプリ開発をアウトソーシングする方法
アプリ開発をアウトソーシングする方法

ビジネス向けのカスタムアプリやウェブサイトを作成したいけれど、社内で開発するスキルがないとお悩みですか? 開発請負会社は数多く存在しますが、適切な業者を選ぶのは容易ではありません。また、外部の業者から最適な成果を得るのも容易ではありません。この記事では、外注開発プロジェクトでよくある失敗例と、外注先から最高の成果を引き出すための対策について解説します。

誰を雇ったとしても、素晴らしい仕事は当然のことです。そして、世の中の開発者の大多数は、クライアントに素晴らしい仕事を提供することに生きがいを感じています。しかし、時にはプロセスがうまくいかないこともあります。たとえ本当に才能のある請負業者をアプリ開発に雇ったとしても、プロジェクト完了までの道のりで、様々な問題が起こる可能性があります。もちろん、これはあらゆる請負業者との関係において当てはまることですが、アプリ開発のようなクリエイティブなプロジェクトでは特に懸念されます。物事の現状とあるべき姿についての主観的な認識が、認識の食い違いや誤解を生みやすいからです。

どのように進むべきか

理想的な開発者とは、熟練した技術者であると同時に、信頼できるアドバイザーでもあり、ソフトウェアエンジニアリングの幅広い知識を持ち、お客様のビジネスニーズと具体的なプロジェクトの要求に的確に対応できる人物です。開発者は、アプリのスコープ設定プロセスを迅速かつ自信を持って導き、開発プロセス全体を通して明確なコミュニケーションを図りながら、アプリが形になりつつある中で定められた期限を着実に守っていく必要があります。

大まかに言えば、カスタム アプリを作成するプロセスは次のようになります。

1. 発見

2. スコープの調整

3. 開発

4. 改訂

5. 出荷/生産

発見フェーズでは、お客様が目標と期待を伝え、開発者はお客様が何を達成したいのか、何が最も重要なのか、何がオプションなのか、プロジェクトの最後に何を期待しているのかを明確に理解できるよう取り組みます。

期待事項をすべて伝えたら、次はプロジェクトのスコープを明確に把握しましょう。スコープとは、アプリの機能と性能の包括的な範囲を指します。ほとんどのプロジェクトでは、スコープを説明するリストや図表が用意されます。例えば、機能の項目別リスト、アプリの動作を示す図表などです。アプリの様々な画面のモックアップなども用意しておくとよいでしょう。この段階で、あなたと開発者は、何を構築するのかについて合意に達します。

開発プロセス
優秀な開発者は開発プロセス全体をガイドしてくれます。

調査とスコープ設定が完了したら、いよいよコーディングを始めましょう。プロジェクトの複雑さに応じて、数週間から数ヶ月かかる場合があります。1人のプログラマーが単独で作業する場合もあれば、複数のエンジニアがチームを組んでアプリの専用コンポーネントを作成する場合もあります。小規模なプロジェクトであれば、開発者1名と、場合によってはデザイナー(アプリのグラフィカルインターフェースを構築するために)が1名ずつ作業することになります。

アプリが完成したら、いよいよリリースです。Webアプリの場合、この段階は一般的に「本番」と呼ばれます。モバイルアプリ、デスクトップアプリ、Webアプリのいずれを開発しても、このフェーズはアプリ開発サイクルの継続的な一部として捉えるべきです。アプリに「完成」はありません。ゴールラインはありません。さあ、いよいよアプリのメンテナンスと機能強化に取り組める段階です。

優れた開発者を選ぶ

開発者を探す準備ができたら、選択肢は豊富です。地元のフリーランサー、専門会社、オンラインの「アプリビルダー」サービスなど、数え切れないほど多くの選択肢があります。コミュニケーションと信頼性を重視するなら、地元で開発を行う開発者と仕事をするのは悪くありません。もちろん、海外の企業でも質の高い仕事をしてくれるところはたくさんありますが、開発プロセスに不慣れな場合は、自分のタイムゾーンで対応してくれる開発者の存在が重要になります。さらに、重要な会議にオフィスまで来てくれる開発者であればなおさらです。

いつもの人に聞いてみましょう。友人や同僚に聞いてみましょう。Googleで「ソフトウェア開発者」と郵便番号または地域名を入力して検索してみましょう。Elanceに求人情報を投稿してみましょう。大都市圏内、あるいはその近郊にお住まいなら、魅力的な候補者が10人ほど見つかるはずです。モバイルアプリを探しているなら、検索ワードにその点も含めてみましょう。iOSかAndroidか?どちらでも構いません。具体的に検索すれば、より適切な結果が見つかるはずです。

候補となる業者のリストが完成したら、評価を始めましょう。各社のウェブサイトにアクセスし、最近の施工事例を探します。自社と似たような企業からの推薦状を探し、紹介先に電話をかけましょう。

将来の開発者について尋ねるべき重要な質問が 3 つあります。

1. コミュニケーションは取れているか? – カスタムアプリの開発は、あなたと開発者との良好なコミュニケーションが不可欠です。優秀な請負業者は、プロセスについて理解できない点があれば、惜しみなく説明してくれます。また、難しい質問を避けたり、「馬鹿げた」質問をしたからといって批判したりすることもありません。候補者のコミュニケーションの明確さと率直さに少しでも不安を感じたら、それは危険信号です。理解できない用語が出てきたら、すぐに質問しましょう。

2. 知識豊富か? – 人生に保証はありませんが、あなたのプロジェクトに似たものを過去に構築した経験のある開発者であれば、比較的安心できるでしょう。すべての候補者に、あなたのプロジェクトに似た最近のプロジェクトの例を尋ねてください。それらの例をよく見てください。期待通りに動作しますか?見た目は気に入っていますか?ボタンが適切な場所にきちんと並んでいるか、テキストがボックスにどのように収まっているかなど、小さな詳細に細心の注意を払ってください。優れたクリーンなデザインは、多くの場合、バックエンドでの熟練した作業の指標です。もっと言えば、表面的なずさんなミスは、その裏にあるずさんなコードを示していることが多いのです。開発者がバグ修正をどの程度うまく処理しているかを把握するために、開発プロセスについて必ず彼らのリファレンスに尋ねてください。すべてのソフトウェアにはバグがあり、優れたプログラマーとそうでないプログラマーの最も大きな違いの一つは、コードに発生したバグの修正をどのように処理するかです。

3. 納期は守られますか? – 十分な時間と資金があれば、誰でもアプリを開発できます。しかし、ここで話題にしているのはあなたのお金と時間です。ですから、実際に動作するアプリを納期通りに納品した実績のある請負業者を選ぶ必要があります。繰り返しになりますが、紹介者を必ず確認してください。

アプリのスコープを定義する

コミュニケーション能力、過去の仕事、出荷実績があなたの精査に耐える候補者を見つけたら、一連の調査を行ってアプリの調査を開始します。

ディスカバリーとは、アプリに何を求め、何をしたいのかという詳細を明らかにすることです。ディスカバリーフェーズを成功させると、期待を明確にし、誤解を解き、実行可能な項目を固めることで、プロジェクトは完了に向けてスムーズに進むようになります。

開発請負業者
発見フェーズでは、開発者と協力してアプリに必要なすべての機能を定義します。

これは、プロジェクトにおいてあなたと開発者が互いに学び合う段階です。優れた開発者は、発見フェーズで熱心に耳を傾け、綿密なメモを取り、思慮深い質問をすることで、あなたの目標や目的のニュアンスをより深く理解します。

このプロセスには、優秀な請負業者だけでなく、優秀なクライアントも必要であることを念頭に置いてください。以下の点を準備して交渉に臨めば、優秀なクライアントになれるでしょう。

1. アプリの具体的な内容を明確に説明します。開発者にどのようなアプリを開発してほしいかまだ決まっていない場合は、決定するまで待ってください。

2. アプリに必要な主要機能の簡潔なリスト。必要不可欠な機能だけに絞りましょう。アプリをアプリたらしめる、最も基本的な機能だけに絞ってください

3. オプションの「あったらいいな」機能の優先順位リスト。これらは、アプリを楽しく興味深いものにする便利な追加機能です。必須機能とは別のリストに載せたからといって、それらを省略しなければならないと考える必要はありません。優秀な開発者は、これらの機能をプロジェクトのスコープに組み込むために協力してくれます。優先順位を付けることで、期限通りにリリースされ、お客様にとって最も重要な機能を備えた優れたアプリを完成させられる可能性が高まります。

4. あなたが気に入っている類似アプリの例。多ければ多いほど良いです。他のアプリの何が気に入っているのかを明確に伝えましょう。あなたが気に入っている点を知り、理解することで、開発者の仕事が楽になり、最終的には時間と費用の節約にもつながります。

施工業者から最初に追加情報やアイデアを求められるかもしれません。これらをすべて収集したら、開発者とじっくり話し合い、すべてを確認してください。彼らの質問にはできる限り詳しく答え、できるだけ表現豊かに答えましょう。

常に、優先順位を明確にしておくことが重要です。ソフトウェア開発は一般的に妥協の連続であり、特定の機能を追加すると、他の機能を開発する能力が制限される可能性があります。何が自分にとって最も重要かを明確に理解していればいるほど、相反する2つの選択肢から選ばざるを得なくなった際に、より的確に決断できるようになります。

プロジェクトのタイムライン、出荷予定日、そしてプロジェクトの様々なコンポーネントの暫定的な期限について、明確にコミュニケーションを取りましょう。また、アプリの今後のサポートについて、開発者とどのように対応していくかについても明確にしておきましょう。開発者は出荷後も一定期間、バグ修正に対応してくれるのでしょうか?それとも、別途契約に基づいて対応するのでしょうか?これらの詳細は書面で確認しておきましょう。あなたも開発者も、この点で予期せぬ事態に巻き込まれることを望んでいません。

ディスカバリーフェーズの後、開発者はプロジェクトの全範囲を網羅したドキュメントをいくつか提示します。署名する前に、必ず行ごとに、図ごとに、これらのドキュメントを綿密に確認してください。これらのスコープドキュメントは、プロジェクトの全体像と、すべての作業が完了した後に期待される成果物を示すものです。ほとんどの請負業者は、プロジェクトスコープに明示的に含まれていない機能やデザインの変更を後から要求した場合、追加料金を請求します。現時点で何か問題があると思われる場合は、署名する前に伝え、修正してもらいましょう。

締め切り、締め切り

プロジェクトスコープの承認が完了すると、開発者はアプリの構築に取り掛かります。シンプルなアプリであれば、開発者は数週間ほど留守にし、その後、動作するコードを作成して戻ってくることを想定してください。より複雑なアプリの場合は、プロジェクトの特定の部分に複数の期限が設けられる場合があります。これらの詳細は、プロジェクトスコープに明記する必要があります。

このプロセスにおける重要な点は、完成したコードを徹底的に検証し、期待通りであり、プロジェクトのスコープに準拠していることを確認することです。開発者は、あなたが検討している機能について、詳細なデモンストレーションを行い、詳細を説明し、実際に試用する機会を与えるべきです。繰り返しますが、何かおかしい点があれば、今すぐに声を上げてください。あなたが見ているのは初期のコードだけで、開発者はあなたが気づいているバグや問題点の一部またはすべてを認識している可能性もありますが、それを当てにしてはいけません。

発送します!

21世紀において、完成したソフトウェアなど存在しません。アプリは最新のセキュリティ脅威に対抗するためにアップデートを必要とし、ユーザーは常に新しい機能を求めています。アプリがリリースされたら、開発者とシャンパンを一杯飲みながら少し時間を取り、次のステップの計画を立て始めましょう。

Otpoo

Health writer and researcher with expertise in evidence-based medicine and healthcare information.