Unified ProcessとScrumを比較してみる

有名なイテレーティブ系の開発プロセスであるUnified Processと、もっともよく利用されているアジャイル開発プロセスであるScrumのオーバービューを一枚絵にまとめてみました。

かなり抽象化していますし、私の理解が浅いので、突っ込みどころも多いですが、少なくとも私にはこう見えています。

Unified Process



Scrum



考察


Unified Processはオブジェクト指向、要件、設計、実装のモデル化を基盤としたソフトウェア・エンジニアリングありきの開発プロセスです。開発プロセスそのもののフィロソフィもオブジェクト指向的です。一方で、Scrumはかなりビジネス・ドリブンで、早い話が「ROIの最大化」「権力をProduct Ownerに集中することによる即断即決」「マーケットの変化への対応性」に焦点が当てられていて、あまりソフトウェア・エンジニアリングのにおいがしません(ソフトウェア開発以外の領域でもそのまんま使えそう・・・。)


Unified Processが大規模で複雑なシステムをきっちり作れそうな雰囲気なのに対し、Scrumは市場変化が激しいWebサービス業界で次々にサービスを改良していく雰囲気です。
開発プロセスが対象とするスコープや想定する市場がかなり異なり、どちらが良いとも言えないです。ただし、世界的に主流になりつつあるのはアジャイルらしいので、世の中の流れ的に、時間をかけて丹念に作るよりも、とにかく出してリターンを大きくするほうが求められているのかもしれません。

なお、どちらのプロセスもプロフェッショナルが回すことが前提となっており、SIer的な「だれでもできる」「流れ作業化」とは全く異なります。開発プロセスは、想定される組織、人員、技術、ビジネス環境等によって、最適解が変わるようなので、日本のSIer的には、ウォーターフォールが良いということなのかもしれません。

参考文献

The Unified Software Development Process

Essential Scrum