要件定義の問題点

はじめに

会社の雰囲気や要件定義の内容をみれば、おおよそそのプロジェクトが成功するか否かがわかる。うまくいかない場合のユーザー側とシステム会社側の原因の一例である。

・要件定義をシステム会社に任せてしまう
・元請けシステム会社が無理な要件でも受注する
・準委任契約の人材紹介会社がリスクなく利鞘を稼げる
・末端エンジニアの作業遂行以外の責任
・ユーザー側、発注側の担当者が保身する

今回はその背景を説明したい。

要件定義の丸投げ

要件定義をシステム会社に任せてしまう。
要件定義はシステム会社がユーザー企業をヒアリングして作るものではなく、ユーザーとシステム会社が議論を重ねることで答えを出していくものにしなくてはならない。ユーザーが目指すべき姿と、システム会社が実現すべき姿のすり合わせが重要である。

無理な受注

元請けシステム会社が無理な要件でも受注する。
無理な要件でも受注できるのは、発注側にもシステムの知識がないため、ゴールが曖昧なまま元請けシステム会社が請け負ってしまうからである。もし、発注側にITリテラシーがなければ、パワハラなども発生する可能性が高い。したがって、元請けシステム会社に精神的な課題を回避するため、要件定義を作る人でさえも二次受けシステム会社から集めてくることがある。

人材紹介会社の利益構造

準委任契約の人材紹介会社がリスクなく利鞘を稼げる。
システムの完成責任は負わず、作業だけ請け負うことになるため、人さえ集めてくれば、そこでリスクなく利鞘が稼げる。発注側のユーザー企業からすれば、契約は元請けシステム会社であるため、3次請け、4次請けを使おうが、完成さえすればいいと考えていることが多い。

エンジニアの責任範囲

末端エンジニアの作業遂行以外の責任。
末端のエンジニアには、クライアントとの調整や導入、一定品質や納期の遵守など、責任感や危機感がないこともある。プロジェクトの全貌が見えないことも原因である。また、言われたことをやるだけで報酬がそこそこあるのが、システムエンジニアの業界だったりするので、作業をした時間分だけ報酬を支払ってほしい、という話にもなる。

発注側の保身

ユーザー側、発注側の担当者が保身する。
システム開発がうまくいかなかったときに、発注側の担当者がシステム会社に責任を押し付けるといったことがある。これは信頼関係によるもので、共同でプロジェクトを成功させようという目標が作れなかった場合に発生する。システム会社を業者扱いして要件定義を丸投げしてしまわないようにしなければならない。

関連記事

モックアップの料金

要件定義の意義

ユーザーの要件を明確にすることで、開発の方向性がブレず、無駄な修正や手戻りを防ぐことができる。定期的なミーティングやレビューセッションを通じて、開発者はユーザーのニーズを正確に把握し、ドキュメント化やモックアップ化することが重要である。

試作品の価値

SEはユーザーに具体的なイメージを持ってもらうために、プロトタイプやモックアップを作成し、ユーザーに確認してもらうことで、誤解や認識のズレを減らす。これにより、実装後の大幅な変更を回避できる。

モックアップの功罪

モックアップの作成は有料であることが多いようである。また、非エンジニアがシステム技術を意識しないモックアップであれば、その後の開発が複雑になってしまうといったことも考えられる。

ユーザー主導開発

モックアップを用いてユーザーがシステムの機能や開発プロセスについて理解を深めることで、適切なフィードバックを提供することが大切である。開発チームとのコミュニケーションも円滑になり、無駄な手戻りや修正を減少する。

まとめ

システム開発におけるユーザーと開発チームのコミュニケーション改善が、システム開発コストを軽減する。そのためには視覚的にコミュニケーションできるモックアップは重要であろう。

続きを見る >

開発の遅延「技術的にはできます」の罠

素人仕様と開発遅延

なぜ、システム開発の進捗が悪いのか?
それは、ずばり素人が考えた仕様を開発者に伝えてしまうからである。
すべての原因ではないが、もしシステムのユーザー側の現場担当者や営業担当者がシステム仕様を決めている場合は、ほとんどの場合で満足のいくスピード感はだせていない。

潜む技術的負債

