プログラマの消える日

 大和総研のコラムで、【プログラマの消える日】という気になるエントリがあった。

プログラマの消える日 | コラム | 大和総研グループ

 ETLという新しいソフトウェア開発技法を使えば、生産性及び品質が向上するという。

オフショア開発により人員不足の解消とコスト削減という目標を達成したかに見えるIT企業であるが、生産性や品質面での向上という課題は依然として残されている。これらの課題を克服するために、最近の開発現場では、例えばETLなどのGUI(Graphical User Interface)ツールを利用したコーディングレスの開発手法を取り入れる動きがある。

ETLとはシステムに蓄積されたデータを抽出(Extract)、編集・加工(Transform)し、データベースなどに書き込む(Load)という一連の処理を支援するツールである。従来はプログラミングで実現してきたデータの抽出、変換、計算といった処理が部品化されており、GUIを用いてこれを配列し組み立てる開発手法をとることで、コーディングレスの開発が可能になる。たとえるなら、VISIOなどの描画ソフトで図面をひくような感覚でドラッグ&ドロップで処理順序をデザインし、各種パラメータ(処理条件)を設定するだけで、迅速にプログラム開発ができるのである。

 著者が効果を次の表に纏めていた。

 一定の定型作業に対して、ETL部品(コンポーネント)がほぼ1対1に対応する業務体系では、確かにETLは効果的かもしれないが、ETL部品ではサポートできない特殊な作業については、効果は薄いのではないだろうか。ETL部品で置き換えることが可能な割合に関するデータがないので、断言することは出来ないが、経験上、良くて半々なのではないだろうか?後は、これまで通り、コーディングが必要であるはずである。ETL部品は、ブラックボックス化しており、パラメタを与えるだけでインプリが可能なようであるようだが、逆に言えば、ETL部品を取り巻く非ETL部品(自らコーディングする部分)とのインタフェースが見えづらく、生産性を下げるリスクも有り得る。

 一定の割合までは、ETLを導入することにより生産性・品質を向上するとは思うが、それ以上となると、頭打ちでさほど効果が見られないのではないだろうか。【プログラマの消える日】とは、ちょっと端的な表現であり、【プログラミングの新しい技法】ぐらいの控えめなタイトルが妥当なのではなかろうか。

 また、ETLの性質上、ETLを導入したソフトウェア開発工程には、ETL部品の内部に精通し、特殊なインタフェースを設計可能なETLの専門スペシャリスト、及び、ETL部品を組み合わせて機能を実装するアプリケーションエンジニア(プログラミング工程の上流工程を担当)が若干名、必要になってくるため、プログラマの全体数としては、そんなに変わらないのではないかと思っている。

(注)大和総研・広報担当様のご好意によりコラムの引用許可を頂いております。ここにて、お礼を申し上げます。