納品されたスクリプトが手元で動かない。腕の問題ではない3つの原因

納品されたスクリプトが手元で動かない。腕の問題ではない3つの原因

記事
IT・テクノロジー
「動作確認済みです」と納品されたスクリプトを、自分のパソコンで実行したらエラーで止まった。制作者に聞くと「こちらでは動いています」と返ってくる。画面の写真を送り、何度かやり取りをして、やっと動いたのは三日後。修正のたびに待ち時間が生まれ、頼んだ本人がいちばん疲れる。外注をしていると、一度はこういう場面に出会います。

これは制作者の腕が悪いから起きるのではありません。着手する前に「どこで、何を前提に、何をもって動いたとするか」が決まっていないから起きます。作る側と使う側で前提が食い違ったまま作業が進み、納品の瞬間にその食い違いが表に出るだけです。原因を3つに絞ってお話しします。

1. 動かす場所が決まっていない


スクリプトは「どこで動かすか」で書き方が変わります。WindowsかMacか。個人のパソコンか会社の共用パソコンか。スプレッドシートなら、どのアカウントで開くのか、そのアカウントに書き込みの権限があるのか。制作者は自分の手元で作るので、指定がなければ自分の手元と同じ場所を想定します。使う側の場所が違えば、同じものが動かないのは自然なことです。

依頼のときに「この機械で、このアカウントで動かす」と一行書くだけで、この食い違いはほぼ消えます。

2. 手で動かすと動くのに、自動だと止まる


これは私自身が踏んだものです。私はコンテンツ制作を毎日決まった時刻に無人で回す仕組みを自分で組んで運用しています。作った直後、手で実行すると問題なく通るのに、時刻が来て自動で動くと途中で止まる、ということが起きました。

原因は、手で動かすときには読み込まれている設定値が、自動で動くときには読み込まれていなかったことでした。接続先の鍵や、道具の置き場所といった情報です。人が操作する画面の裏側には、本人も意識していない前提がたくさん乗っています。無人で動かす瞬間、その前提がいっせいに外れます。

納品されたスクリプトが手元で動かないときも、同じことがよく起きています。制作者の手元にだけある設定値が、納品物に入っていないのです。「動かすのに要る設定値の一覧」を納品物に含めてもらうよう、最初に頼んでおくと後が楽です。

3. 「動いた」の確認方法が決まっていない


制作者は、渡されたサンプルの表で動作確認をします。ところが本番の表には、空の行、全角の数字、途中で変わる列の順番、結合されたセルが混ざっています。サンプルでは通ったものが、本番のデータで止まる。これは制作者が手を抜いたのではなく、本番の姿を知らされていなかっただけです。

「本番と同じ形の表を、個人情報を消したうえで一枚渡す」「この表で、この結果が出たら完成とする」。この二つを着手前に決めておくと、納品後の「動かない」はかなり減ります。

まとめ


動かない原因の多くは、腕ではなく、着手前に決まっていなかったことです。どこで動かすか、何を前提にするか、何をもって完成とするか。この三つが依頼文にあるだけで、作る側もそこに合わせて作れます。

私はココナラで、スプレッドシートの集計や転記を自動化するサービスを出しています。着手前に上の三つを一緒に確認し、動かすのに要る設定値の一覧と、本番と同じ形の表での確認結果を添えて納品する形で受けています。

▼ サービスページはこちら
スプレッドシートの集計や転記を自動化します

※この記事は生成AIを併用して書き、内容は自分で確認しています。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す