Ⅰ. アジャイル開発概要
1.アジャイルとは
1990年代後半から出現してきたいくつかの軽量(ライトウェイト)なソフトウェア開発プロセスの総称
2.目的
アーキテクチャや開発環境を早期的に明らかにするため
3.特徴
①. 繰り返し型の開発
・繰り返す単位となる開発期間は1週間から1ヶ月程度、イテレーション単位で逐次推進する
・要件をスートリー単位で、テスト、設計、コーディングを並行して行う
・動作するソフトウェアを作ったら、すぐ顧客に確認してもらうことで、素早いフィードバックを貰う
②. スコープの最適化
開発範囲を最適化によって、高品質、低コスト、短納期で開発できることを実現すること
③. 頻繁なリリース
自動化ツールを用いて、短期間でシステムをリリースすること
④.多用工
開発者が一人ですべての工程を担当すること
⑤. 柔軟なプロセス
状況に応じて、やり方を変化させることが可能
Ⅱ. アジャイル的なプロジェクト管理
1.アジャイルチームのメンバーの構成
①.開発チーム
②.プロダクトオーナー
③.チームリーダー
2.チームの特徴
①.自己組織化
②.機能横断的
3.チームの人数
5~9人が適切
4.意思疎通
①.プロジェクトのビジョンの共有
プロジェクトの背景、コールをアジャイルチームと利害関係者全員で共有する
②. プロジェクトの方針の共有
マイルストーン、制約と優先順位、採用技術や技術的な解決策、リスクなど、チーム全員に共有しながら、早期対応する
5. イテレーション的な開発プロセス
①.イテレーションの期間は1週間~4週間
②.イテレーションは毎週同じ固定期間として、途中から変えない
③.イテレーションの中では、計画されたタスクの内容やメンバーの変更は行わない
6. 作成物
①.ストーリー
顧客の目線で実現したいこととその価値をシンプルに記述したもの
②.タスク
イテレーションで実施する項目
③.実行可能な成果物
イテレーション計画会議で決めたストーリーを実現する成果物
7.イベント・会議体
①. イテレーション計画会議
次のイテレーションで「どのような価値のある成果物をリリースするのか」、「それを達成するにはどうするのか」についてアジャイルチーム全員で話し合い、合意して作成計画
②. スタンドアップミーティン
イテレーションの期間、進捗や予定、問題の共有を行う日次の会議
③. イテレーションレビュー会議
イテレーションのレビュー会議は、イテレーションの最後に、開発した製品のレビューを行う場
④. 振り返り
アジャイルチームが自己組織化されたチームとなるためのきっかけとなる活動
⑤. イテレーションの振り返り
イテレーションが終わって次のイテレーション計画が始まるまでの間に、行う振り返り
8.計画の方法
①.ストーリーの洗い出しと優先順位付け
②.プロジェクト全体計画を作る
③. イテレーション計画を作る
9. 見積の方法
①.各ストーリーの数値化
・ストーリー同士の重みづけの比較
・ストーリーの優先順位づけ
・プロジェクト全体計画時の実施可能範囲の算出(ストーリー自体の追加・削除を含む)
・付与したストーリーポイントには、ストーリーを実現するために必要なすべての作業がふくまれていること
②.ストーリーポイントの付与
・チーム全体で行う
・ストーリーを実現するのに必要な作業すべてを含めてポイントを付与する
・ストーリーポイントが大きすぎ時は、ストーリーの分割を行う
・詳細の見積りはプロジェクト全体計画時に行わず、イテレーション計画でタスク分解した際に行う
10.品質の把握
①. ストーリーの完了条件を明確にする
②. 常に状況把握を行って分析し、軌道修正する
③.様々なプラクティスを活用する
・常時結合
・リファクタリング
・ペアプログラミング
11.必要なドキュメント
①. 設計判断の根拠を示したドキュメント
②. アーキテクチャ設計のドキュメント
③.保守・運用に必要なドキュメント
Ⅲ. アジャイル的なチーム運営
1.目標
自律したアジャイルチームの育成
ポイント:
①. 自助努力と協力
②. 全員がチームのまとめ役
③.チーム活動の透明性
④.タイムボックスで動かす
⑤.チームとしての価値観の共有
等々
2.求めらること
①. 顧客を意識する
②. 必要な作業を全員が等しく実行する
3.必要な要件
①.人間性の尊重
②.コミュニケーション
③.自律と協調
④.チームの規約
⑤.チームの振り返り
Ⅳ. アジャイル開発の主な手法
1. ペアプログラミング
2. リファクタリング
3. 常時結合
4. テスト駆動開発
※説明は割愛する
Ⅴ.参考文献
アジャイル検定公式テキスト|アジャイルソフトウエア開発技術者検定試験コンソーシアム