運用の昇華

開発現場の想定外

基幹システムの開発現場では、最初に想定した仕様とは異なる業務フローが後から発覚することが多い。

マネジメントの試金石

後から発覚した業務フローは、すでに構築が進んでいるシステムに組み込むことが難しいため、どのように対応するかがプロジェクトマネージャーの腕の見せ所である。

プロジェクトの舵取り

プロジェクトマネージャーとは何かと問われたときに、一言で言い表すならば、不測の事態にどのように対応できるか、ということではないかと考える。プロジェクトが何の問題もなく、完遂できることは少ない。したがって、イレギュラーケースが発生した時にどのような手立てを打てるか、迅速に行動できるかがプロジェクトマネージャーのレベルとなる。

パートナーシップの重要性

プロジェクトマネージャーがシステムの完成しか考えていなければ、途中から発覚した仕様は「運用でカバーせよ」とユーザー側に責任を押し付けてしまうことがある。しかし、より良いシステムを目指す、パートナーとしてであればこの回答は好ましくない。

まとめ

どのような事象がきっかけで、途中で使用漏れが発覚したのか、プロジェクトの進行状況を見ながら、ひも解くことが重要である。運用でカバーというユーザー側だけにだけ負担をさせるのではなく、運用をカバーするようなシステムを構築できるのが理想である。

関連記事

日本の技術人材不足とオフショア開発

セクション1: 日本のソフトウェア開発人材不足の背景

日本のソフトウェア開発業界は50年以上の歴史を持ち、多くの経験豊富なエンジニアが存在します。しかし、現在の日本では開発人材の不足が深刻な問題となっています。この人材不足は、企業が即戦力となるエンジニアを安価で求めるという要望に由来しています。そのため、日本の人材不足はしばしば「即戦力を安く求める欲求」として揶揄されることもありますが、この言い方には一面の真実も含まれています。企業が効率的な開発を行うためには、即戦力のエンジニアが必要なのは当然のことです。

また、この人材不足の問題は、単に日本だけに限ったものではありません。他の海外でも同様の人材不足が起きています。したがって、オフショア開発を検討する際には、都合の良い人材を海外で見つけることができるという考え方は一部正解であり、一部誤解とも言えます。

セクション2: 日本とベトナムのエンジニアの特徴

日本のエンジニアは、特にWeb関連のエンジニアにおいては、1990年代からのキャリアを持つベテランが多く存在します。そのため、文字コードやバイナリ、組み込み技術など、古いOSや低レベルの知識を必要とする開発においては、日本の技術者は強みを持っています。一方、新しいフレームワークや概念の習得には、国民性よりも年齢が影響を与える傾向があります。そのため、ベトナムのエンジニアは若さを活かして新しい技術を素早く学ぶことが得意と言えます。

また、コンピューター業界においては、上流と下流、低レベルと高レベルといった言葉が中立的に使われますが、この意味において日本は低レベル開発に向いており、ベトナムは高レベル開発に向いていると言えます。そのため、バランスの取れたオフショア開発を行うためには、日本のエンジニアのジェネラリスト的な能力とベトナムのエンジニアのスペシャリスト的な能力を組み合わせることが重要です。

セクション3: 日本とベトナムの開発手法の違い

日本のソフトウェア開発では、納期を守るためにウォーターフォール型の開発手法が主流です。アジャイル開発が概念的には取り入れられつつありますが、完全にアジャイルな開発プロセスを採用しているケースはまだまれです。一方、ベトナムのソフトウェア開発は、日本の開発手法と大きく異なるわけではありません。基本的には納期を守るためのウォーターフォール型の手法が一般的ですが、OSSの影響を受けて開発手法が変化しつつあります。

日本の開発現場と比較して、ベトナムの開発手法の利点は、新しいフレームワークや技術の習得において素早い反応性を持つことです。ベトナムのエンジニアは若く、学習意欲が高いため、最新の技術に対する理解が早く、柔軟に対応できるという特徴があります。ただし、ベトナムの開発現場においては、アジャイル開発の完全な導入はまだ一般的ではないことに注意が必要です。

セクション4: 言語の壁以外の考慮すべきポイント

ベトナムのエンジニアを活用する際に言語の壁を乗り越えるためには、円滑なコミュニケーションを図ることが重要です。英語がビジネスコミュニケーションの共通語となっているため、日本の企業がベトナムのエンジニアとのコミュニケーションを円滑に行うためには、英語教育の強化や翻訳ツールの活用などが有効です。また、文化やコミュニケーションスタイルの違いも考慮すべきポイントです。異なる文化背景を持つエンジニア同士が協力する場合、相手の文化に対する理解や尊重が求められます。

セクション5: 成功へのカギはバランスと柔軟性

ベトナムでのソフトウェア開発のオフショアを成功させるためには、日本とベトナムのエンジニアの特長を組み合わせることが重要です。日本のエンジニアはジェネラリストとして幅広い知識と経験を持っており、プロジェクト全体の管理や技術的な統括を担当することが得意です。一方、ベトナムのエンジニアはスペシャリストとして特定の技術に精通しており、新しい技術の習得にも素早く対応できます。

