システム開発では「上流工程」「下流工程」という言い方をする(明確な定義はないようなので、ここでは要件定義を上流工程とする)。筆者はこの上流・下流という言い方が好きではない。 「上流階級」「下層階級」という言葉からの連想で、下流より上流の方が高級な仕事をしている印象を受ける。エンジニアの中には、上流工程を主に担う「コンサルタント」に憧れを抱き、転職して名刺にその肩書が付いただけで偉くなった気になってしまう人までいる。実際には、仕事の内容が違うだけのことで、エンジニアの仕事と比べて特段高級なことをしているわけではない。 とはいえ、大手システム開発会社の上流志向は、顕著になってきている。会社ごとに事情はいろいろだが、実装工程がオフショアの形でグローバルな競争にさらされているため、海外勢が参入しにくい上流工程にシフトしたいという経営的な理由が大きい。 この流れの中で、「下流工程の経験を積むことなく