定義によると、マニフェストとは、グループの動機、理由、要求を記述した原則や意思の公的宣言のことだ。よく知られているマニフェストのひとつにアジャイルマニフェスト(Agile Manifesto)があるが、その登場以来、マニフェストはかなりまん延している。
Gary Pollice氏は、マニフェストはその魅力を失っていると述べている。アジャイルマニフェストはここ数年で最も影響を与えたもののひとつだ。しかし、アジャイルマニフェストの成功はやり過ぎと言ってもよいほど、まねされてきた。あちこちに無数のマニフェストが出現したため、マニフェストの価値と影響は薄まったと言ってよいだろう。Gary氏がインターネット上を簡単に調査したところ、ソフトウェア開発に関する以下のようなマニフェストが見つかった。
- ソフトウェアテスティングマニフェスト(Software Testing Manifesto): これはかっこいいです。やるべきだという意見に賛成です。2008年にはあまりうまくいっているように見えませんが、2009年もまだ続いていました。個人的には、あまり説得力のあるマニフェストではないと思います。
- ソフトウェア職人マニフェスト(Manifesto for Software Craftsmanship): もちろん、まずはアジャイルマニフェストを受け入れる必要があります。
- 頑丈なソフトウェアマニフェスト(Rugged Software Manifesto): 確かに、私たちにはセキュリティに対処するものが必要です。
- 信頼できるソフトウェアマニフェスト(Reliable Software Manifesto): 私にはマニフェストのようには見えません。
- 新リーンソフトウェアマニフェスト(A New Lean Software Manifesto): 古いのはどこにあるのでしょう? もちろん、アジャイルマニフェストがあるならリーンマニフェストも必要です。
- ソフトウェア開発者のための協調ゲームマニフェスト(Cooperative game manifesto for software development): Cockburn氏にしたがうことは本当に苦労するときがあります。でも、かっこよさそうです。
- ソフトウェアアーキテクチャマニフェスト(Software architecture manifesto): ひとりの意見にすぎません。
- SOAマニフェスト(SOA Manifesto): だれかがアジャイルマニフェストのMad-lib版(文章のブランクを埋めるゲーム)を作って、その空白を埋めたように見えます。
Jim Bird氏はマニフェストの趣旨がわからないと指摘した。
マニフェストは私自身を動かしたり、私の考え方や仕事のやり方を変えたりするものではありませんでした。マニフェストを参照しなくても、日々うまくやっていけています。私が望んでいるのは、よりよい仕事をするために使えるツールや具体的なアイデアです。母性やたわ言ではありません。パターン、アンチパターン、レシピ、ベストプラクティス(それからワーストプラクティス)などは役立ちます。しかし、マニフェストはどうでしょう? 役に立たないどころか、悪いことに危険ですらあります。
Jim氏は、マニフェストは疑問について考察し回答するのを遠ざける、と言う。これはSoftware Craftmanship(邦訳:ソフトウェア職人気質)の著者、Pete McBreen氏の反応と非常によく似ている。彼はソフトウェア職人マニフェストにサインしなかった。Pete氏は次のように語っている。
私にとってソフトウェア職人とは、個人をソフトウェアを届けるというアクティビティに戻すことが目的なのです。私はプロフェッショナルのコミュニティにはまったく関心がありません。情熱をもったアマチュアの方が、ずっと興味深くて価値のあるソフトウェアを作り出せる可能性を秘めています。プロフェッショナルはまじめすぎるのです。アマチュアはソフトウェア開発はおもしろくなきゃいけないと思ってます。
Cindy F. Solomon氏は22(増加中)のソフトウェア開発関連マニフェストまとめを作成した。
Gary氏によると、ソフトウェア開発要求の大部分を支援するという実証データがないため、ほとんどのマニフェストは結局のところマーケティングツールのようなものになっているという。彼はアンチマニフェストマニフェスト(Anti-Manifesto Manifesto)という興味深いマニフェストを追加した。
あまりに多くのブームと使えない、さらに悪いことには有害ですらあるプラクティスを、十分理解せず盲目的にしたがう姿を見てきた気難しい年寄のひとりとして、私は以下の価値に至りました。
重視します。
- どんなプロセスであろうとも、盲目的追従よりも良識を、
- たとえ尊敬する人の言葉であろうとも、根拠のない主張よりも実証された結果を、
- 流行やブームよりも確固たる原則を、
- しゃれたテクニックよりもコードの意味が明確なクリーンなコードを、