より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

ぼくのかんがえたさいきょうのバッチ処理←簡潔にして

職場のあるバッチ処理の調査とドキュメント作成をしていて思うところ。

10ほどのタスクがWindows のタスクスケジューラ上で動いて一つのバッチ処理です。

いわゆるところのETL処理です。

  1. 複数のデータソースから抽出
  2. 適宜、必要に応じて変換
  3. 一つの統合的なデータソースへ出力

こうした複雑なシステムに関しては職場ではVisioを使ってデータフロー図にすることが多いので、データフロー図を作成していました。

f:id:rimever:20190328073238p:plain
これはイメージです

それだけではわからないので、各タスクのタイムラインとクリティカルパスまで作成してました。

書いていてこんなの今時、ドラマの人間関係でもやらない複雑さです。

ちょうど昼にとある会社の記事を見つけました。

そもそも次元が違う記事だったのですが、ふと思うのは

なんで他の会社の図を見たらスゲーと思うのに、いざ自分のを書いていると不安しか覚えないんだ

本質的には、複数のプロセスが連動して動いていることは確かですなのに真逆の反応をしてしまうのは不思議なものです。

書いていてつくづく思うのは図に書いたとき、より簡潔な形になるような構成を目指すべきだということでした。

例えば、自分で書いている図を見返すと

  • 矢印が下から上に行ったり、戻ってしまう
  • なくてもいいタスクがある

こうした紛らわしいことが散見されてました。

図に書いている時点で、書き間違えや取り違えが既に起きてました。複雑すぎるのだと。

まだ図に書き起こしている間は楽しい時間です。

図が完成しても自分の考えたシステムなどと喜んでられません。不安しか覚えません。

障害が起きたら、この図を見ながら対応策を考えることになるのです。

いや、やりたくないですけど。

ただ実際に構築する前に一度図にしてみてなるべく簡潔にするのが望ましいです。

もちろん、いざ構築してみたら変えざるをえない箇所もありますので、改めて図に起こして簡潔に出来そうなら、構成変更を検討した方が良さそうです。

とにかく簡潔にです。