開発遅延の打開策

システム開発の現状と課題

数名で開発した初期のシステム構築から、システム会社を変更して大がかりなリプレイスを行い、保守運用を実施しているが、月々の費用が高額であるわりに、開発スピードも遅い。開発スピードが遅いため、新しい機能を実装していけない。

不具合と開発の不透明性

リリースから何年も経っているのに不具合がなくならない。開発会社からの報告が曖昧で何にお金を支払っているのか謎のままであることが多い。

コスト削減と資源最適化

開発スピードを上げるには、システム開発コストの削減をしなければならない。コストを削減するということは、それで浮いたコストを開発に割り当てることができるため、結果的に開発スピードがあがることを意味する。

開発の透明性と妥当性

そのためにしなければならないことは、開発工程や開発過程の見える化および妥当性を担保することである。システムの比較検討ができないため、システム開発のコミュニケーションは一般的なものであると思い込んでいる。システム発注の担当者はシステムのことがわからないから、システム開発の進め方に違和感があったとしても技術者が言うことを信用するほかないと思っている。

まとめ

結果として、技術者の工数と称して月々の費用や、ひどいものでは言語のバージョンアップと称して、何もしていないことに費用を支払っていることもある。不明点はシステム発注の担当者が理解できるまで聞くべきである。

関連記事

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

素人仕様と開発遅延

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

潜む技術的負債

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

「できます」の罠

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

持続可能な開発へ

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

まとめ

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

続きを見る >

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

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

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

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

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

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

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

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

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

結論

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

続きを見る >

システム開発の混迷

営業依存の弊害

業務システムがうまくいかないのはベンダーやSEの問題だけではない。SEを取り巻く環境もシステム開発には重要である。業務システム開発を依頼するベンダーであれば営業担当者が挟まる。日本の縦割り社会の中で営業担当者は非エンジニアである場合が多く、プロジェクトの成功が目的ではない場合がある。

役割の細分化

SEをプロジェクトマネージャーとしている場合も注意が必要である。日本ではシステムエンジニアは細分化されておらず、建築でいうと参加者の全員が職人という扱いであることが多い。システムに関わる人全員がSEとしてしまっている間違いである。

開発の本質

SEやベンダーのプロジェクトマネージャーはそれ自体がプロジェクトと考えていることも多く、ビジネスとしてのプロジェクトとして捉えることができていないことがある。本来はビジネスが中心にあって、その中に業務システムが位置するはずである。それが見えているか否かで、業務システム開発の成功の確率は変わるのである。

相互理解

逆に、システムのことはSEに任せているというような場合も注意が必要である。システムのプロジェクトを経験したことがある、というだけでは、システムに関連するプロジェクトを成功させるのは困難である可能性が高い。プログラミングの経験がなければ、SEやベンダーが持つ心境を察することができないからである。最も重要なことはシステム導入時のイメージである。

まとめ

欧米では当たり前のように、間接的に関与する売上や利益の向上を管掌する部門や役職があるが、日本では良くも悪くもロジカルであり、数字がなければ行動に移せない厳密なルールがある。

続きを見る >