こんにちは、donutです。
突然ですが、皆さんはこんな経験はありませんか?
「エンジニアの◎◎さんがよくMTGで話しているあの用語って何だったっけ…?」
「『要件定義』や『API』のワードを毎回聞くけどうまく説明できない…」
システム開発の現場では、常に専門用語が飛び交い、「この用語の意味は...?」となることも
あるでしょう。そんなとき、よく使われる用語を少しでも知っておくだけで、エンジニアとの
コミュニケーションもスムーズに進められるようになると思います。
今回は、開発案件やIT関連の業務でよく登場する専門用語について解説していきたいと思います。
代表的な専門用語
以下に、ジャンル別に分類して解説していきます。
開発工程に関する用語
開発の全体像を理解するためには、主要な工程や関連用語を知ることが大切です。
①要件定義
→作りたいシステムや機能などの要望や条件をまとめていく作業です。
例として「お客さんがいつでもお店の予約ができるサイトを作りたい!」と
思い立っても、人によって思い浮かべる機能にばらつきがあると思います。
要件定義は、「何を、どんなふうに、いつまでに作るのか?」を文書にし、
開発チームとお客様の間で共通認識を持つための重要な作業になります。②設計書
→システムや製品を作る際に、「どうやって作れば良いのか?」を詳しく書いた、
いわば「設計図」です。
設計書には様々な内容が記載されていますが、主に以下のような情報を中心に
取りまとめています。
・基本設計書:ユーザー(お客様)視点での機能や画面設計、入出力等の構成を
記載します。
・詳細設計書:プログラムごとでの処理内容やデータ構造の仕様等を記載します。いずれの設計書も、開発や製造を効率的に行うために重要な役割を担っています。
③実装
→②を元に設計された内容から、実際に動作する形で作り上げる作業です。
作業に該当します。
よくあるプログラムコードなどを記載する作業は③で行います。
④単体テスト
→一つ一つの機能がちゃんと動作するか?を個別にチェックするテストになります。
個々の関数やクラスなど「小さな単位」が対象で、 ③の直後に実施されることが
多く、バグやミス等をはやい段階で特定できることが特徴です。⑤結合テスト
→複数の機能を組み合わせて連携し、正常に動作するかどうかをチェックする
テストです。複数のモジュールやコンポーネントの組み合わせが対象で
④のテストやシステム全体のテスト前に行われます。⑥受け入れテスト
→お客様で最終チェックしてもらうテストであり、納品前の最後の確認に
あたります。お客様の要望や仕様に基づき、システムが要望通りに
動作しているか?を確認します。⑦デプロイ
→システムを本番環境へ配置し、実際に稼働させる作業です。サーバーへアプリを
インストールしたり、設定変更を行う工程も含まれています。⑧リリース
→受け入れテストを通過したソフトウェアが本番環境へデプロイされ、
ユーザーが使用できるように公開されることを示します。
対象のシステムが正式に利用可能となり、実際のユーザーへ提供される
段階になります。
プロジェクト・進行管理に関する用語
案件において対象のプロジェクトがスムーズに進行し、目標を達成するためにも関連用語の把握が
大切な要素となります。進行状況やリソース/スケジュール/リスクなどを管理するためによく使われる
用語について紹介します。
①プロジェクトマネジメント
→特定の目標を達成するために、限られた資源(リソース)と期間の中で、
計画/実行/監視/コントロール/終結といった一連のプロセスを管理する活動です。
「決められたゴールへ、期日までに予算内で必要なものを揃える。
そして、ゴールへたどり着くための道筋を立案、実行し、管理すること」とも
言えるでしょう。②ガントチャート
→プロジェクトのタスクを時間軸に沿って可視化するためのツールです。
タスクの開始日/終了日/進捗状況などを一目で把握できます。
※ちなみに、Microsoftでは、ガントチャートのテンプレートを配布しています。<参考>
◆ガントチャートテンプレートを使用して整理する(Microsoftより)③WBS(Work Breakdown Structure)
→プロジェクトの全体を作業単位(タスク)に細分化する手法です。
複雑なプロジェクトや成果物を小さな作業に分け、詳細な計画を立てやすく
することができます。④クリティカルパス
→プロジェクト内で最も時間がかかる一連のタスクを示しています。
対象のタスクが遅延した場合、プロジェクト全体が遅延する可能性もあります。⑤マイルストーン
→プロジェクトの進行を示す重要なポイントや成果物です。特定の目標や
決定事項を確認するための指標にもなります。⑥リソース管理
→プロジェクトに必要な人材、設備、予算などの資源を効果的に計画/割り当て/
監視を行うプロセスです。⑦リスク管理
→プロジェクトにおける潜在的な問題や障害(リスク)を特定し、回避/軽減、
受け入れを行うための対策を計画/実行するプロセスです。⑧ステークホルダー
→プロジェクトに関連し、影響を受けるすべての関係者(顧客、チームメンバー、
パートナー、上層部など)です。
今回は開発等でよく聞く専門用語についてご紹介しました。
いちエンジニアとして一度原点に立ち返ろうと思い立ち、この記事を執筆しましたが、
「あの用語の意味は...」と、調べずともスッと意味を理解できるようになりたいと思いました。
今後も精進していきます。
ここまでお読みいただき、ありがとうございました。