オフショア開発においては、開発現場のバランスと柔軟性が求められます。例えば、日本のエンジニアがジェネラリストとしてプロジェクトを牽引し、ベトナムのエンジニアがスペシャリストとして特定の技術領域を担当する役割分担が効果的です。また、現代的な開発手法を用いることも重要です。ウォーターフォール型の手法に加えてアジャイル開発の一部を取り入れるなど、柔軟に適切な手法を選択することが目的達成(コストダウン実現)へのカギとなります。

続きを見る >

なぜベトナムはERPシステム開発に向いているか

ベトナムは、ERPシステムの開発を行うのに適した場所と言えます。特に、日本企業が自社の生産拠点や流通拠点をベトナムに持っている場合や、ERPシステムが過去に作成したwebベースのものである場合は特に向いています。ここでは、その理由について解説します。


ベトナムの市場理解と製造業との親和性

ERPは業務に直結したシステムであるため、業務理解と市場の理解が欠かせません。ベトナムを生産拠点にしていたり、ベトナム市場に製品を販売している日本企業は多いため、そのような日本企業はベトナムの物流や製造現場に慣れているからです。ベトナムの市場理解と製造業との連携により、ERPシステムの在庫管理など、製造業に特化した機能を効果的に開発することができます。これにより、生産管理や物流効率の向上を実現し、ビジネスの競争力を強化することができるでしょう。

ベトナムにおける既存の知識と日本語通訳者の能力

トナム人の日本語通訳者の能力も向上しており、生産や流通に関わる日本語も習得しています。これにより、ERPシステム開発プロジェクトの効率性が向上し、品質の高い成果物を生み出すことができます。

ベトナム国内には、日本企業の製造や流通、決済に関する知識が蓄積されています。日本企業の進出が主に製造業から始まったため、ベトナムではこれまでに日本独自の慣習や用語についての理解が深まってきました。このような環境下でERPシステムを開発することで、ベトナムとの意思疎通がスムーズに行われ、開発段階での要件の理解に対しての円滑なコミュニケーションが可能です。ベ

ベトナムのオフショア開発の特質と既存システムの改善

ベトナムのソフトウェア業界は、オフショア開発からスタートし、成熟した実装能力を持っています。しかし、そのような経緯のために上流工程については苦手です。要件定義や仕様作成の段階からベトナムに丸投げしてしまうのはあまり良いこととは言えません。その部分は日本側で行い、実装段階をベトナムで行なうのが良いでしょう。

特に20年前からのWebベースのERPシステムのリプレースや改善をする場合は、ベトナムは適切な場所と言えます。過去に作成された既存のシステムは現在の技術やセキュリティ基準に合致していない場合があります。しかし、ベトナムの開発者が現代的な技術を使ってUIやUXの改善に取り組むことで、既存システムの現代化やセキュリティの強化が可能です。 具体的には、DBはそのままにして、古い技術で作られているフロントエンド部分をリプレースすると言ったプロジェクトが良いでしょう。

続きを見る >

生成AIは使えない?

思い通りにならない理由

生成AIを導入したのに思ったような結果が得られない――そんな経験をしたことがある人も多いだろう。AIは進化を続けているが、それを使いこなす側にも試行錯誤が求められている。特に企業においては、社内情報を整理すればするほど目的の答えに辿り着けなくなる「RAGの沼」にハマることがある。多くの企業が生成AIを武器にしようとしているが、その真価を引き出すには、正しい導入と運用が欠かせない。

RAGとは何か

RAG(Retrieval-Augmented Generation)は、「検索」「拡張」「生成」の頭文字を取った技術であり、生成AIに独自情報を与えることで回答の精度を上げる手法である。インターネット上の情報だけでなく、社内マニュアルや業務データなどを取り込むことで、より業務に即した回答が可能になる。ただし、期待する結果が得られない場合、その原因は提供リソースの質や構造にある可能性が高い。

ChatGPT以外の選択肢

現在、生成AIとして多くの大規模言語モデル(LLM)が存在する。OpenAIのChatGPTをはじめ、AnthropicのClaude、GoogleのGemini、MetaのLLaMA、Mistral、Cohere、さらにAlibabaやBaiduといった中国系ベンダーもある。それぞれに強みがあり、RAGに適したモデルも存在する。たとえばCohereのCommand R+やMistralのMixtralなどが代表的だ。目的に応じてLLMを選び、最適な環境を整えることが重要である。

社内AIを成功させるには

セキュリティ上の理由から、社内情報をインターネットに出せない企業も少なくない。その場合、オンプレミス環境(社内ローカル)に生成AIを構築する選択肢がある。たとえばTinyLLaMAやPhi-2のような軽量モデルから、Nous HermesやMixtralなどの対話・RAG対応モデルまで選択肢は豊富だ。これらを活用すれば、外部にデータを出さずともAIの恩恵を享受できる。必要なのは、自社の目的と環境に適した判断力である。

まとめ

生成AIはあくまで「道具」にすぎない。導入しただけで目的が自動的に達成されるわけではない。課題を定義し、適切な情報を整備し、それを使いこなす力が必要だ。RAGがうまくいかないと感じたら、その原因はリソースや設計のミスマッチにあるかもしれない。

続きを見る >