予算ブレの原因

開発の変動要因

システム開発は長期にわたることが多く、また未来の不確実性の中で予算を策定しなくてはいけないことがある。セキュリティーをはじめ動作環境の変化や人員の欠如、予期していなかった仕様の発覚などが原因だ。

目標変化と予算

進捗率は目的地が明確に設定されていれば数字を負うことで予算達成率を算出することができる。しかし、目的地が近い遠いのは無しではなく、根本的な目的地がなくなったり、複数になったりすることがシステム予算の策定の難しいところである。

計画型開発法

システムに未来を見ることができればブレない、見えないことをすべて調査の上で着手できれば確実な予算と実行が可能である。進捗率の報告が可能になる。フォーターフォールモデルなのでコストがかかることと時間がかかることの覚悟が必要だ。途中での方向修正は原則できない。

柔軟な開発手法

逆に低予算で早く導入するなら、見えにくくなるデメリットがある。状況によって対応を素早く変化させる必要があるため進捗率を算出しにくい。アジャイル開発と呼ばれるものであり、社内開発であることが理想である。途中で出てくる条件に対しても柔軟に方向性を変化させることが可能である。

まとめ

アジャイル開発で予算を立てるときは、1.5-2.5倍くらいを目安に余裕を持って設定することを推奨する。

関連記事

ベトナムオフショア開発におけるブリッジエンジニアの重要性とその役割

オフショア開発の新たな展開とブリッジエンジニアの必要性

現在、日本企業がベトナムを含む海外の開発会社と協力してオフショア開発を行う流れが増えています。過去10年間で、ベトナム自体が珍しい存在ではなくなり、海外の開発会社がプロジェクトに参加するのは当たり前の状況となりました。 しかし、この状況下で単に「人件費の安いベトナム」に発注するというコストダウンの視点では、現在の状況には適していないのが実情です。 もしコストカットが目的であれば、システム開発ではなく、比較的単純で反復的な業務を対象とするBPOを検討すべきです。

言語と文化の壁を乗り越えるブリッジエンジニアの役割

それでは、BPOではないシステム開発においてはどのようなアプローチが求められるのでしょうか?その答えは、ブリッジエンジニアを用意することです。ブリッジエンジニアは、日本語とベトナム語の両方を使いこなせるソフトウェアエンジニアであり、コミュニケーターとも称されます。彼らは言葉の問題だけでなく、仕事のやり方や文化の違いによる課題をブリッジする必要があります。

例えば、日本のソフトウェア開発では受託開発が一般的であり、開発プロジェクトの進捗管理においては報連相が重視されます。また、ボトムアップ型のアプローチが好まれ、開発現場の個々の創意工夫や意見が重要視されます。しかし、ベトナムにおける受託開発は成果物の完成を約束する契約であり(日本の受託開発も契約上はこうなのですが)、成果物の進捗について日本の発注元から頻繁に報告を求められることに対してベトナムの開発者は反発を感じることがあります。また、指示命令がはっきりしているベトナムの組織では、開発現場において意見を求めつつも、その結果に責任を開発現場に求める日本のマネジメントスタイルは、無責任に映ることもあるかもしれません。

ブリッジエンジニアの役割とスキル要件

こうした課題を乗り越えるためには、ブリッジエンジニアの存在が不可欠です。彼らは単なる言語の通訳だけでなく、両国の開発文化の違いを理解し、適切なコミュニケーションを取る能力を持っています。ブリッジエンジニアは、日本のソフトウェア開発の特徴や要件を正確に把握し、ベトナムの開発者に伝えることで、円滑な連携を実現します。彼らは言葉や文化の壁を乗り越え、双方の開発チームを結びつけ、プロジェクトの成果を最大化する役割を果たすのです。

ブリッジエンジニアには、ソフトウェア開発の知識や技術力に加えて、優れたコミュニケーション能力や対人スキルが求められます。彼らは単に言葉を通訳するだけでなく、双方の文化や仕事のやり方を理解し、適切な形で情報を伝える必要があります。また、柔軟性と問題解決能力も重要です。彼らは状況に応じて適切な対応を取り、課題を解決するための努力を惜しまない必要があります。

結論

ベトナムオフショア開発において、ブリッジエンジニアは非常に重要な存在です。彼らの存在は単なるコストダウンだけでなく、効果的なシステム開発を実現するために不可欠です。ただし、ブリッジエンジニアの人件費は安くなく、市場には数が限られています。多くの日系開発企業が、優れたブリッジエンジニアを最重要の人的資源として確保しているためです。そのため、ベトナムオフショア開発は必ずしも安価ではありません。ブリッジエンジニアの重要性を理解し、適切な人材を配置することで、プロジェクトの成功につなげることが求められます。

