会社から自分個人へ作業効率化の話が来た
私事ではありますが、会社から自分個人へVBAを使って作業効率化の話が来ました。
筆者は事務職ですが、VBAは一応SE時代に少しやっていたこともあり、最近頻繁にルーチンワークをVBAを使って実施しています。
そんなこんなで定形の仕事を面倒くさいので、作業効率化していると、会社から自分個人へ作業効率化の話(依頼)が来ました。
納期は急がないとのことで、今勉強しているアジャイル開発を個人でしてみることにしました。
現在進行系なので、これであっているか不明ですがVBAはアジャイル開発に合っている言語ではないかと推測します。
理由はちょっとしたことで、エラーがすぐに起こること、変数をVBEでウォッチできるからです。
ということでVBAを使ってアジャイル開発もどきをしてみることにしました。
VBAを使ってアジャイル開発もどきをしてみる
依頼された仕事は打ち合わせで詳細を詰めて、早速作業に取り掛かります。
まずは動作のフローを手順書にまとめて、仕様書っぽいものを作ります。
仕様書っぽいところで、わかりにくいものはVBAのコメントを使って補足します。
次にVBAを使って、この一つ一つの動作フローをプログラムしていきます。
時々ロジックで悩みながら、少しずつ加えてはリファクタリングを考えて、プログラムの贅肉を削ぎ落とし、次のステップに少しずつ進みます。
やってみてわかりましたが、この作業手順だと30分でも進捗を進めることができます。
ついでにテスト駆動開発も考えてみる
ついでテスト駆動開発もどきもやってみます。
ロジックが単純なものは、わざと誤ったデータを使って潰していき、複雑なものは試行錯誤しながら最終的に誤ったデータを洗い出して、正しいロジックを完成させます。
これは変数の流れがすぐに分かるVBEという便利なツールがExcelには標準で搭載されているため、事務職でもアジャイル開発やテスト駆動開発もどきが簡単にできます。
まとめ
現在進行系で進めている仕事のため、課題が当然出てきます。
途中で仕様の追加漏れがあった場合に、柔軟に対応できるか?というところが今後の検討課題として挙げられます。
ただVBAにはVBEという協力な可視化ツールがあり、エラーに対してツッコミが厳しいので、VBAはアジャイル開発に向いているのではないか、特に事務職で簡単なツールを作る場合という気がします。
プロの方から言えば、ボコボコにされそうな内容で恐縮です。
これから事務職は自動化される云々言われているので、このVBAとPythonを使って色々事務職の工数を削減できるようになり、自動化→解雇→行き場なしという状況を避けたいと考えています。
ご参考になれば幸いです。
コメント