私はPPCアフィリエイトに取り組んでいたころ、キーワードを絞り込む機能をシステムエンジニアに作ってもらい、ツールとして商品化しようとしました。
しかし、ツールは完成しませんでした。開発の途中で、そのエンジニアと連絡が取れなくなったからです。
当時の契約内容、支払った正確な金額、どこまで実装されていたか、途中のコードを受け取っていたか。今の私には、事実として説明できる記録が残っていません。
外注開発の失敗は、相手と連絡が取れなくなった瞬間だけに起きたのではありません。連絡が止まっても、発注者である自分が進捗と成果物を確認し、別の人へ引き継げる形を作っていなかったことが大きな問題でした。
PPCの絞り込みワード機能を、商品にしたかった
2010年ごろ、私はYahoo!広告を使ったPPCアフィリエイトで、化粧品や健康食品などを扱っていました。確定報酬約80万円、広告費20万〜30万円、利益50万〜60万円ほどの月もあります。
PPCでは、どのキーワードへ広告を出し、どの言葉を除き、商品につながる検索を残すかが作業の一部でした。その絞り込みを効率化できる機能に、他の実践者にも使える価値があると考えました。
そこで、システムエンジニアへ開発を依頼しました。自分で使う機能だけでなく、販売できる商品にしようとしたのです。

結果は、未完成のまま連絡が取れなくなり、商品化できませんでした。PPC本体の利益が出ていた経験はあっても、ソフトウェアを発注し、完成させ、販売できる状態にする経験は別物でした。
私は「作りたい機能」と「販売できる商品」を一緒にしていた
作業を楽にする機能は、利用者の課題の一部にすぎない
私には、キーワードを絞り込むという具体的な要望がありました。しかし、商品として販売するなら、誰が、どんなデータを入れ、何を基準に絞り、結果をどう使うかまで決める必要があります。
さらに、初期設定、説明、エラー時の対応、媒体側の仕様変更、利用者からの問い合わせも発生します。中心機能が動くことと、継続して提供できる商品になることは同じではありません。
完成形を依頼する前に、手作業で価値を確かめるべきだった
今なら、最初から販売用ツール全体を作ろうとはしません。代表的なデータを少量用意し、絞り込み前と後で作業がどう変わるかを、表計算や手作業でも確かめます。
その結果を実際の利用候補へ見せ、「何が便利か」「どこが足りないか」を確認してから、最小の一機能を開発します。コードを書く前に、作る価値と完成条件を小さく固める段階です。
連絡が途絶えたとき、手元に残るべきだった4つ

1. 機能定義:何を入力し、何が出れば完成か
「絞り込みツール」だけでは、人によって完成像が違います。入力データ、操作、出力結果、対応しない範囲を一枚にします。要望を増やすときも、最初の一枚との差分で話せます。
2. 途中成果:一段ごとに動くものと確認結果
画面だけ、データの取込みだけ、絞り込み結果だけでも、区切って確認できれば進捗が見えます。「何%できた」という連絡ではなく、決めた例を実行して期待した結果になるかで見ます。
3. 保管場所:コード・仕様・アカウントを発注者も確認する
開発者のパソコンや個人アカウントだけに成果物があると、連絡が止まった時点で見えなくなります。発注者も確認できる共有場所に、最新版のコード、仕様、テスト結果、必要な設定を置く形を決めます。
4. 引き継ぎ条件:別の人が続きを判断できる情報
どの環境で動くか、未完成の箇所はどこか、次に何をすべきか、利用している外部サービスは何かを残します。コードがあっても、動かし方と現在地が分からなければ、次の開発者は調査からやり直します。
外注前に作る、5つの小さな成果物

1枚要件:目的、利用者、入力、出力、対象外
長い企画書より先に、誰のどんな作業を減らすのかを書きます。入力例と期待する出力例を一つずつ添え、今回は作らないものも決めます。
最小版:一つの価値だけを動かす
ログイン、決済、複数機能を最初から揃えず、中心となる処理だけを試します。私の例なら、代表データに対して意図した絞り込み結果が出るところまでです。
検収例:完成を会話ではなく操作で決める
このデータを入れ、この操作をすると、この結果になる。確認例を先に作ります。エラー時や対象外データの扱いも、最低限の例を決めます。
共有保管:途中から発注者も見られるようにする
コード、設計メモ、テスト結果、利用サービスの一覧を、合意した共有場所へ継続的に置きます。アカウントの所有者やアクセス権も、運用を始める前に確認します。
引き継ぎ:止める場合の受渡しまで先に決める
誰かを責めるためではなく、体調、事情、方針変更で開発が止まる可能性を前提にします。最終連絡日、途中成果の受渡し、アクセス権の整理、未完了一覧をどう残すかを決めます。
契約の種類や権利、支払条件は案件ごとに異なります。IPAは、仕様やプロジェクト管理方法、検収方法などを契約時に共通理解するための情報システム・モデル取引・契約書を公開しています。自分の案件へそのまま貼るのではなく、専門家へ相談する際の論点確認にも使えます。
外注は、考える仕事まで手放すことではない
私はPPCを実践していたので、絞り込み機能が欲しい理由は分かっていました。しかし、利用者、最小機能、完成例、保管、引き継ぎまで発注者の仕事として分けていませんでした。
開発者に必要なのは、曖昧なアイデアを察して完成品へ変えることではありません。発注者と一緒に不明点を見つけ、合意した小さな成果を積み上げることです。その土台は、発注する側も用意しなければなりません。
次に外注するなら、完成した商品を待つのではなく、1枚要件、最小版、検収例、共有保管、引き継ぎを一段ずつ手元へ残します。相手と連絡が取れなくなっても、プロジェクトの現在地まで消えない形にします。
このツールを考えるきっかけになったPPCの実体験はPPCアフィリエイトで月利益50万〜60万円から撤退した話、外部環境への依存は会社依存を減らそうとして別の依存に気づいた話にまとめています。
