Extreme-programming-scrum-plus-extreme-programming
スクラム+エクストリームプログラミング
エクストリームプログラミングは、存在するようになった最も早いアジャイル手法の1つであり、絶えず進化しています。 Extreme Programmingを進化させたKent Beckは、最高のプログラミング手法を使用し、それらを極端に活用するという前提で開発しました。
現在のシナリオでのエクストリームプログラミングは、現時点で業界で普及しているベストプラクティスに焦点を当てており、それらを極限まで進めています。 最も一般的な例は、テスト駆動開発、チーム全体アプローチ、持続可能なペースなどです。
XP –テクニックとしての柔軟性
エクストリームプログラミングが非常に人気がある理由の1つは、その柔軟な性質です。 さらに、エクストリームプログラミングはプロセスよりもテクニックに関するものであるため、プロセス中心のアプローチとうまく融合しています。 そのため、どこでも、極端なプログラミングの機能を他のアイデアと簡単に組み合わせることができます
- エクストリームプログラミングのプラクティスの一部は、このプロセスでは無料です。
- エクストリームプログラミング自体は、実装には適していません。
ただし、選択したエクストリームプログラミングプラクティスはすべてコアに実装する必要があることに注意してください。 そうでない場合、エクストリームプログラミングを使用していると主張することはできません。
実際、これはあなたが取り上げるすべてのプロセスに当てはまります。 ミックスアンドマッチは許可されますが、無料の機能を使用していて、使用されている機能の価値について妥協しない場合のみです。
現在使用されている最も人気のあるエクストリームプログラミングハイブリッドは、スクラム+エクストリームプログラミングハイブリッドです。 基本的で現在も普及しているソフトウェア開発方法論-ウォーターフォールモデルから始めます。
滝モデル
ウォーターフォールモデルでは、開発は段階的に進行し、前のフェーズが完了するまでフェーズを開始できません。
一部の組織は従来の方法論として認識していますが、Waterfall Modelはいくつかの組織でまだ使用されています。 開発が始まる前に要件が完全にわかっていれば、確立された効果的な方法論です。 このプロセスは簡単で、トレーニングや指導は必要ありません。
覚えておく必要があるのは、すべての状況に理想的な方法論はなく、すべての方法論には長所と短所があるということです。 したがって、コンテキスト、環境、顧客の関心に合った方法論を理解する必要があります。
ウォーターフォールの方法論の欠点を見てみましょう-
- 開発の開始前にすべての要件を把握する必要があるため、要件が不完全またはあいまいな場合には適していません。
- 方法論は一方向で前向きであるため、最終製品に関してはより明確になりますが、どのフェーズからのフィードバックも以前のフェーズに戻すことはできません。
- テストは、要件の収集や開発などの初期の段階に関与していなかった開発者のチームと一緒に、開発の完了後にのみ行われます。 このテストラストアプローチは、多くの場合、欠陥の封じ込め、高い欠陥率、顧客によって発見された高い欠陥をもたらします。
- 動作中の製品は開発が終了するまで利用できないため、適切に開発されているにもかかわらず、正しいものが構築されているかどうかについての手がかりはありません。
- 要件の欠陥修正と変更は、設計を破る可能性が高く、発生するコストが高いため、吸収するのが困難です。
開発でこのような状態を予測する場合、アジャイル手法が最適です。
アジャイル手法
アジャイル方法論の擁護者-
- 稼働中の製品が頻繁にリリースされるため、適切なタイミングでフィードバックを受け取ることができます。
- 全員が最終製品に対して責任を負い、説明責任を果たすチーム中心のアプローチ。
- 顧客への価値の提供、顧客の期待に応え、投資収益率に焦点を当てた柔軟な計画。
- 提供される最終製品が陳腐化しないように、開発のあらゆる時点で変更を受け入れる準備ができている。
いくつかのアジャイル手法が登場しましたが、その中でスクラムがより一般的になり、広く使用されています。
スクラムはどのように違いを生み出しますか?
スクラムでは、プロジェクトはリリースとタイムボックス化された短いスプリントに分けられます。 すべてのスプリントについて、顧客が優先順位を付けたスプリントで提供できる必要かつ十分な機能のみを使用します。 各スプリントの最後に、リリース可能な製品が完成します。
要件はバックログアイテムと呼ばれ、反復はスプリントと呼ばれます。 テストファーストアプローチによる継続的テストが適応されます。 開発者とテスターは、バックログ項目であるユーザーストーリーの作成にも参加します。 これにより、チームの全員が製品の動作を事前に把握でき、スプリントの開始時に受け入れ基準に到達するのに役立ちます。
スクラムは、その定義により、前述のとおり、特定の状況で効果的ですが、他の開発方法論と同様に独自の欠点があります。
- タイムボックス化されたスプリントでは、開発とテストの両方を妨げるリリーススケジュールの柔軟性が得られません。
- スクラムは、それ自体では開発の方向性を示しません。
したがって、スクラムは通常、開発戦略に重点を置いた他のアジャイル手法と組み合わされます。
スクラム+エクストリームプログラミングハイブリッド
スクラムは、絶え間ないコミュニケーション、頻繁なフィードバックループ、リファクタリング、共同所有、継続的統合、テスト駆動開発などのエンジニアリングの側面に焦点を当てたエクストリームプログラミングを補完するエクストリームプログラミングプラクティスを組み込んで非常に頻繁に使用されています。 スプリント、バーンダウンチャートなどの固定範囲に焦点を当てたスクラム
- スクラムは定義された方法論であるため、プロジェクトの初日から簡単に適応できます。
- エクストリームプログラミングはコミュニケーションとチームの結束を重視しているため、チームは開発により重点を置いています。
したがって、スクラムとエクストリームプログラミングのハイブリッドが効果的であることがわかります。
スクラム+ XPハイブリッドプロジェクトのツール
SpiraTeamやRapiseなどのツールは、スクラム+エクストリームプログラミングハイブリッドプロジェクトを対象としています。SpiraTeamは、スクラムおよびエクストリームプログラミングプロジェクト向けにカスタマイズされた1つの統合ビューで、主要なプロジェクトの品質および進捗インジケータのレポートダッシュボードを提供します。
指標のいくつかは-
- 要件テストの範囲
- タスクの進捗
- プロジェクト速度
- 主なリスクと問題
Rapiseツールは、開発プロセスに完全に統合でき、変化するニーズに適応できるテスト自動化ソリューションです。 デスクトップ、ウェブ、モバイルアプリケーションのテストに使用できます。 このツールは、開発者、テスター、ビジネスユーザーが受け入れテストを生成するために使用できます。