テーマを戻して下流工程の話をいくつか。
情報システム開発プロジェクトでは、早い段階に行う「要件定義」や「基本設計」を「上流工程」、その後に行うプログラム開発やテストなどを「下流工程」と呼ぶことがあります。
その呼び方が原因で、たまに勘違いしている人がいます。
「上流工程は『上流』なのだから、その担当者は『下流』工程より上級なのだ」
という発想です。
たしかに、主にプログラミングスキルが要求される「下流工程」に比較して、「上流工程」は必要とされるスキルの取得が困難で、経験豊富なベテランエンジニアが担当することが多い工程です。
でも、そのことと「上下」とは話が違います。
日本語の「上下」を身分というか、いわゆる「上下関係」のイメージでとらえてしまうのですね。
これ、大きな間違いです。
本来、「上流工程」「下流工程」の呼び方は、川の流れの「上流」「下流」から来たもので、流通業界でいうところの「川上(製造業)」「川下(小売業)」と同じ構図です。
単なる「順番」なのですね。
ところが、どうもこの国のIT業界は「下流工程」の重要性をあまり認識してこなかったように思います。
(「下」だから、というわけではないのでしょうが…)
人手が多くかかる「プログラミング」(つまり下流工程)を、人件費の安い海外に発注する、いわゆる「オフショア開発」が多く見られるようになったのは、20年以上前からでしょうか。
その結果、現在この国のITエンジニアには、若いうちにしっかりと「下流工程」を学んだ人材が少なくなってしまいました。
しかし、いわゆる「プログラミングスキル」には、「コンピュータの構造」とか「モジュール構造やオブジェクトモデル設計のコツ」、「プログラムの標準化」といった、「コンピュータに関わる職業人」として極めて重要な要素がてんこ盛りに含まれています。
この国の若きITエンジニアの皆さん。
ぜひ、「下流工程」を大切にしてください。