上流とか下流とかって

今回の目標管理でもそうだけど、なーんか上長やら部署の人と話すときに噛み合ってないんですよね。「早く上流工程を受け持てるようになろう」とか言われても、何か違和感があるんだけど。うちの部署はSAP関連なのでコンサルを目指す人の割合が多いのは分かるのですが、それでも何だかな…

けど、ちゃんと理由も説明できずに「何か違う」みたいに部の方針に逆らっても、「KYは引っ込め」と言われかねないのでw。この機会に、少し考えてみることにしました。


お上の言い分

自分の立場からだけ考えていても埒が明かないので、ここは上の人の立場になった(つもりで)考えてみます。想像上でですが、こんな感じかな?

  1. 早く上流工程を受け持って欲しい
  2. じゃないと、高い単価で人を売り出すことができないので利益が上がらないんだよ
  3. 何で上流工程が単価が高いって?それは誰にでもできることではない、難しい仕事だからだよ
  4. 裏を返せば、下流工程の詳細設計やコーディングなんかは誰でもできるんだよ
  5. 誰でもできることは、オフショアなんかで安いところに発注すればいいんだよ
  6. そうしたら、うちでは単価が高いところばかり請け負えて収益改善できるんだよ

自分で考えてていろいろツッコミどころがあるけど、一番のところは4かな。

コーディングは誰でもできるという幻想

体験したわけではないので完全に伝聞でしかないのですが(→下流から見たIT業界: SEとPG、どっちが頭がいい?(1))、一昔前ならばある程度正しかったのかもしれません。パンチカードを用いた開発では、コーディング作業は根気さえあれば誰でもできる作業だったのでしょう。また、一人一端末が使えるようになった後も、非常に単純な処理ロジックしかなければ特に考えずに素直に設計・コーディングできたのでしょうし、誰がやっても同じようなプログラムコードになったのでしょう。

しかし、現在のシステム開発ではそんなことはありません。例え同じような仕様からでも、作る人によってまったく違ったコードが出来上がるでしょう。クラス構成からして、適切にクラス分けができる人・1クラス1メインメソッドに全て突っ込む人…。また、人によって生産性や出来上がったコードの保守性・効率性などが全然違います。

もちろん、最低限作るだけなら確かに誰でもできるかもしれません。が、コードの品質や生産性まで一緒とは現場でやってる人なら誰も思っていないでしょう。けれど、契約や評価上は十把一絡げ*1で扱われています。分けられていても、せいぜい4,5段階でしょう。

つまり、私は「(質の高い)コーディングは誰でもできるわけではない ⇒ できる者には高い単価を出すべき」と考えています。それこそ、上流工程の人と同じ程度の扱いを。


上流?下流?

別に、上流工程より下流工程が偉いとか言うつもりはありません。言いたいことは、上流も下流も同じように認められてしかるべきじゃないの?ということです。認められるというのは、「君はよく頑張っているよ」などの口頭だけではなくて、評価や報酬でという意味も含めてです。

けれど、現状は評価や報酬に関して(少なくとも自分の近いところでは)そうなっているようには見えません。そりゃ、こんな状況じゃ不満こそあれど、誰だって金がもらえる上流の方に流れますよ・・・

そういえば、(ネタ元はどこかで忘れましたが)本来は「工程」を表しているはずの上流・下流という言葉が、暗黙のうちに「階級」とか「身分」を指し示しているような気がしています。上流「工程」に携わる者が、評価や報酬面で上流「階級」にいる。何かおかしいですよね・・・><

*1:今回、正確な読みを初めて知りましたw(→[http://dic.yahoo.co.jp/dsearch?p=%E5%8D%81%E6%8A%8A%E4%B8%80%E7%B5%A1%E3%81%92&enc=UTF-8&stype=1&dtype=0:title])