There are numerous Agile software development methods. Which ones have you used in practice to deliver a successful project, and how did the method contribute to that success?
5 に答える
私は、'アジャイル' な方法で動作すると主張するかなりの数の組織に関与してきました。彼らの処理は通常、XP (極端なプログラミング) に基づいているように見えましたが、ほとんどすべてのプラクティスに従っている組織はありませんでした。
そうは言っても、XP のいくつかのプラクティスについてコメントできると思います。
単体テストは、プロジェクトの最初から実行すれば非常に役立つようですが、既存のコードベースに入って単体テストを追加しようとするのは非常に難しいようです。ゼロから始める機会があれば、テスト駆動開発は本当に役に立ちます。
継続的インテグレーションは本当に良いことのように思えます (というか、それがないのは本当に悪いことです)。とはいえ、私が見た組織はたいてい非常に小さいため、他のアプローチはばかげているように思えます。
ユーザー ストーリー カードは、優先順位付けのために物理的なオブジェクトを配置できるという点で優れていますが、開発者がドメインを本当に知っているか、オンサイトの顧客がいない限り、十分に詳細ではありません (私はこれまでに経験したことがありません)。実際に見た)。
スタンドアップ ミーティングは、新しいチーム メンバーが全員のことを知り、彼らが取り組んでいることを知るのに非常に役立ちます。ベテランはすぐに手を緩めて、「私はまだ X に取り組んでいます」のようなことを言うだけです。彼らはこの 1 週間ずっとそうしてきました。
リファクタリングは現在、非常に誤用されている用語ですが、十分な単体テストがある場合、「機能を変更せずに既存のコードの設計を変更する」アクティビティを「新しい機能を追加する」アクティビティから概念的に分離することは非常に役立ちます。
Scrum because it shows where the slackers are. It also identifies much faster that the business unit usually doesn't have a clue what they really want delivered
スクラム。
毎日のスタンドアップ ミーティングは、物事が順調に進んでいることを確認するための優れた方法です。また、製品/市場関係者を実際に有意義な方法でプロセスに参加させることも重要だと思います. これにより、より協調的な環境が作成され、製品チームと開発チームが別々の「サイロ」になっているときに発生する多くの敵対的なゴミが取り除かれます。
定期的なふりかえりを行うことは、チームがより効果的/機敏になるのに役立つ優れた方法です。このプラクティスは、アジャイルの特定のフレーバーに固執するだけでなく、チームがうまく機能しているものを特定し、変化する環境に適応するのに役立ちます。
ふりかえりを実行している人が自分のしていることを知っていることを確認してください。そうしないと、不平を言うセッションに陥る可能性があります。
チームがふりかえりから価値を反映して抽出するのを助けるために、チームに実施できる演習がいくつかあります。Software Engineering Radio でのLinda Risingのインタビューを聞くことをお勧めします。
詳細については、「Heartbeat retrospectives」を Google 検索してください。
私は、XP とスクラムのプラクティスを使用して、リーンを散りばめたチームと協力してきました。とても生産的でした。
Daily Standup - 全員が何にどこで取り組んでいるかを完全に追跡するのに役立ちます。
ペア プログラミング- コード ベースが改善され、システムに導入された「ばかげた」バグの除去に役立ちました。
反復開発- 1 週間の反復を使用することで、より直接的な目標を設定することで速度が向上し、要件のサイズ設定にも役立ちました
TDD - プログラミングの方法を変えるのに役立ちました。今では、壊れたテストを修正しないコードを記述したり、要件が明確に定義されていないテストを記述したりしません。また、開発者と BA が要件を理解するのに非常に役立つ実行可能な要件も使用しています。
かんばんボード- 現在地をリアルタイムで表示します。マイルストーンと現在のイテレーション用に 1 つあります。何が残っているのか、何が行われているのか、何が行われて受け入れられているのかが一目でわかります。毎日のスタンドアップで、ボード上の内容に関連する何かを報告しない場合は、説明する必要があります。
共同配置されたチーム- 全員が最新の状態にあり、他の全員が行っていることと一致しています。コミュニケーションはジャスト イン タイムで非常に生産的です。キューブを見逃すことはありません。