プログラマの消える日

RSS

2005年08月31日

  • 日向 康一

業務システムにおけるウォーターフォール型の開発工程は、(1)要件定義、(2)設計、(3)開発・構築、(4)単体テスト・結合テスト、(5)総合テストに分類され、上流工程である(1)(2)(5)はシステムエンジニア(SE)を中心に対応し、プログラマは主に(3)(4)の下流工程を担当する。プログラマの活躍の場となる下流工程について、特定のプログラミング言語を習得した専門のスキルを持つプログラマが大量に必要とされるが、国内で充分な開発要員を揃えることが困難であった。このためシステム開発を担うIT企業は中国など海外へのオフショア開発を推進することで、人員不足の解消と同時に開発コストの削減を推進してきている。

その一方で、このオフショア開発は開発拠点をより人件費の安価な国・地域に移しただけで、特定のプログラミング言語を使用した開発手法という点では何ら変わらず、また言語や習慣の違いもあり、生産性や品質の向上が困難であるという問題に直面している。プログラミング言語を用いた開発では、手作業でのコーディングが大量に発生するため、記述ルールを定めても遵守させることが難しく、その生産性や品質は個々のプログラマの能力・資質によるところが大きいのである。

このような開発環境では、専門的な知識・技術を持ったプログラマによる開発体制を継続的に維持する必要があるが、多くの企業がオフショア開発に乗り出している中、高度なスキルを持った開発要員の確保が難しくなっている。さらにプログラムをメンテナンスする際には、ドキュメントとプログラムが一致している保証が無いため、再度プログラムを解析したり、処理条件を調べなおしたりする作業負荷が大きい。

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

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

実際に私自身が担当したプロジェクトにおいても、Linux OS上の分散環境でETLによるシステム開発を実行しており、以下の評価結果でも述べているとおり、その利用価値は高いと考えている。
 


現在はETLだけでなく、帳票作成を支援するツールやOLAPツールなどコーディングレスを支援する開発ツールは多岐にわたる。これらツールを利用することで、専門のスキルを持たない一般の職員が直接プログラム開発を担うことも可能になりつつある。最近では専門職としてのプログラマの地位は相対的に低くなってきており、結果、中国などオフショアのプログラマによる開発作業はその優位性が崩れてきている。

今後は中国をはじめとする海外拠点でのオフショア開発から、国内を拠点とする開発体制に回帰する動きが加速することが十分に考えられるが、その際に活用される人材として、価格競争力のある一般の派遣社員に注目が集まることは間違いない。つまり、システム開発という作業はより一般化していき、プログラマという職種がなくなるという時代が近づきつつあるといえよう。

 

このコンテンツの著作権は、株式会社大和総研に帰属します。著作権法上、転載、翻案、翻訳、要約等は、大和総研の許諾が必要です。大和総研の許諾がない転載、翻案、翻訳、要約、および法令に従わない引用等は、違法行為です。著作権侵害等の行為には、法的手続きを行うこともあります。また、掲載されている執筆者の所属・肩書きは現時点のものとなります。