web-dev-qa-db-ja.com

ウォーターフォールのほかに、他の計画主導のソフトウェア開発方法論は何ですか?

バランスの取れた敏捷性と規律 を読んだだけです。タイトルはさておき、PSP/TSPを採用していた計画主導型のプロジェクトチームと、Extreme Programmingを使用したアジャイルチームとは対照的でした。

著者が計画主導の方法論の例を提供したとき、彼らはパーソナルソフトウェアプロセス/チームソフトウェアプロセスを使用しました。すぐに使用できるこれらは計画主導の方法論ですが、プロセスフレームワークとして使用するようにも設計されており、最終的には実行する処理の種類ではなく、実行する処理の種類のみを指定します。アジャイル環境でも。俊敏でありながらPSPの原則を順守することは可能であり、私はTSPについて十分に理解していません。

本のある時点で、彼らはいくつかの方法論をリストし、敏捷性の観点からそれらをランク付けしています。スクラム、リーン、Crystal、およびXPのようなメソッドが一番上にあります。一番下(アジャイルが多いものから)まで)は、Rational Unified Process、チームソフトウェアプロセス、機能駆動開発、 CMMI、ソフトウェアCMM、パーソナルソフトウェアプロセス、クリーンルーム。

PSP:ソフトウェアエンジニアのための自己改善プロセス のWatts Humphreyは、プロセス定義、特にパーソナルソフトウェアプロセスの変更についての章を提供しています。共通のテーマは、プロセスは規範的(彼らは何をすべきかを言う)であり、記述的ではない(それをどうするか)ことです。 TSPもほぼ同じだと思います。 CMMIはアジャイルメソッドとも組み合わせて使用​​されています SEIには本があります (まだ読んでいません)。

機能主導の開発は、プロジェクト管理へのアジャイルアプローチとしてよく宣伝されていますが、著者はそれをアジャイル性の低い方法論としてランク付けすることを選択しています。

RUPは反復フレームワークです。信じられないほど詳しくはありませんが、フレームワークであるため、SW-CMM、CMMI、およびPSP/TSPでグループ化すると、アジャイルまたは計画主導の方法論として実装できます。

本が同意する他の唯一の例は Cleanroom Software Engineering です。クリーンルームの主要なコンポーネントは、正式な方法の使用、統計的な品質管理、および統計的に適切なテストです。時間とコストのオーバーヘッドが加わったため、これらをアジャイル(反復/増分)メソッドで使用できなかった理由はわかりません。

私が何を求めているのかを明確にするために、アジャイルメソッドのファミリーには、スクラムとエクストリームプログラミングの形で抽象的なアイデアの特定の実装が含まれています。これらは、反復的で段階的な開発、変化への対応、人(個人とチーム)、頻繁に機能するソフトウェアの配信、顧客との共同作業などの概念を実現します。彼らは役割、成果物、会議、タイムボックス、およびその他のプラクティスを明確に指定し、「スクラムを実行する」または「エクストリームプログラミングを実行する」とは、パッケージを取得することを意味します。たとえそうであっても、それらは調整可能性と新しいプロセスの作成を可能にします(しかし、あなたは「スクラムをしている」または「XPをしている」わけではありません)。しかし、私は計画主導の方法論の「do X」を見つけていません。ほとんどの作業は、アジャイルまたは計画主導のフレームワークに向けられているようです。

だから、私の質問:より計画主導のソフトウェア開発方法論の例は何ですか?多くのプロセスフレームワーク(PSP/TSP、SW-CMM、CMMI、RUP)では、計画主導またはアジャイル開発も可能ですが、説明的なものはありません。しかし、たとえばスクラムやエクストリームプログラミングに直接対応するような、真に計画主導の方法論はありますか?

8
Thomas Owens

正直なところ、私は、アジリティと規律を互いに相殺する本でなされたいかなる主張の正当性にも疑問を持っています。アジャイル方法論は、私の経験では、他の種類の開発よりもはるかに多くの規律を必要とします。

つまり、アジャイルプロセスのメリットを活用する場合は、アジャイルプロセスに付随する有効化プラクティスに従う必要があります(Martin Fowlerの Is Design Dead の記事を参照してください。彼は主にXPについて話していますが、私の意見では、それはすべての敏捷性に適用されます)。それには多くの規律が必要です。

しかし、あなたの質問に答えるために、私は本当に計画主導の方法論はすべてウォーターフォールのバリエーションであると思います Spiral は、ウォーターフォールアプローチに切り替える前に、プロトタイピングの複数のレベルを介して開発を行います- キャップ​​ジェミニSDM 、これは非常に明確なフェーズを持つウォーターフォールであり、各フェーズは別のフェーズが開始する前に終了します。

5
pdr