Extreme Programming: A gentle introduction.

http://www.extremeprogramming.org/

最近ウチの部署では「XP」(Windowsではありません)という言葉がブームです。「XP」(eXtreme Programming)というのは開発の方法論で、クライスラーでの Smalltalk によるシステム開発において、伝説のプログラマーとも言われたWard Cunningham、Martin Fowler、Ron JeffriesらとともにKent Beckが体系化したものです。
長所は上記記事で色々言われているのですが、このXPという方法論で勘違いされている点があります。

(1)仕様書は要らない

「XP」ではハッキリとした成果物が定義されていません。しいて言うなら、複数のPost-itが貼られたChartぐらいのものでしょう。
これは要求をReal Timeで汲み上げ、仕様に反映させるという事なのですが、悪く言えば「作りっぱなし」です。
保守はコード第1ですが、仕様書を参照することが多々あります。開発者が保守担当者になるのは稀なので、仕様書は非常に有効です。仕様書・設計書は、頂いたお金の対価と考えるべきだと思うのです。

(2)プログラム開発者に必須

「XP」は先程お話した通り、スーパープログラマの作った方法論です(実践原則に1日40時間労働とか書いてあるし)。万人が出来る訳ではありません。

他にもXP Value(Nearly Concept)の1つに「勇気」があったり、なかなかGeniusな方法論ですが、常に顧客の要求をシステムに反映させる即応性と、ペアプログラミングによる常時レビュー等素晴らしいコンセプトがあります。
何より開発を成功させる根本は、技術的な側面ではなく、CommunicationやFeedback等人間的な側面に依存するというのは非常に共感できます。

「XP」という方法論は、大規模開発ではサブシステムよりも更に狭い範囲で絶大な効力を発揮するのではないかと思います(勿論定義されたシステム全体の要件を変更する必要が出るような事は手戻りになるので避けますが)。

今回議題にした「XP」や構造化手法、RUP(Rational Unified Process)等の開発方法論は万能ではありません。
その長所・短所をハッキリさせ、Projectの特性によって選択するのが最良ではないかと思います。

コメント

お気に入り日記の更新

この日記について

日記内を検索