1. 用語解説
1-1. API
APIとは、”Application Programming Interface”の略であり、ソフトウェアやサービス同士をつなぐためのインターフェースです。
例えば、パソコンと外部デバイスをつなぐUSBのイメージが近いでしょう。APIを使うと、ソフトウェアやサービス同士で情報を共有したり、機能を追加したりが可能になります。具体的には、認証機能やチャット機能を追加する・データの受け渡しや解析をするなどが可能です。
以上のような特徴から、APIは、ソフトウェアを作るときにとても重要な要素となっています。異なるシステム同士で情報を共有したり、新しい機能を追加したりするのに役立つのです。
1-2. アジャイル開発
アジャイル開発は、システムやソフトウェアの作り方のひとつです。アジャイルとは英語で「素早い」「機敏な」という意味で、その名前の通り、システム開発の工程を小さなステップに分けて繰り返す方法を意味します。
具体的には、計画→設計→実装→テストといった工程を、機能単位で繰り返し行います。アジャイル開発の特徴は、仕様変更に柔軟に対応できることです。また、開発の過程で顧客とのコミュニケーションを重視し、顧客のニーズに合わせたプロダクトを早く提供することを目指しています。
1-3. ウォーターフォール開発
ウォーターフォール開発も、システムやソフトウェアの作り方のひとつです。開発の工程を一方向に進めていく方法で、「計画→設計→実装→テスト」という順番で進めます。一度進んだ工程には戻らず、順番に進めていくのが特徴です。
ウォーターフォール開発では、アジャイル開発に比べると、スケジュール管理が比較的簡単ですが、途中で仕様変更が起きた場合に対応しにくいという特徴があります。
つまり、最初に計画と設計をしっかり行わなければなりません。そのため、変更が必要になった場合には、進んでしまった工程をやり直さなければならないこともあります。
1-4. 受け入れテスト
受け入れテストとは、外部の企業や人にシステムを作ってもらった後、納品されたシステムが予定通りに動作するかどうかを確認することです。仕様書どおりに作られているかや問題がないかなどを総合的にチェックします。
これによって、クライアント側はシステムが自分たちの目的や意図に沿っているかを確かめられるのです。問題がなければ、システムの納品が完了します。
1-5. 運用テスト
運用テストとは、システムが本番(実際の運用)に移行する直前の最終テストのことです。システムの開発が終わった後、実際の利用者がテストを行い、システムが業務運用に支障がないかを確認します。運用テストでは、システムの品質を最終的に確認することが目的です。
また、基本的には、運用テストのフェーズでシステム利用者に対して「ユーザー教育」も行われます。
1-6. オープン系
オープン系とは、システムの分類方法のひとつです。主に業務用のアプリケーションを開発する際に使われます。オープン系では、Windowsなどのさまざまなオペレーティングシステムを利用可能です。
また、開発にはさまざまなプログラミング言語が使えるため、柔軟性に富んだシステム開発ができます。現在のシステム開発では、オープン系が主流となっています。
1-7. 外部設計
外部設計とは、システム設計の一部であり、ユーザーが直接触れる画面や操作方法などのインタフェースを設計する作業です。要件定義書を基にして、システムの外部から見た機能や外観を具体化し、ユーザビリティを考慮しながら設計します。
外部設計では、操作画面の配置やデータの表示方法、ユーザーとシステムの対話フローなどを定義し、システムの使いやすさや利便性を追求します。外部設計はユーザーの要望やニーズに応える重要なプロセスであり、システムの成功に不可欠な要素です。
1-8. カットオーバー
カットオーバーとは、新しく開発されたシステムが実際に動き始めることを意味する言葉です。システムの開発が終わった後、新しいシステムを利用する人たちにとっては、サービスの始まりやウェブサイトのオープンを意味します。
1-9. カントリーリスク
カントリーリスクとは、国に関連するリスクや問題のことです。具体的には、投資対象となる国やオフショア開発拠点の政治や経済の状況が変わることによって、証券市場や為替市場に混乱が生じた場合、投資した資産の価値が変動する可能性のことです。
1-10. 統合テスト
統合テストとは、完成した複数のプログラムを組み合わせて行われるテストのことです。
それぞれのプログラムが単体でテストされた後、結合テストでは一緒に動作させて問題や互換性のリスクを確認します。単体テストでは見つけられなかった問題や、相性のリスクを確認するために大切なテストです。
統合テストでは、あらかじめテスト仕様書を作成し、実際に行うテスト項目を決めます。
1-11. 上流工程
上流工程とは、システム開発の最初の段階のことです。イメージとしては、システムを作る前の計画を立てるフェーズとなります。要件定義や機能定義など、いくつかの工程が含まれていて、システムの設計までが上流工程と呼ばれているのです。
上流工程では、システムの全体の仕組みや必要な機能を考えます。下流工程は、実際にプログラムを作ったりテストしたりするフェーズです。
1-12. スクラム開発
スクラム開発とは、アジャイル開発のひとつの方法です。スクラムという言葉の意味通り、開発チームの協力やチームワークが大切とされます。短い期間で開発を進めて、生産性と品質を向上させることが目的です。
メンバーは固定の役割を持ち、定期的に進捗を報告しあったり、問題を解決したりします。柔軟性があって、変更にも対応しやすいため、プロジェクトの成功に役立つのです。
1-13. ストレステスト
ストレステストとは、システムに通常よりも多くの負荷をかけて、問題や隠れた欠陥がないか調べる手法です。通常の使用よりも忙しい状況や大量のデータを使って、システムの限界を試します。
ストレステストを行うことで、システムのパフォーマンスや安定性がどれだけ優れているかを確認可能です。大勢のユーザーが同時にアクセスしたり、急激なトラフィック増加に耐えられるかどうかを確かめるために行われます。
1-14. ニアショア
ニアショアとは、既存の事業拠点から近い地域に業務を移すことです。主に国内の比較的物価水準の低い地域を対象とし、オフショア開発と比べて距離が近いため、コミュニケーションや時差の調整がしやすくなります。
ニアショアは、開発作業を外部に委託することで、コスト削減や効率化を図る目的で利用されることが多いです。地理的な近さが協力関係を強化し、プロジェクトの進行や品質管理をスムーズに行えます。
1-15. 人月・人日
人月(にんげつ)や人日(にんにち)は、システム開発において作業量を計るための単位です。人月は1人が1か月で行える作業量を表し、人日は1人が1日で行える作業量を表します。
例えば、「1人月程度の開発」と言われると、1人が1か月間でできる程度の開発作業量のことです。作業量を明確にすることで、開発の規模や進行予定を見積もれます。
1-16. ブラックボックステスト
ブラックボックステストとは、ソフトウェアやシステムのテスト方法のひとつです。内部の仕組みや構造を無視し、外部から見た機能や振る舞いが正しく動作するかどうかの確認を目的とします。
まるで黒い箱のように内部の詳細が見えないため、テストする人は外部からの入力と出力を観察して結果を判断します。内部の処理に関わらず、ユーザーが期待する動作をするかを確かめるテスト手法です。
1-17. ブリッジSE
ブリッジSE(BSE)とは、システムエンジニアの一種で、日本と現地の間のコミュニケーションを担当します。主な役割は、日本のクライアントからの作業依頼や要件を正確に現地のプログラマーに伝えることです。
オフショア開発では、多くの企業が現地にBSEを配置し、円滑な情報共有と円満なプロジェクト進行を図っています。BSEは日本と現地の橋渡し役であり、異なる文化や言語のあいだで円滑な協力を実現します。
1-18. ラボ契約・ラボ型開発
ラボ契約・ラボ型開発とは、一定期間の契約を結び、お客様専用の開発チームが自由に開発を行う形態です。チームはお客様の業務に専念し、ナレッジを蓄積することで、生産性と品質の安定性を確保します。
請負開発とは異なり、より長期的なプロジェクトや継続的な開発に適しています。ラボ契約では、お客様の要件に柔軟に対応し、効果的な開発が可能です。
1-19. リグレッションテスト
リグレッションテストとは、プログラムの変更によって他の部分に問題が生じないか確認するためのテスト方法です。過去のテスト済みの機能や動作に再度焦点を当て、新たな変更が品質に影響を与えないことを確かめます。品質の低下を防ぎ、プログラムの安定性を保つために重要なテストです。
1-20. レビュー
レビューとは、開発者以外の人が作成物を評価し、要件や要望に合致しているかどうかを確認する作業です。
内容の正確性や品質の向上を目的とし、指摘や改善点を提案することで、より良い成果物の作成を促進します。開発者とのコミュニケーションを通じて、予期せぬミスや改善の余地を見つける重要な活動です。
2. まとめ
さまざまな専門用語を分かりやすく解説しました。ぜひ本記事を参考にして、オフショア開発の知見を広げてください。弊社ベトナムのオフショア開発事業は、豊富な経験と高い技術力を持つチームが、お客様の要件に合わせた開発が可能です。競争力のある費用と迅速な対応を実現し、品質と効率性を確保します。
ベトナムのオフショア開発会社比較20選!大手会社を一覧で紹介
「オルグローラボ」では、ベトナムでのラボ型オフショア開発事業を展開しています。オルグローラボを利用すれば、貴社の開発チームにベトナムの優秀なエンジニアを加え、長期的にプロジェクトにアサインすることができます。お客様のニーズに合わせた柔軟なチーム編成が可能ですし、プロジェクト開始から運用まで、継続的なサポートを提供しています。ぜひお気軽にお問い合わせください!