はじめに
アジャイル検定Lv.1を受験しました。
その試験直前にまとめた内容を共有する記事で、『アジャイル検定公式テキスト』の内容メモです。
受験までにしたことや結果は以下の別記事で紹介しています。
プロジェクト管理
アジャイルチームは以下の3つから成る。
- 開発チーム
- プロダクトオーナー
- チームリーダー
チームの規約を作る。
顧客の関係者やプロダクトオーナーと開発チームが同一の拠点で作業し気軽に会話できる環境が理想。
開発チーム
計画、管理、実行、コミュニケーションを開発チーム自身で行う。
プロダクトオーナー
開発する製品の最終責任者。
プロジェクトのビジョンや製品の提供する価値をチームに伝える。
ストーリーの管理に責任を持つ。
チームリーダー
アジャイル開発に関するコーチングを行う。
外部の妨害からチームを守る。
プロジェクト全体計画
ストーリーの洗い出しと優先順位付け。
プロジェクトの最初に、イテレーションの長さと実施する回数を計画。
どのイテレーションでどのストーリーを実装、リリースするかの計画立案。
イテレーションの流れ
イテレーションは、各開発サイクルのことで、数週間から数ヶ月程度。
イテレーション開始前に、優先順位に基づき次のイテレーションでの開発範囲を決定。
イテレーション計画で対象のストーリーをタスクに分解し、そのイテレーションで実施可能な範囲にスコープを変更。
イテレーションの終わりにはチームの反省会(レトロスペクティブ)を行い、技術的な問題やプロセスに関することについても話し合う。
イテレーションのレビュー会議は開発チーム主催で、利害関係者に成果物のデモンストレーション等を行う。
イテレーションの期間中はチームでの問題や課題はチーム内で解決するのが基本。
チームの振り返り
アジャイルチームの振り返りは、毎週日時を決めて実施するのが一般的。
各種手法
ペアプログラミング
- ドライバー
タイピングする人。基本的にはナビゲータの指示通りにコードを書き、疑問点がある場合にはディスカッション。 - ナビゲーター
コード設計をドライバーに指示。
役割は一定時間ごと、ペアは日ごと程度で変えると良い。
休憩を定期的に取ることをルール化することが必要。
リファクタリング
開発効率の向上、提供までの時間が短くなるユーザーメリットもある。
ソースコードに手を加えるタイミングに少しずつ行う。
常時結合(CI: Continuous Integration)
- コミット
- 自動ビルド
- 自動テスト
- フィードバックからバグを修正
の流れが良い。
問題の早期発見や素早いフィードバックがメリットである。
テスト駆動開発
- テストコードを書く
- テストを通るように機能を実装
- リファクタリング
各テストコードは独立であり、最初はコンパイルエラーとなる。
まとめ
アジャイル開発とはよく聞く開発手法ですが、ウォーターフローとの比較で用いられる言葉であり、実際の開発ではその中のスクラム開発とかを採用しているようだと思いました。