SEとプログラマー

RSS

2005年06月24日

  • フロンティア研究開発センター長 田中 宏太郎

業務システム構築の工程については様々な分類があるが、いわゆるウォーターフォール型で言うと(1)要件定義、(2)基本設計、(3)詳細設計、(4)構築・テスト、などとなる。この(1)(2)が上流工程と呼ばれ、システムエンジニア(SE)が中心に担当し、(3)(4)が下流工程と呼ばれ、プログラマーが中心に担当する。

ソフトウェア開発会社に入社すると、通常はプログラマーからスタートしてSEへ、つまり下流工程から上流工程にシフトしていくキャリアパスが多い。上流工程を担当するようになると、下流工程ではマネージャーやリーダーとして参加することが多く、その結果、責任範囲も広がり、収入も増える。またSEは顧客と接することが多いので、顧客の満足度を知ることができ、やりがいもより高まる。早く下流工程を“卒業”して上流工程へ移りたい…。ソフトウェア技術者であれば誰でも一度は考えることであろう。

この“卒業”について、少し考えたい。というのも、下流工程を上流工程と比べて難易度の低い仕事、作業的な仕事と捉えているユーザやプログラマーが少なくないように思えるからである。

ISO9126では、ソフトウェア品質を示す6つの「品質特性」とその下位の「品質副特性」を定めている。品質特性のひとつである「機能性」は“ソフトウェアが必要な機能を実現している度合い”を指し、それらは副特性である「合目的性」、「正確性」等に分かれる。 合目的性とは“明示された仕事に対する機能の集合が存在し、適切であることをもたらすソフトウェアの属性”であり、一言で言えば、ユーザの要求と設計がどれだけ合致しているかを表す度合いである。この品質は主としてSEに依存する。一方、正確性は“正しい結果もしくは正しい効果、または同意できる結果もしくは同意できる効果をもたらすソフトウェアの属性”であり、一言で言えば、設計内容とプログラムがどれだけ合致しているかを表す度合いとなる。この品質は主としてプログラマーに依存する。

すなわち、SE・プログラマーはそれぞれ異なる品質を対象としており、そこには、品質を維持・向上させるための技術が、別個に存在する。したがってSE・プログラマーに序列などなく、仕事の種類が異なるだけなのである。ただし、プログラマーの業務を経験することなく質の高いSEになることは無理であろう。下流工程の経験がないと、上流工程において必要なプロジェクトの規模感やリスク感覚、自社が不得意な分野について社外の資源を活用しようとする発想力がどうしても身につかない。プロ野球に例えれば、名選手は必ずしも名監督になれないかもしれないが、野球の未経験者や経験の浅い者が名監督になったなどという話は聞いたことがないのと同じである。

上流工程をめざす人材は、ある程度の期間、しっかりと下流工程を行うべきである。下流工程は、決して“下等”工程ではない。むしろ、下流工程で上流工程を意識したソフトウェアの品質向上策のネタ・意識を、いかに“仕込み”、また実践しておくかが、その人材の将来の伸びを大きく左右するであろう。

 

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