システム仕様さえ伝えていれば、きちんと動くものを作ってくれるので、あとはスピードを上げるだけ。と考えているようであれば、技術的負債が溜まっていることに気付けていない。非エンジニアが決して理解できない技術的負債の怖さは、開発スピードが遅いということだけではない。開発者側から見てシステムが複雑になっていて、メンテナンス性も低い状態になっている。

「できます」の罠

非エンジニアには技術的負債は見えないし説明もわからないことと思う。しかし、技術力でカバーしてくれているから、きちんと動いているのだと思っているなら、それは実は技術力ではない。
「技術的にはできます」このような言葉を聞いたことはないか?
システムエンジニアは「できない」と言えない。「できないことはない」ということが価値なので、素人が考えたシステム仕様でも、言われた通りに作ってしまう。

持続可能な開発へ

システムエンジニアから「技術的にはできます」を聞いたときは、いったん立ち止まるべきである。
エンジニアには、様々な影響範囲や未来のメンテナンス性への懸念などが見えている。これを必要以上のコストだと考えるのか、必要コストと考えるのかで、技術的負債は変わる。

まとめ

自分の理解の範囲でしか人間は発想しないので、システムのことを知らない非エンジニアは、システム仕様を考えるべきではないと言える。また逆に、システムにおいてはシステムエンジニアの方が発想の幅は広いが、業務に関する知識は乏しい。
システムをよく知り業務のこともわかるシステムエンジニアがシステム仕様を考えるべきだが、そんな万能な人は多くはない。だから、その間を取り持つ人間が重要なのである。

続きを見る >

オフショア開発発注元として日本企業と競合するアメリカ企業に勝つためには

日本企業は、ソフトウェア開発の分野で、アメリカ企業との競争に直面している。特に、ベトナムをオフショア開発の拠点として活用する場合、アメリカ企業の影響力や優位性を無視できない。しかし、日本企業にもベトナム市場で勝ち残るための強みや戦略がある。本記事では、アメリカ企業のベトナムへのオフショア開発と、日本企業のベトナムへのオフショア開発を比較し、その違いや課題を分析する。

アメリカ企業のベトナムへのオフショア開発の現状

アメリカは、世界最大のソフトウェア市場であり、ITエンジニアの需要も高い。しかし、国内ではITエンジニアの人材不足や高コストが課題となっており、多くのアメリカ企業は海外にオフショア開発を委託している。その中でも、ベトナムは近年注目されているオフショア開発先の一つである。

ベトナムは、東南アジアで最も急速に経済成長している国であり、若くて優秀なIT人材が豊富に存在する。また、人件費も低く、地理的にも日本やアメリカと時差が少ないことなどが、オフショア開発に適した環境となっている。さらに、ベトナム政府はIT産業の育成に力を入れており、税制優遇やインフラ整備などを行っている。

これらの要因から、ベトナムはオフショア開発市場で高い競争力を持っており、多くの国から注目されている。特に、アメリカからは大手IT企業やスタートアップ企業が相次いでベトナムに進出しており、オフショア開発だけでなく、自社製品やサービスの開発や販売も行っている。例えば、マイクロソフトやIBMはハノイやホーチミン市に研究開発センターを設置し、AIやブロックチェーンなどの先端技術を活用したプロジェクトを展開している。また、グーグルやフェイスブックはベトナム市場における自社サービスの普及に力を入れており、ローカライズやマーケティングを強化している。

こうした動きからわかるように、アメリカ企業はベトナムでオフショア開発を行うだけでなく、ベトナム市場そのものに参入しようとしている。その背景には、ベトナムが持つ巨大な消費者層やビジネスチャンスに対する期待がある。ベトナムは、約1億人の人口を持ち、そのうち6割が25歳以下という若い世代が多い。また、インターネット普及率は約7割であり、スマートフォンやSNSの利用も盛んである。これらの要素は、アメリカ企業にとって魅力的な市場となっている。

日本企業のベトナムへのオフショア開発の現状

日本企業も、アメリカ企業と同様に、ベトナムをオフショア開発の拠点として活用している。日本は、ベトナムにおけるオフショア開発の最大の発注国であり、ベトナムのIT産業に大きな影響力を持っている。日本企業は、ベトナムにおけるオフショア開発の歴史が長く、多くの実績や信頼関係を築いてきた。また、日本とベトナムは文化的にも親近感があり、コミュニケーションやビジネススタイルにおいても相性が良いと言われている。

