VBAの請負開発をするときの基本的なフローを紹介しようと思います。
こんな人に向けて書いてます。
私のVBAの経歴は全部8年ほどで、今は会社の業務としてVBAの請負開発をしています。
- 大学の研究室時代:見よう見まねで2年間
- 自分の仕事の自動化:5年間
- 請負開発:1年間
請負開発をするとき、どんな流れになるのか気になる人も多いのではないかと思い、記事にまとめることにしました。
ちなみに、タイトルに①とつけていることもあり、続編も書く予定です。
①依頼書の受領
VBAの請負開発用に専用の依頼書フォーマットを作成しています。
依頼書を受け取ったら自動化したい内容を確認し、特に現在の作業時間がどの程度かかっているかを気にします。
月10時間ぐらいであれば年120時間になるので、十分自動化する価値があると思います。
あまりに少ない場合は、自分が投入する開発時間に見合わないので断ることもあります。
②詳細の打ち合わせorメール
依頼書だけで仕様を完璧にすることは難しいです。
そのため、依頼者と打ち合わせをして依頼書からでは読み取れない部分の打ち合わせをします。
依頼書がかなり具体的に書かれている場合はメールのみでやり取して終わらせる場合もあります。
処理内容によっては、エクセル関数で完結させる方法も提案することがあります。
VBAにしてしまうと処理のブラックボックス化につながるので、エクセル関数で事足りるのであればその方が理想的です。
エクセル関数だけで解決する例として「シート名の自動取得」なんてこともVBAを使わずに実現できます。
③仕様書の作成
次にVBAの仕様書を作成します。
現在の作業をどのような形で処理させるか、双方同意するための資料です。
今のところ揉めたことはないのですが、後々揉めた場合は自分に非がないことを証明するために使うのでとても重要です。
入力フォームや、アウトプットされた状態をエクセルで作成し、プリントスクリーンを多用して仕様書を作成しています。
《Coming》仕様書に内容についても紹介記事を書きました。
仕様書を作成するときは並行して次の2つの作業もしています。
- 不明点のヒアリング
- 実装可能かの確認
具体的な仕様に落とし込んでいく中で、打ち合わせの中では気付かなかった細かな点が決めきれないことがあります。こうした細かな不明点をヒアリングします。
これはまで実装経験が無かったコードを書く場合は、想定通りに動作するか確認しておきます。
簡単なテストコードを書き、想定通り動くか予め確認しておきます。
できないことをできると言ってしまうのはまずいですからね。
VBAでグラフ作成までやって欲しいと頼まれたときは、かなり試行錯誤して確認しました。
ネットで検索しても、まずいやり方を紹介しているページが多いため、この記事は一度読んでもらいたいです。
④実装(コーディング)
特にコメントすることは無いかな。
実装が終わったら、使い方の説明書シートを作っています。
これがあると依頼者以外に渡すときに説明不要なので楽になります。
⑤完成品送付と確認依頼
実装が終わったら、完成品を送るとともに動作の確認依頼を出します。
僕の経験として、動作の確認依頼は結構無視されることが多いです。
後になって、変更して欲しいと言われると面倒です。
必ず、納期を付けて動作の確認を依頼をしましょう。
動作確認が終わって初めて依頼がクローズされます。
⑥開発時間と削減時間の把握
依頼がクローズしたら、開発にかかった時間を計算します。
この開発時間と削減時間は自分の成果に関わる部分なのでいい加減にしてはいけません。
例えば、開発時間が20時間に対して、削減時間が年120時間ならば上出来です。
20時間の投資で、年120時間のリターンを得た訳です。
投資に対してどれだけの収益(リターン)を得たかという指標としてROI(Return On Investment)というものがあります。
ROI(%)=収益÷投資
僕の感覚としてはROIが年200%を超えれば、十分な効果があったと思います。
ここまでやって上司に報告すれば請負開発は終了です。
番外編:請負開発の最初にやったこと
請負開発を始めたとき、最初は宣伝活動をやりました。
エクセルVBAでこんなことができますよ、依頼はこんな手順で進みます、といった内容をパワーポイントでまとめてばらまきました。
最初は依頼が無くてヤキモキしてたのですが、想定していなかった部署からちょくちょく依頼が舞い込んできました。
請負開発をするときには、依頼書や紹介資料を作って、たくさん宣伝するのがとても大事だと思います。
最後に、おすすめの本を1つ紹介します。
VBAの初心者です、という人にはすごい改善さんのこの本をおすすめしています。
こちらの記事も合わせてどうぞ。