開発遅延の打開策

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

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

不具合と開発の不透明性

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

コスト削減と資源最適化

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

開発の透明性と妥当性

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

まとめ

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

関連記事

オフショア開発の変遷と現状

1. はじめに

オフショア開発は、かつては主にコスト削減を目的として行われていました。日本のソフトウェア産業は、人件費の差を利用して中国を受託先として選ぶことが一般的でした。また、日本の企業は製造業など他の産業でも中国に進出し、その人件費の安さを利用することが多かったため、ソフトウェア開発でも中国へのアウトソーシングが一般的でした。さらに、日本語の場合にはダブルバイトという特殊な問題もあり、中国人が漢字を理解できるという利点がありました。このため、中国の中でも特に大連が多くのオフショア開発プロジェクトを受け入れる地域となっていました。

2. オフショア開発の変遷

かつてのオフショア開発は、主に大規模なデータ入力を伴うBPO(Business Process Outsourcing)プロジェクトに似たような形で利用されていました。しかし、現在では双方向のやり取りを含むアジャイル的な開発に応用されるようになりました。ただしBPO 的な、すなわち単純な入力やルールに基づく作業の需要は今でも多く存在しています。このような需要に対応するため、開発プロジェクトはアジャイル開発を行うプロジェクトと、データ入力やタグ付けなどの作業に従事するプロジェクトに分かれていく傾向にあります。例えば、AIの流行により教師データを作るためのBPOは、中国やベトナムを含む世界中で活発に行われています。

3. オフショア開発の変化要因

オフショア開発が変容していく中で、人件費の上昇以外にもう一つの要因があります。それは情報通信の発展です。20年前の中国の大連においてオフショア開発が行われていた頃は、通信手段が電子メールとその添付ファイル程度しかありませんでした。また、その前の時代に作成されたものは紙ベースのドキュメントが主流でした。しかし、現在ではチャットやビデオ会議などの通信手段が進化し、特に画面共有の速度が実用的となりました。さらに、自動翻訳ソフトウェアも利用されるようになりました。同時通訳の精度向上や音声認識の発展も進んでおり、将来的には同時通訳のような実用化も期待されます。

4. オフショア開発の現状

現在、オフショア開発を利用している開発現場は増加しており、一般的な選択肢となっています。その背景には、日本国内におけるソフトウェア開発者の不足が挙げられます。また、ソフトウェア開発の手法が世界的に平準化されていることも重要な要素です。開発環境やツールの利用において、国内と海外で大きな差はありません。さらに、ソフトウェア開発に関する知識がコモディティ化し、世界中の若いエンジニアが現代的な知識を教科書から学んでいることも要因の一つです。これらの要素により、オフショア開発が一般的な選択肢となりました。

5. 結論

オフショア開発は、コスト削減を目的として始まりましたが、現在ではその目的は多様化しています。技術の発展や通信手段の進化により、オフショア開発はアジャイルな開発に応用されるようになりました。また、オフショア開発を利用する開発現場の増加には、ソフトウェア開発者の不足や知識のコモディティ化が影響しています。これらの要素が重なり合い、オフショア開発が現在の姿となっています。

続きを見る >

モックアップの料金

要件定義の意義

ユーザーの要件を明確にすることで、開発の方向性がブレず、無駄な修正や手戻りを防ぐことができる。定期的なミーティングやレビューセッションを通じて、開発者はユーザーのニーズを正確に把握し、ドキュメント化やモックアップ化することが重要である。

試作品の価値

SEはユーザーに具体的なイメージを持ってもらうために、プロトタイプやモックアップを作成し、ユーザーに確認してもらうことで、誤解や認識のズレを減らす。これにより、実装後の大幅な変更を回避できる。

モックアップの功罪

モックアップの作成は有料であることが多いようである。また、非エンジニアがシステム技術を意識しないモックアップであれば、その後の開発が複雑になってしまうといったことも考えられる。

ユーザー主導開発

モックアップを用いてユーザーがシステムの機能や開発プロセスについて理解を深めることで、適切なフィードバックを提供することが大切である。開発チームとのコミュニケーションも円滑になり、無駄な手戻りや修正を減少する。

まとめ

システム開発におけるユーザーと開発チームのコミュニケーション改善が、システム開発コストを軽減する。そのためには視覚的にコミュニケーションできるモックアップは重要であろう。

続きを見る >

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

続きを見る >