こんにちは。
ITエンジニアの現場(特に社内の情報システム部門)でよく言われるのが、「下流工程は付加価値が低い」ということ。
ここで下流工程とは、製造工程(プログラミング、単体テスト)を指します。
本当に、そうなのでしょうか?
たしかに、システムの方向性を決定するのは上流工程(要件定義、基本設計、詳細設計)ですが、(実際に手を動かしてシステムを作り上げる)下流工程は、システムの「使い勝手」の良しあしを決める上で、決して無視できない影響力を持つ業務です。
目次
下流工程を知らないITエンジニアには、上流工程を担当できるはずがない
どれだけ、ユーザからの要望をまとめるスキルに長けていても、下流工程の経験を持たないITエンジニアは、上流工程をやるべきではないと思います。
例えば、コーディング経験がなければ、以下のような業務を遂行することは、難しくなるでしょう。
- プログラマがスムーズに理解できる設計書を作成すること
- システム開発工数の見積りを高精度で実施すること
- ユーザ要求に、技術的な無理難題が含まれているのに気づくこと
理論的にはパーフェクトだと思える要件定義・設計であっても、ハードウェアやソフトウェア、ネットワークの制約をろくに考慮しないままだと「机上の空論」に陥りかねません。
下流工程のスキルは、上流工程担当者にとっても必須であるといえ、決して「付加価値が低い」と言えるものではありません。
下流工程の外注によって、l開発ノウハウが自社組織から喪失される問題
下流工程(プログラミング、単体テスト)で、外注を活用するという動きは、一般的にみられるものですし、外注活用そのものには「善」も「悪」もありません。
ただし、下流工程の外部依存が長期化すれば、その影響は重く受け止めるべきです。
技術的なスキル・ノウハウが自社から失われていき、以下のような課題が新たに浮上するでしょう。
- 納品されたプログラムソースを読むことができず、十分な精度で検品できない
- 開発経験が失われるため、外注から提出される見積り工数が適切かどうか判断できない
- 世間のIT技術トレンドから、取り残されていくことになりやすい
外注先の企業に、高い技術力と、徹底したコスト感覚が備わっていればよいのですが、どちらかが欠けてしまうと、QCDが大きく損なわれるリスクは目に見えています。
最悪の場合として、外注先の企業が倒産するようなことがあれば、目も当てられないような大混乱が引きおこることは必至。
情報システム部門として、過度の外注依存は、自組織の首を絞めることにもなりかねません。
下流工程を社外移管することによる、自社ITエンジニアの士気低下
ITエンジニアの中には、「技術者」としてのプライドが高く、技術を極めていくことに仕事人生の「やりがい」を感じている人材も少なくありません(かくいう筆者もそうです)。
下流工程を社外移管してしまうと、ITエンジニアとして、技術を磨くチャンスが損なわれ、自社で働くITエンジニアの士気を低下させることにもつながります。
優秀な人材を失うことは、企業にとっても、大きな損害です。
たとえ下流工程で社外リソースを活用することがあっても、コアとなる技術は社内で保有することを重視すべきですし、そうすることによって、社内で働くITエンジニアのモチベーション維持にもなります。