予算ブレの原因

開発の変動要因

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

目標変化と予算

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

計画型開発法

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

柔軟な開発手法

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

まとめ

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

関連記事

ローコード開発とAI活用

AIとローコードの融合

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

コード生成の現実

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

保守性のコスト

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

適切な見極め

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

まとめ

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

続きを見る >

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

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

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

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

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

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

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

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

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

結論

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

続きを見る >

要件定義のアプローチ

要件定義の基本

すべてをシステムで解決してしまおうとする要件定義には注意が必要である。システムの成功の可否は要件定義にかかっていると言っても過言ではない。しかし、十分に要件定義の時間を使ったにも関わらず、ITプロジェクトが失敗することがある。

規模別の要件定義

システム構築の規模によって、要件定義の粒度が変わる。小さなITプロジェクトの場合は要件定義をせずにプロトタイプを作りながらシステム構築を進めるといった方法がある。これをアジャイル開発、プロトタイプ開発と呼ぶ。

要件定義の本質

要件定義の粒度は時間を掛ければ細かくなるわけではない。ユーザー側でも要件定義を進めるにつれて、想定している機能の矛盾点が出てくることがある。この矛盾点を解消していくこと自体を要件定義としてはならない。要件定義はあくまで本質的なコアとなる部分から膨らませることが重要である。

対話型要件定義

要件定義フェーズで失敗するパターンは、ユーザー側との対話ではなく、システム会社側がヒアリングに徹する場合である。ユーザー側はITを利用してどのようなことができるかを知らない可能性が高いため、システム専門家がそれを鵜呑みにした仕様で要件を固めてしまうと、製造工程で無駄な工数が発生し予算をオーバーしてしまうことがある。

まとめ

本質的な要件をコミュニケーションによって、はっきりさせていく作業こそが要件定義と言えるのである。さまざまな視点から何度も繰り返し要件をなぞることで粒度が落ちていき、適切な要件定義書となる。何でもかんでもシステム化せず、オペレーションとの関係性を見合わせながら進めることが望ましい。

続きを見る >