ぼくはお仕事で業務アプリを作っています。
主にWindowsのアプリや、組込みソフトウェアを作ったりします。
そんな中で思ったことを書いていきます。
どうも本命に注力しがち
案件が発生して、作るべきアプリがあって。
諸々の上流工程からプログラム作成、検証まで行って……
これがざっくりした1つの工程である。
だけどここ最近、改めて「本来作るべきプログラムだけ」を組んでてもダメだなって感じました。
検証作業時間を縮小したい
なんでかっていうと
- かなりのデータ量があるもの
- 一定のフォーマットに沿って何かをやり取りするもの
- 一定のフォーマットに沿って何かを入出力するもの
これらは入出力結果などで、「それが正しか?」を検証しなければならない。
当たり前ですよね。
検証しないといけないという事は、その分データが無いといけない。
なので本来なら、「データを生成するプログラム、または仕組み」を別途組むのが効率高いですよね。
でも最近よくあるのが、
- 他も手一杯で忙しすぎる
- 案件が短納期で時間がない
主に「時間がない」が原因で、「効率よくすること」がないがしろな状態になってしまう。
「時間がないが故に効率化すべき」
というのが本来だと思います。
でもその時間すらないとか……鬼畜かな?
効率化できない代償
この「時間がないからできない」は、そのせいで
- 試験の効率が悪くなる
- 検証の網羅性が悪くなる
などの弊害を引き起こします。
この「効率化できていない」の影響は、このNGの時に更に大ダメージを与えるのです。
いざ不具合が発覚したときに
- 検証内容が潤沢でなくなる
- 検証に膨大な時間がかかる
試験の自動化
ネットを見ていると、「試験の自動化」ってものが、どんどん当たり前になってきているのかなーと、思っています。
でも、それができていない所って、まだ全然あるのかな……とも思っています。
そして自分が身を置く場所もそんなわけで。
あとがき
かくいう自身も、方法を確立できていないという点が弱点だなと思いました。
(少しやったことある程度)
結局本筋の「作らなきゃいけないもの」の為の、「サブツール」的なモノが必要なんだよな。
と、思ってやまないここ最近諸々の社畜った日々であった。