続きを見る >

賢いコスト削減

投資と競争力

バックヤードのシステム開発は収益と直接結びつかないため、できるだけケチりたいものである。にもかかわらず、バックヤードのデジタル化には大きなコストがかかる。しかし、新しいインフラに適切な投資ができない企業は競争力を失うのである。

要件定義の罠

バックヤードのシステムをできるだけ安く抑えようと思うと、要求定義や要件定義をしっかり作って依頼すればよいと考えがちである。もちろん、間違ってはいないが、入り口が安くなるわりに、システム開発の途中で追加工数が発生してしまい、結果としてシステムが高くなってしまうのである。

未来志向の要求

システム開発の途中で追加予算がかかってしまうのは、最初の要求定義や要件定義のときに想定される未来が見えていないことが原因である。これを見通すには要求定義や要件定義を行う背景や、未来の目指すところまでをエンジニア出身のアナリストに情報共有しなければならない。

投資の真価

導入時の金額だけをケチることは、保守運用などのランニングコストに跳ね返ってきてしまい、システムの寿命が短くなる。そうならないために、第三者のIT業者やITコンサルタントを入れるほうがよいと言われている。うまくDX化できれば生産性が上がり、投資を大きく回収できる。ことIT投資については、竹槍戦か空中戦かくらいの違いを生んでしまうのである。

まとめ

システム設計やプログラミング作業と同じようにITコンサルタントも1人の能力に偏りがちである。それゆえ、PMOと呼ばれるチームを形成することで、集合知を活用して、さらに未来を予測できるような体制を構築することが望ましい。

続きを見る >

ローコード開発とAI活用

AIとローコードの融合

ローコード開発プラットフォームの普及により、非エンジニアでもアプリケーション開発が可能になった現在、生成AIの活用が大きな注目を集めている。ChatGPTやCopilotなどのAIツールを組み合わせることで、開発スピードがさらに向上すると期待されているが、本当にすべてのローコード開発にAIが必要なのだろうか。コスト、品質、保守性など多角的な視点から、AI導入の真の価値を見極めることが、企業のDX戦略において極めて重要になっている。

コード生成の現実

生成AIによるコード生成は確かに魅力的だが、実際の品質には課題がある。AIが生成するコードは、単純な処理であれば高品質だが、複雑なビジネスロジックや例外処理が絡むと、不完全なコードが生成されることが少なくない。さらに深刻な問題は要件定義の壁である。AIは与えられたプロンプトに基づいてコードを生成するが、曖昧な要件や暗黙の前提条件を正確に理解することは困難である。結果として、開発者は生成されたコードを詳細に検証し、修正する必要があり、期待したほどの効率化が実現しないケースも多く見られる。

保守性のコスト

AIを活用したローコード開発において、最も見落とされがちなのが保守性の課題である。AI生成コードは、その時点では動作しても、後から読み解くことが困難な構造になっていることがある。変数名が不適切だったり、処理の意図が不明瞭だったりすると、半年後に修正が必要になった際、開発担当者が変わっていた場合、大きな手戻りが発生する。また、AIツールのバージョンアップや仕様変更により、過去に生成されたコードとの互換性が失われるリスクも存在する。初期開発のスピードを重視するあまり、長期的な運用コストが膨らんでしまっては本末転倒である。真のDX推進には、目先の効率化だけでなく、持続可能な開発体制の構築が不可欠なのである。

適切な見極め

ローコード開発におけるAI活用は、すべてのケースで必須というわけではない。定型的な画面開発や単純なCRUD操作など、パターン化された開発にはAIが有効だが、複雑なビジネスロジックや高度なセキュリティが要求される領域では、人間による丁寧な設計と実装が重要である。重要なのは、プロジェクトの性質、チームのスキルレベル、長期的な保守計画を考慮した上で、AIを活用すべき領域と従来手法を維持すべき領域を明確に区分することである。段階的にAIツールを導入し、効果を検証しながら適用範囲を拡大していく慎重なアプローチが、失敗リスクを最小限に抑え、真の生産性向上につながる。

まとめ

ローコード開発へのAI導入は、万能の解決策ではなく、適材適所で活用すべきツールである。コード生成の質、要件定義の難しさ、保守性の課題を十分に理解した上で、自社の開発体制に合った形でAIを取り入れることが成功の鍵となる。短期的な効率化だけでなく、長期的な運用まで見据えた戦略的な判断が求められている。

続きを見る >