制作と開発は、その性質や目標において大きな違いがあります。本記事では「制作」と「開発」の違いをご紹介します。目次制作のお仕事開発のお仕事担当範囲=責任の違いバグの認識の違いそれぞれのゴールの違いまとめ制作のお仕事ホームページやLP、サイト制作のお仕事です。具体例はhtml/css、jQuery/javascript、WordPressを使った仕事です。最近だとjQueryの部分がvue.jsになったりしています。作るものが決まっているため、要件や仕様、スケジュールと納期がはっきりとしていることが多いです。制作の仕事は作業速度に依存することが多いので1人でも仕事を進めることが不可能ではありません。開発のお仕事システムを開発するお仕事です。要件や要求要望によりスケジュールは変動します。開発のお仕事に求められるのは以下の代表的な工程をこなす能力です。(以下について細かい定義の緒論はあると思いますが、工程の目的ベースの記述をしています)・基本設計 / 必要な技術を選定する能力・データ設計 / システムのあり方を作る能力・ロジック設計 / システムはデータをどう扱うかを作る能力・テスト設計 / エラーをどのように取り扱うかを作る能力・セキュリティ設計 / 守るものと、守り方を決める能力・運用設計 / 継続して使用することを決める能力・調査 / 不確実な情報を確実な情報に変える能力・調整 / 要件やスケジュールが変更になった時に対応するのこれだけの能力を1人で保持している人は非常に希ですので、開発の仕事は複数人でチームを組んで取り組むことが多いのです。担当範囲=責任の違い制作と開発の仕事では担当する範囲が違います。制作の仕事は「決まっていることを実現する」ことが求められます。開発の仕事は「決まっていないことも実現し、運用できる」ことが求められます。制作の仕事は決まってないことについては着手することができませんし、実装する側は要件を求めることができます。開発の仕事は決まってないことに対応することも含まれますので、調査や決断のための準備も含まれます。決まってない要件をクライアントに求めても回答を持っていないケースが存在し、要件を決めるための”調査”が必要となり、調査結果によって要件が変わることがありますので、実現可能なスケジュールは変動します。バグの認識の違い制作のお仕事では「要件通りに動いていないこと」では完了になりませんのでバグとなり、制作サイドの責任の範囲内で対応することが求められます。契約時に予め決められていたことを実現できていないことが契約不適合責任(瑕疵担保責任)として取り扱われることが法律で定められてるからです(民法、商法)制作におけるテスト期間とは決めたことが決めた通りになっているか確認することが目的です。開発のお仕事では「要件通りに動いていないこと」を決めることは本来であれば非常に難しいことです。理由は開発のお仕事の性質は「見たことないものを実現する」という根本に存在し、これを証明するためにテスト期間という試験・検証を行うのです。開発におけるテスト期間とは能力の低い見習い人員が試験項目を消化することが目的ではなく、判明していなかった事実を見えるようにすることが目的です。それぞれのゴールの違い前提として契約で定められたことがあるのであれば優先して頂いて問題ありませんが、経営者から見た両者の仕事のゴールは以下の違いがあります。制作の仕事は作ったものを納品する/してもらうことがゴールです。開発の仕事は作ったものがどのような効果を発揮するのか確認することがゴールです。制作の仕事の納期は、開発の仕事の納期よりも短い場合が多いため、プロジェクト期間内でゴールを見失うことは希です。一方で開発の仕事はスケジュールが伸びることが多く、長期化したプロジェクトでは参画メンバーのゴールへの認識がズレることがあります。開発しているサービスやプロダクトを完成させることがゴールと錯覚し、本来の目的である「どのような効果を発揮するのか」がロストしてしまうことが度々発生します。テスト期間を省略するプロジェクトはこの傾向が強く現れています。制作と開発ではゴールが違うことを理解しないで仕事を進めると発注する側、受注する側の両者にとって損する結果となる場合が多いです。まとめ技術やスキルではなく、仕事の性質上からの対比を行いました。なぜ制作の仕事の単価が開発の仕事の単価よりも低いのか、なぜ開発の仕事が制作の仕事よりもスケジュールが長くなってしまうのかなどの理由は、実は両者の仕事の性質の違いにあります。発注する側、受注する側の両者にとって想定外コストとなる部分がどこにあるのかを探るヒントになればと思い本稿を投稿しました。皆様の参考になれば幸甚です。