技術的負債の返済方法

負債の本質

技術的負債には、設計負債やコード負債がある。金銭的な負債であれば借入金やマイナスの表記で数字化できるのだが、技術的負債においては数字化できないことがとても難しい点である。経営に関するほとんどのことは定量化や定性化が可能だが、たとえば企業創業者の発想する「野生の勘」を直接的に数字化できないように技術的負債も一筋縄では見える化しない。

設計時の対策

技術的負債の中でもコード負債については、システム開発の現場からよく発想されるリファクタリングや再構築などを行うことで比較的わかりやすい返済方法となる。知らない人が作ったプログラムや古くなったプログラムのバージョンなど、リスクを表現し対応することができる。何よりも最初の企画設計段階で負債が積みあがりにくい仕組みを考えることが大切である。

高負担な設計

技術的負債の中でも利息の高い負債が設計負債である。単体機能における設計であれば、モジュールごとの再設計によって返済が可能である。しかし、プログラムは複数のモジュールが絡まり合っていることがほとんどなので、複雑なオペになってしまう。また、稼働中のシステムにわざわざ再設計したプログラムを導入するリスクに対して、得れるメリットも少ないので見過ごされがちである。設計能力は例えば、紙というオブジェクトのメソッド(振る舞い)とプロパティ(保持する情報)を聞いて正しい答えが帰ってくれば多少安心であろう。紙の振る舞いは燃えるであり保持する情報は面積などがある。

根本的解決

しかし、技術的負債はこのように目に見えやすい設計負債やコード負債が致命的になることは少なく、やはりその上層でどのような指針に基づいてシステム運用がなされてきたか、また長期視点で一貫したメンテナンスを行うことが必要である。システムの維持には保守費用や運用費用を払っていることが多いと思うが、これだけでは将来の負債を減らしていくことはできない。やはり、鳥の目を持つITコンサルタントやITアナリストなどの役割を持つメンバーが必要である。

まとめ

ITコンサルタントやアナリストは、すぐに利益も生まない、経費を削減するわけでもないといったコストセンターとしてのポジションなので、あまり起用していない中小企業も多いようである。投資に対する効果が見えにくいのは、料理でいう香辛料と同じなのかもしれない。その少しの投資が未来を大きく変えることになる。IT技術は日進月歩で発展するからである。

関連記事

開発費用値下げの危険性

開発手法の選択基準

大がかりなシステム開発においては、ウォーターフォールモデルという開発手法がとられ、設計書などのドキュメント類も整理してから、プログラミングへ着手する。逆に中小規模なシステム開発においては、アジャイル開発と呼ばれ、プログラミングをしながらシステム開発が進められたり、ドキュメント類は簡易にして、プログラミング工程へ着手するといった方法がとられる。状況に応じて開発手法は使い分ける必要がある。

設計書の必要と課題

建築では図面なく建物を建てることはないが、中小規模のシステムについては簡単な概要だけでシステムの開発ができてしまう。もちろん設計書をしっかりと書いて、要件を詰めてシステム開発を進めることができれば、トラブルもなくていいのではないかと言われる。しかし、設計書を作成するにはシステムをプログラミングすることと同じくらい費用が掛かる。

設計書の粒度と要因

中小規模のシステム開発において設計書が簡易になってしまう理由は、ユーザー側や発注側の予算が乏しいという理由がある。建築のパターンの場合は、法律によって作成しなければならない図面や、施主から同意をもらうべき書類などが決められている。システム開発には法的に作成しなければならない書類が明確にされているわけではないため、この粒度が各社・各エンジニアによりバラツキが発生する。

文書管理の現状

中小規模のシステム開発において、最悪の場合は設計書がないケースもある。小さなプロジェクトの場合は予算も少なく特にドキュメント類がないが多くある。あるいは、システムはアップデートされ続けているのにドキュメントはアップデートされていなかったり、ひどい場合にはシステム保守ベンダーが紛失している場合もある。

まとめ

システム開発に時間がかかる理由は、設計書から作成することでプログラミング作業の2倍以上の時間がかかると言われる。いわゆる動作検証の工程まで入れるとプログラミング作業の3倍程度は時間がかかる。また、システム開発はほとんどが人件費である場合が多く、かかる時間に応じて費用が上がる。つまり、非エンジニアが単純に開発費用を値切ると、プログラミング以外の重要な情報を削っていくことになる。

続きを見る >

市民開発とは何か

市民開発の正体

市民開発(Citizen Development)とは、IT部門やSIerに依存せず、業務部門などの非エンジニアが自らアプリケーションを作成する取り組みを指す。従来は「プログラミングができないと無理」と思われがちだったが、現在ではノーコード・ローコードツールの登場により、非技術者でも業務に必要なツールを構築できるようになった。代表的なものとして、SaaSベースの業務アプリやMicrosoft Power Platformなどがあり、これにより業務現場の課題解決が加速している。

IT不足とマクロの功罪

市民開発が注目を集める背景には、深刻なITエンジニア不足がある。人手が足りないなら自ら開発するしかない——この流れが市民開発を後押ししている。その原型とも言えるのがExcelマクロである。かつて現場では、個人PC上で動作するマクロが業務改善ツールとして使われていたが、多くが属人化し、結果として保守不能な“遺産”となってしまっている。

マクロの限界

Excelマクロの最大の弱点は「ファイル単体依存」である。複数人での同時使用や、プログラムの共有に極めて不向きである。マクロ付きファイルをコピーすれば、そのコピーごとに独立した修正が可能となり、誰がどのバージョンを使っているのか把握が困難になる。しかも、更新履歴の管理も難しく、組織全体の業務統一を図るには限界がある。こうした特性が、非効率と混乱を招く要因となっている。

マクロの呪い

属人化の果てに起きるのが「ブラックボックス化」である。Excelマクロにパスワードがかけられ、開発者も不在、しかし業務には不可欠——そんな状態が現場には数多く存在する。これらは情報システム部の管理外にある「野良プログラム(シャドーIT)」と呼ばれ、セキュリティリスクを高める要因でもある。結果として、誰も触れず、誰も捨てられず、今も現場の根幹に鎮座している。まさに、手遅れになる前に対処すべき課題だ。

まとめ

市民開発は、Excelマクロに代わる次世代の業務改善手段となり得る。ローコード・ノーコードの活用により、野良プログラムの乱立を防ぐには、組織としての運用ルールとガバナンスの確立が不可欠だ。アタラキシアDXでは、Power Appsを活用し、手遅れになる前にブラックボックス化したマクロのリプレイス支援を行っている。

続きを見る >

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

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

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

アメリカは、世界最大のソフトウェア市場であり、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 などの先端が話題の技術については引っ張りだことなっている。これらのハイエンドな人材の獲得競争について日本企業が勝つことは難しいのだが、逆に言うとローエンドであったり、まだあまり経験がないが勉強はよくできると言ったいわゆる 地頭のいい新卒といったタイプのエンジニアを日本企業は好むというところがある。 これらはアメリカ企業の案件においてはあまり評価されないので、その点で日本の案件とマッチしているところがある。

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

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

続きを見る >