開発手法用語集【初級】
ソフトウェア開発の基礎概念、基本的なメソドロジー、入門レベルのプロセス管理など、初学者向けの重要な用語を学習できます
開発手法について
ソフトウェア開発手法は、効率的で高品質なソフトウェアを開発するためのプロセスや手法です。アジャイル、スクラム、テスト駆動開発、継続的インテグレーションなどの手法により、チームの生産性向上と品質保証を実現できます。
用語数統計
開発手法用語一覧
開発手法に関する重要な用語を詳細解説付きで紹介
-
アジャイル
(アジャイル) Agile 初級変化に適応し、顧客価値を迅速に提供することを重視するソフトウェア開発手法。短期間での反復開発と継続的な改善を特徴とする。アジャイルソフトウェア開発は、2001年のアジャイル宣言に基づく開発手法です。「個人とその対話」「動くソフトウェア」「顧客との協調」「変化への対応」を重視し、従来のウォーターフォール型に対して、短期間での反復開発(イテレーション)と継続的な改善を行います。
例: スクラム, カンバン, エクストリームプログラミング -
スクラム
(スクラム) Scrum 初級アジャイル開発の代表的なフレームワーク。スプリントと呼ばれる短期間での開発サイクルを繰り返し、チーム全体で協調して価値を創造する。スクラムは、プロダクトオーナー、スクラムマスター、開発チームの3つの役割と、スプリント、デイリースクラム、スプリントレビュー、スプリントレトロスペクティブなどのイベントで構成されます。透明性、検査、適応の3本柱により、継続的な改善を実現します。
例: スプリント, プロダクトオーナー, スクラムマスター -
カンバン
(カンバン) Kanban 初級作業の流れを可視化し、進行中の作業量を制限することで効率的な開発を実現する手法。「To Do」「進行中」「完了」などの列でタスクを管理する。カンバンは、トヨタ生産方式から発展したリーンな開発手法です。カンバンボードを使用してタスクの流れを可視化し、WIP(Work In Progress)制限により同時進行作業を適切に管理します。継続的な改善と効率化を重視します。
例: カンバンボード, WIP制限, 継続的改善 -
Git
(ギット) Git 初級分散型バージョン管理システム。ソースコードの変更履歴を管理し、複数の開発者が同時に作業することを可能にする。Gitは、Linus Torvaldsによって開発された分散型バージョン管理システムです。ブランチとマージの機能により、並行開発を効率的に行え、コミット、プッシュ、プルなどの操作でコードの変更を管理します。GitHub、GitLab、Bitbucketなどのプラットフォームで広く使用されています。
例: コミット, ブランチ, マージ, GitHub -
プルリクエスト
(プルリクエスト) Pull Request 初級Git系のプラットフォームでコードレビューを行うためのメカニズム。変更を本流に取り込む前にチームメンバーによる確認と承認を得る。プルリクエスト(GitHubの場合)またはマージリクエスト(GitLabの場合)は、ブランチの変更を本流に統合する前に、コードレビューとディスカッションを行うためのメカニズムです。品質向上と知識共有に重要な役割を果たします。
例: コードレビュー, マージ, ディスカッション -
ペアプログラミング
(ペアプログラミング) Pair Programming 初級2人の開発者が1台のコンピューターで共同してプログラムを作成する手法。ドライバー(入力役)とナビゲーター(レビュー役)を交互に担当する。ペアプログラミングは、エクストリームプログラミング(XP)の実践の一つで、コードの品質向上、知識共有、集中力の向上を目的としています。リアルタイムでのコードレビューにより、バグの早期発見と設計の改善が期待できます。
例: ドライバー, ナビゲーター, モブプログラミング -
コードレビュー
(コードレビュー) Code Review 初級他の開発者がコードを確認し、品質向上や知識共有を行うプロセス。バグの早期発見、設計の改善、チーム全体のスキル向上を目的とする。コードレビューは、プルリクエストやマージリクエストの仕組みを使用して、コードの品質、可読性、保守性を確認する重要なプロセスです。コーディング規約の遵守、ロジックの妥当性、セキュリティの確認などを行います。
例: プルリクエスト, コーディング規約, セキュリティチェック -
デプロイメント
(デプロイメント) Deployment 初級開発されたソフトウェアを実際の運用環境に配置し、ユーザーが利用可能にする作業。テスト環境から本番環境への移行を含む。デプロイメントは、ソフトウェアの配信プロセス全体を指し、ビルド、テスト、本番環境への配置、設定、起動などの作業を含みます。手動デプロイメントから自動デプロイメント(CI/CD)への移行により、効率性と信頼性が向上します。
例: 本番環境, 自動デプロイ, ロールバック -
ウォーターフォール
(ウォーターフォール) Waterfall 初級要件定義、設計、実装、テスト、運用の各工程を順次実行する従来型の開発手法。各工程を完了してから次の工程に進む線形的なプロセス。ウォーターフォールモデルは、Winston Royceによって提唱された古典的な開発手法です。各工程の成果物を明確に定義し、段階的に進むため、計画性と予測可能性が高いですが、変更への対応が困難という課題があります。
例: 要件定義, 設計書, 工程管理 -
スプリント
(スプリント) Sprint 初級スクラムにおける固定期間の開発サイクル。通常1-4週間で、この期間内に動作する機能の増分を作成し、レビューと振り返りを行う。スプリントは、スクラムフレームワークの中核となる時間枠で、一定期間内に価値のあるプロダクトの増分を作成します。スプリントプランニング、デイリースクラム、スプリントレビュー、スプリントレトロスペクティブの4つのイベントを含みます。
例: 2週間スプリント, スプリントゴール, 増分 -
デイリースクラム
(デイリースクラム) Daily Scrum 初級スクラムチームが毎日行う短時間のミーティング。昨日の成果、今日の予定、障害を共有し、チーム全体の状況を把握する。デイリースクラムは、15分以内の短時間で行われるチーム同期のためのミーティングです。「昨日何をしたか」「今日何をするか」「障害はあるか」の3つの質問を軸に、チームの透明性と協調を促進します。
例: スタンドアップ, 進捗共有, 障害報告