アジャイル開発Tweetアジャイルサムライの書評です。アジャイル関連で個別に記述した記事と重複する箇所もあるかと思います。継続して動作する成果物を提供する。それを実現するためには、アジャイルな計画を行う。システムで実現する機能をユーザーストーリーとしてまとめ、そのユーザーストーリーを列挙してマスターストーリーを作成。各ユーザーストーリーに難度と優先度を設定することで各イテレーションで行うべき作業の選定や、1イテレーションでどの程度の課題をこなすことが出来るか(ベロシティ)を見積もることが出来る。補足として、アジャイルな開発が必要となるのには主に以下の3つの理由がある。開発開始時には必要な仕様は出揃わない。やるべきことは時間・予算の制約よりも大きい。どれもある程度の開発経験のある技術者ならうなずける内容です。明確な役割を持たずどんな仕事もメンバー全員でこなしていく姿勢が重要となる。顧客もチームメンバーとみなし可能な限り近い距離で連携することで仕様の齟齬を減らしプロジェクトの真実を常に知ってもらうことが出来るためにリスクが隠蔽されるような状況を回避出来る。アジャイルな方向づけみんなをバスに乗せるプロジェクトの目的を共有したり、問題を洗い出すために開始時にはインセプションデッキを利用する。インセプションデッキの詳細に関しては以下に続く。対象システムの利用者がどのようにシステムを利用するのか可能なら直接現場を見て理解すること。『エレベーターピッチを作る』エレベーターピッチのテンプレートなどを利用してシンプルで分かりやすく対象システムを説明出来るようにする。[課題を解決]したい[対象]向けの[プロダクト名]というプロジェクトは[カテゴリー]ですこれは[利点]でき[代替]と違って[特長]が備わっている『パッケージデザインを作る』ビジョンを共有したり、外へのアピールに使えたりする。『やらないことリストを作る』やることとやらないことと後でやることをいつでも分かるように管理する。『「ご近所さん」を探せ』プロジェクトに関わる関係者を早めに想定し、コミュニケーションをとっておく。『解決案を描く』アーキテクチャーの検討を行い、開発に必要となるメンバーやコスト(ソフトやサーバー等)を見積もる。対応を必要とするリストを重視し、対応しようがないリスクは除外する。『何を諦めるかはっきりさせる』トレードオフスライダーを用いて、各要素の優先度決めを行う。あり、基本はスコープを減らすことで全体の工数を調整する。人員やソフト、ハード等の必要なコストを洗い出す。アジャイルな計画づくりユーザーストーリーを集めるユーザーストーリーはINVESTを意識して作成すること。独立している(Independent)交渉の余地がある(Negotiable)価値のある(Valuable)見積もれる(Estimable)小さい(Small)テスト出来る(Testable)ストーリー収集ワークショップ複雑なストーリの作成が必要になった場合には以下のような手法を利用する。初期から厳密な見積もりをすることは不可能。数イテーレーションを経て、過去の作業からチームのベロシティを割り出し、それを元に相対的に見積もりを行う。ベロシティは難易度に応じたポイントで計算。現実と向き合うイテレーション、ベロシティを用いた見積を行い全体の工程をバーンダウンチャートで管理する。ダウンチャートは残課題のポイント総計を時系列にグラフ化する表。この表で、残作業の量や各イテレーションでのベロシティが分かりやすく管理出来る。アジャイルなプロジェクト運営イテレーションの運営ドキュメントは必要最低限。1イテレーションは1-2週間。分析-実装-テストを繰り返す。分析時はユーザーストーリーに概要、画面、テスト条件などを追加する。ユーザーストーリーを実際の作業単位ごとのタスクに分割する。実装時は自動テストを導入し、いつでもリファクタリングや改修+退行テストが容易に行えるようにする。結合環境は継続ビルドを行うことでシステムを常に健全な状態に保つ。様々な手法があるが、メンバーにあった方法で。毎日スタンドアップミーティングで意思共有。イテレーションごとに振り返りを行い、次イテレーションに活かす。使用する業務用後の統一。同じ言葉で話せるようにする。変数などの統一にも貢献。貼り物を増やして、重要な情報をいつでも共有できるようにする。→対面で開発できない場合は似たような機能をもつソフトの導入を検討アジャイルなプログラミングユニットテストユニットテストの自動化で退行テストの工数を減らす。そのことでリファクタリングのリスクを減らし、コードを高品質に保つ。テスト駆動開発でシンプルな設計、要件漏れを防ぐ。継続的インテグレーションバージョン管理システムとビルド自動化とビルドエージェントの導入により継続的に結合環境を提供。結合以降の問題を早期に発見してリスクを軽減。いつでもリリース可能な状態にできる。書評通り非常に読みやすく、表現や図表での説明などとっつきやすく退屈させない作りなのでワクワクしながら最後まで読むことが出来ました。注意点としては既にアジャイル開発、XP、スクラムについて熟知している方にはあまり参考にならないと思います。逆にアジャイルって何?とか、これからアジャイルを導入したい、という人には最高な書籍です。これから仲間を集めて開発を開始するところだったのでアジャイルサムライの手法を即試そうと思います。づけ自分の内からでるモチベーション「内発的動機づけ」を支援するためのブログを開設しました。)Podcast自分の内からでるモチベーション「内発的動機づけ」を支援するためのブログを開設しました。tbpgr】楽しくない7次受けSIerはてなブログをはじめよう!tbpgさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。