pulpul 日本の試験

データベーススペシャリスト 概念書 · ソフトウェア開発管理技術

アジャイル開発とプロセス改善

要点と定義

アジャイル開発では、開発を短い反復期間(イテレーション)に区切り、各期間の成果を確認して次の計画や実装に反映します。利用者の反応を早く得られるため、要求とのずれを修正したり、要求の変化に対応したりしやすくなります。

XP(エクストリームプログラミング)はアジャイル開発手法の一つです。ペアプログラミングでは、二人が一つのプログラムを一緒に作り、その場で相談やレビューをします。入力と確認の役割を交代することもあります。

テスト駆動開発(TDD)は、プログラムを書く前にテストケースを作る進め方です。テストで確かめたい振る舞いを先に定め、そのテストを通す実装を進めます。

バーンダウンチャートは、時間に対する残作業量の推移を示します。作業が進むと残作業量は減り、完了時にはゼロになります。

CMMIは、開発組織などのプロセス能力や成熟度を評価し、改善に役立てるためのモデルです。開発工程の順序や、成熟度ごとの手順を定めるモデルとは区別します。

適用条件と例

例えば、利用者が試作品を見て「検索条件を保存したい」と伝えたとします。次のイテレーションでその要望を検討し、動く成果をまた確認してもらえば、作り手の想定と利用者の必要とのずれを小さな単位で調整できます。イテレーションは、短い期間で計画・開発・確認を繰り返す進め方です。

ペアプログラミングは、二人が同時に一つのプログラムを共同で作る場合に当てはまります。一方が入力し、もう一方が確認や助言をする形が例です。別々の機能に分かれて作ることや、利用者と画面案を相談することとは異なります。XPのプラクティスの一つとして扱われています。

TDDの小さな例として、割引計算の条件を決めたテストを先に作り、まだ実装がない状態で失敗を確認してから計算処理を追加します。テストを先に用意する順序が特徴です。

バーンダウンチャートでは、時間の経過に伴う残作業量を追います。例えば、開始時に残作業が18件あり、進捗に応じて減少し、すべて完了するとゼロになる様子を表します。

過去の出題で扱った補足として、コンカレントエンジニアリングは、設計部門と生産部門などの作業を並行して進める方法です。社内の部門間連携を通じて開発を進める例として捉えられます。

誤りやすい点

イテレーションの目的は、短い開発サイクルで成果とフィードバックを次に反映することです。タスクの見える化や毎日の状況共有、ペアでの役割交代は、それぞれ関連する実践ですが、イテレーションそのものの目的と同じではありません。

ペアプログラミングは二人で一つのプログラムを作る方法です。二人で別々のプログラムを分担することや、長時間続けることを定義の中心にしないようにします。

TDDではテストケースを実装より先に作ります。テストケースを何度も改善することや、テスト範囲を広げることだけでは、この進め方の特徴を表せません。

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む