日本企業は、ベトナムでオフショア開発を行う際に、主に以下の3つの方法を取っている。

  1. ベトナム現地法人や子会社を設立し、自社でオフショア開発を行う
  2. ベトナム現地のオフショア開発会社と提携し、外部委託する
  3. 日本国内のオフショア開発会社と提携し、間接的に委託する

これらの方法にはそれぞれメリットやデメリットがあり、日本企業は自社のニーズや予算に応じて選択している。例えば、自社でオフショア開発を行う場合は、品質管理やプロジェクト管理が容易であるが、初期投資や人材確保などのコストが高くなる。一方、外部委託する場合は、コスト削減やスピード感が得られるが、品質やセキュリティなどのリスクが高まる。

日本企業は、ベトナムでオフショア開発を行う目的として、主に以下の3つを挙げている。

  1. 開発コストの削減
  2. IT人材不足の解消
  3. ベトナム市場への参入

これらの目的にはそれぞれ重要度が異なり、日本企業は自社の戦略に応じて優先順位を決めている。例えば、開発コストの削減を最優先する場合は、安価なオフショア開発会社を選択することが多い。一方、IT人材不足の解消やベトナム市場への参入を重視する場合は、技術力や日本語能力などの条件を満たすオフショア開発会社を選択することが多い。

アメリカ企業と日本企業のオフショア開発の違い

前述したように、アメリカ企業と日本企業は、ベトナムでオフショア開発を行う際に、異なる方法や目的を持っている。このセクションでは、その違いを以下の4つの観点から分析する。

  1. 発注単価
  2. 開発規模
  3. 開発内容
  4. 開発手法

発注単価

オフショア開発の発注単価は、国や企業によって大きく異なる。一般的には、アメリカ企業の方が日本企業よりも高い単価でオフショア開発を行っていると言われている。これは、アメリカ企業が求める品質やスキルが高いことや、アメリカの人件費が高いことなどが理由として挙げられる。

例えば、ベトナムでオフショア開発を行う場合、日本企業の平均的な発注単価は、人月2000ドル~2500ドル程度である。一方、アメリカ企業の平均的な発注単価は、人月3000ドル~4000ドル程度である。このように、アメリカ企業は日本企業よりも約1.5倍~2倍の単価でオフショア開発を行っていると言える。

この単価差は、ベトナムのオフショア開発会社にとっても大きな影響を与えている。高単価の案件を受けることで、利益率を高めたり、人材育成や技術力向上に投資したりすることができる。また、高単価の案件はエンジニアにとっても魅力的であり、優秀な人材を確保しやすくなる。そのため、ベトナムのオフショア開発会社は、アメリカ企業からの案件を優先的に受け入れる傾向がある。

開発規模

オフショア開発の開発規模も、国や企業によって異なる。一般的には、アメリカ企業の方が日本企業よりも大規模な開発プロジェクトを行っていると言われている。これは、アメリカ企業がグローバル市場をターゲットにした製品やサービスの開発を行っていることや、インドなどの大規模なオフショア開発市場に慣れていることなどが理由として挙げられる。

例えば、ベトナムでオフショア開発を行う場合、日本企業の平均的な開発規模は、10人~20人程度のチームである。一方、アメリカ企業の平均的な開発規模は、50人~100人程度のチームである。このように、アメリカ企業は日本企業よりも約5倍~10倍の規模でオフショア開発を行っていると言える。

この規模差は、ベトナムのオフショア開発会社にとっても大きな影響を与えている。大規模なプロジェクトを受けることで、売上や規模を拡大したり、組織やマネジメントの能力を高めたりすることができる。また、大規模なプロジェクトはエンジニアにとっても魅力的であり、多様な経験やスキルを身につけることができる。そのため、ベトナムのオフショア開発会社は、アメリカ企業からの案件を優先的に受け入れる傾向がある。

開発内容

オフショア開発の開発内容も、国や企業によって異なる。一般的には、アメリカ企業の方が日本企業よりも先端的な技術やイノベーションを求めていると言われている。これは、アメリカ企業がグローバル市場での競争力を高めるために、AIやブロックチェーンなどの最新技術を活用した製品やサービスの開発を行っていることや、シリコンバレーなどのイノベーションの発信地に近いことなどが理由として挙げられる。

