時代の流れを読むITフリーランスは、Javaに注目!
業務の一部だけを外注するという形で業務の効率化を図る企業は多数存在しています。フリーランスとしてその業務の一部を請け負うこともあるでしょう。しかしそのように、クライアントと実際の作業を行うフリーランスとの間に企業が挟まるような状態になった場合、直接クライアントと関わることができず、結果として無茶だと思えるような要求をされてしまうことがあります。これは外注によるデメリットのひとつだと言えるでしょう。
クライアントの無茶な要求というものは、直接作業を行うフリーエンジニアが直接関われないことが原因で発生するズレが原因で起こります。ではこのズレとはどうして発生してしまうのでしょうか。まずクライアントである顧客は、技術者でないことが多いため、本当に必要なものが何かということを明確に説明することができません。その上で安くて良いもの、そして必要なものに何か素敵なものがプラスアルファしたものが納品されたときに初めて納得してもらうことができます。一方、そのクライアントの依頼を受ける営業は、顧客にできるだけ多くお金を出させるということが仕事です。顧客に説明された必要な要件に対して、どんどんオプションを追加していきます。それが例え必要不可欠なものではないとしてもです。
次の過程を請け負うのがアナリストです。アナリストは顧客に近い立場から、顧客が何を要求しているのかを考えてはいますが、実際に要求されたものを見つけ出すことはできません。そのため必要な機能は備わっていながらも、実際に要求されたものとは異なるデザインができあがります。
次にエンジニアに指示を行う立場にあるプロジェクトリーダーがその案件に目を通します。アナリストがデザインした段階では、明らかに構造が不自然なものになっているでしょう。これを自然なものにするために修正します。ところがここで必要な機能が削ぎ落とされてしまうことがあるのです。
その状態でプログラマのところへ案件が回ってきますが、プロジェクトリーダーが必ずしもしっかりとした道筋を示すことができるわけではありません。道筋が説明されない場合、プログラマはできるだけ最短経路を進もうとします。そこでまた必要な要件が落ちていってしまうのです。そして納品されたものをみた顧客は、プログラマの作ったコードから使える部分だけを取り出して運用するという形になるのです。こういった様々な段階でのズレが徐々に大きな形となっていくため、末端のプログラマが最短経路で作ったコードに対して、それができるはずと信じた顧客の無理な注文が飛ぶことになってしまうのです。