エクストリームプログラミングとは XPのルールと値の概要
1990年代には、インターネットの台頭により、ソフトウェア開発の変更が必要になりました。 企業の成功が企業の成長と製品の市場投入のスピードに依存していた場合、企業はソフトウェア開発のライフサイクルを劇的に削減する必要があ,
この環境でKent Beckがextreme programming(XP)を作成したのは、短期間の開発サイクルで頻繁なリリースをサポートし、ソフトウェアの品質を向上させ、開発者が変化する顧客の要求に対応できるようにするアジャイルプロジェクト管理手法である。
他のプロジェクト管理手法からこれらのプラクティスと値のいくつかを認識するかもしれませんが、XPはこれらのプラクティスを”極端な”レベル,
“初めてチームを率いるように頼まれたとき、私はテストやレビューのように、私が賢明だと思ったことを少しやってもらいました。 二回目は、ライン上のより多くのがありました。 私は…私が不可欠だと思ったものに10にすべてのノブをクランクアップし、他のすべてを残すためにチームに尋ねました。”
あなたとあなたのチームがすぐにリリースし、顧客の要求に応答する必要がある場合は、極端なプログラミングの値とルールを見て,
エクストリームプログラミング方法論の値
XPは、プロジェクトを管理するための単なる一連の手順ではありません—それはあなたのチームがより速く作業するのに役立ちます値のセットに従います-それはあなたのチームがより速く作業するのに役立ちます値のセットに従いますそしてより効果的に協力しなさい。
シンプルさ
チームは求められていることを達成し、それ以上は何も達成しません。 XPが各ステップの主要工程まで、達成可能な目標のためにチームメンバる国での生活を経験しました。,
合理化されたコミュニケーション
チームは、要件の収集からコードの実装まで、プロジェクトのあらゆる部分で協力し、毎日のスタンドアップミーティングに参加し、すべてのチームメンバーを更新し続けます。 すべての懸念や問題はすぐに対処されています。
一貫性のある建設的なフィードバック
XPでは、チームはプロジェクトや顧客のニーズに合わせてプロセスを適応させます。 のチームを発揮するソフトウェア早くようにすることのできる、お客様の声にならない。,
Respect
エクストリームプログラミングは、”すべてのために一つとすべてのために一つ”の考え方を奨励しています。 チームの各人は、階層にかかわらず、彼らの貢献のために尊重されます。 チームは顧客の意見を尊重し、その逆もまた同様です。
勇気
チームメンバーは、発生するにつれて変化に適応し、自分の仕事に責任を負います。 彼らは彼らの進歩についての真実を告げる—人々をよりよく感じさせる失敗のための”白い嘘”か弁解がない。 誰も一人で働かないので恐れる理由はありません。,
rules of extreme programming methodology
Don Wellsは、エクストリームプログラミングが計画、管理、設計などのソフトウェア開発に必要な活動をサポートしていないという主張に対抗するために、1999年に最初のXPルールを発表した。 ソフトウェアの計画からテストまで、反復ごとに次の基本的な手順に従います。
計画
この段階では、UXの魔法が起こる場所です。, 顧客は、長い要件ドキュメントではなく、顧客が見たい機能と、それらの各機能のビジネス価値と優先順位を定義するユーザーストーリーを書きます。 ユーザーストーリーは網羅的または過度に技術的である必要はありません—チームがそれらの機能を実装するのにかかる時間を決定するのに役立つ十分な詳細
Lucidchartを使用すると、お客様は基本的なフローチャートを作成し、目的の機能を簡単に記録して共有することができます。,
そこから、チームはリリーススケジュールを作成し、プロジェクトをイテレーションに分割します(一から三週間の長さ)。 プロジェクト管理者が作成タイムラインまたは簡単に私のスケジュールのチームです。
管理
この段階では、プロジェクトマネージャーは、この方法論で成功するためにチームを設定します。 誰もが協力して作業し、効果的に任意のslipupsを避けるために通信する必要があります。 この段階では、
- チームのためのオープンワークスペースの作成
- 持続可能なペースの設定(すなわち, XPがチームにとって完全に機能していない場合のルールの変更
設計
このルールは、単純さの価値に戻ります。—– 機能を早めに追加しないでください。 コードを清潔で簡潔に保つために頻繁にリファクタリングします。, をスパイク解の解決策を探る潜在的な問題なしチームです。
Kent BeckとWard Cunninghamはまた、XP方法論の一部として使用するクラス責任コラボレーション(CRC)カードを作成しました。 これらのカードであることを確認、プロジェクトチームを率いるデザインシステムのようにして物体との交流を図っています。 このブレーンストーミングツールを自分で試してみたい場合は、Lucidchartテンプレートを使い始めてください。,
コーディング
その後、時間は最終的にコードを実装するようになります。 XPの実践総合コードの所有権の皆様のレビュコード及びダウンローの追加機能-バグ修正、refactor. 集合的なコード所有権が機能するためには、チームは次のようにする必要があります。
- システムメタファー(標準化された命名方式)を選択します。
- ペアプログラミングを練習します。, チームメンバーは、単一のコンピューターでペアで作業して、コードを作成して本番環境に送信します。 一度にコードを統合するのは一つのペアのみです。
- 数時間ごとにコードをリポジトリに統合してコミットします。
顧客は、質問に答えて要件を確立できるように、このプロセス全体の間に、できれば現場で利用できるようにする必要があります。
Testing
チームは単体テストを実行し、コードをリリースする前にバグを修正します。 受け入れテストも頻繁に実行されます。,
エクストリームプログラミングを使用するとき
XPがルールと値を読んだ後でも、チームのニーズに合うかどうかはまだわかりませんか? 極端なプログラミングは、
- システムの機能が数ヶ月ごとに変更されることを期待しているチームにとってうまく機能します。
- 常に変化する要件を経験したり、システムが何をしたいのかわからない顧客と協力したりします。
- プロジェクトのリスクを軽減したい、特に締め切りの厳しい時期。
- 少数のプログラマを含める(2と12の間が望ましい)。
- 顧客と緊密に連携することができます。,
- は、自動化されたユニットと機能テストを作成することができます。
コラボレーションと継続的な開発がチームの優先事項である場合、極端なプログラミングは試してみる価値があるかもしれません。 この高度に適応可能なモデルは、顧客からの継続的なフィードバックを必要とし、途中でエラーを予測し、開発者が協力する必要があるため、XPは正常な製品,
XPを使用する場合は、Lucidchartでユーザーストーリー、リリーススケジュール、CRCカード、およびシステムドキュメントを視覚的に文書化してみてください。 今日あなたの無料アカウントにサインアップ。