例えば、ベトナムでオフショア開発を行う場合、日本企業の平均的な開発内容は、製造業や金融業などの既存業界におけるシステム開発や運用保守である。一方、アメリカ企業の平均的な開発内容は、ゲームやECなどの新興業界におけるプロダクト開発やサービス提供である。このように、アメリカ企業は日本企業よりも先端的な技術やイノベーションを求めていると言える。

この内容差は、ベトナムのオフショア開発会社にとっても大きな影響を与えている。先端的な技術やイノベーションを扱うことで、技術力や知識を高めたり、市場価値を高めたりすることができる。また、先端的な技術やイノベーションを扱うことはエンジニアにとっても魅力的であり、やりがいや成長感を感じることができる。そのため、ベトナムのオフショア開発会社は、アメリカ企業からの案件を優先的に受け入れる傾向がある。

開発手法

オフショア開発の開発手法も、国や企業によって異なる。一般的には、アメリカ企業の方が日本企業よりも柔軟かつ効率的な開発手法を採用していると言われている。これは、アメリカ企業がグローバル市場での変化に対応するために、アジャイル開発やDevOpsなどの最新の開発手法を活用したプロジェジェクトを行っていることや、アメリカのIT業界における開発手法の普及度が高いことなどが理由として挙げられる。

例えば、ベトナムでオフショア開発を行う場合、日本企業の平均的な開発手法は、ウォーターフォール型やV字型などの計画的な開発手法である。一方、アメリカ企業の平均的な開発手法は、スクラムやカンバンなどのアジャイル型やDevOps型などの反復的な開発手法である。このように、アメリカ企業は日本企業よりも柔軟かつ効率的な開発手法を採用していると言える。

この手法差は、ベトナムのオフショア開発会社にとっても大きな影響を与えている。柔軟かつ効率的な開発手法を採用することで、品質や納期の管理を改善したり、顧客とのコミュニケーションを強化したりすることができる。また、柔軟かつ効率的な開発手法を採用することはエンジニアにとっても魅力的であり、自律性や創造性を発揮することができる。そのため、ベトナムのオフショア開発会社は、アメリカ企業からの案件を優先的に受け入れる傾向がある。

日本企業が戦略的に狙うポジションはなにか

以上のことから、人材獲得競争において日本企業はアメリカの案件に負けるというのが現実である。

しかしこれは一面だけを見ているところはある。
まずは日本の方がアメリカよりも距離が近く時差も少なく、親近感を抱かれているのも確かだ。
契約によって硬直的にプロジェクトを作るというのは、文化の問題という前に、ソフトウェア開発の手法として適切である場面が限られているのが確かであり、日本風の柔軟なやり方は、かつては非常に曖昧だと言われたこともあるが これはこれで柔軟だという側面も持つ。
またそのような日本企業の仕事文化を好むベトナム人もいる。ベトナムは意外なほど契約社会ではあるが、ベトナム人がメンタルセットとしては日本人に似ているのは確かである。 そのため日本の案件はアメリカ企業に比べてやりやすい、という感覚を持つベトナム人は一定数存在する。
またアメリカ企業の案件は一定のスキルを持つ人たちを要求する事が多いため、経験者や有資格者や高学歴者を優先する傾向にあり、最近では AI などの先端が話題の技術については引っ張りだことなっている。これらのハイエンドな人材の獲得競争について日本企業が勝つことは難しいのだが、逆に言うとローエンドであったり、まだあまり経験がないが勉強はよくできると言ったいわゆる 地頭のいい新卒といったタイプのエンジニアを日本企業は好むというところがある。 これらはアメリカ企業の案件においてはあまり評価されないので、その点で日本の案件とマッチしているところがある。

日本がベトナムでオフショア開発をする場合に、かつてのようにただ日本企業であるだけでよかった時代はもう明瞭に終わった。そして主に金銭的な意味においてアメリカ企業との人材獲得競争に負けつつあるというのが全体的な傾向である。
しかし 全体的な傾向はそうでも 個別にマッチする人材や案件を見ていくと、日本の案件とベトナムの企業との間で上手い組み合わせになるようなものが多いのも確かである。

これから先 ベトナムでオフショア開発をしていこうと考えるところがあれば、アメリカ企業とどのように差別化できるかという観点から ブラッシュアップしてみることは大変有益であろう。アメリカ企業とうまく差別化でき、ベトナム企業との間にうまいマッチングが見出せてるのならば、それは非常に成功する確率の高いオフィシャル 開発 であるというように言えるだろう。

続きを見る >