今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

SWEBOK とアジャイル

http://capsctrl.que.jp/kdmsnr/wiki/bliki/?Swebok とか http://d.hatena.ne.jp/JavaBlack/20050602#p1 で辛口に書かれているけど、SWEBOK自体は悪いものではない。

Swebok は必要以上に計画駆動開発(plan-driven development)を強調しており、アジャイル手法はまったく認めていないことがよく分かった。

それは確かにそうなんだけど、SWEBOK は過去の知識と経験を土台にしていて、それらを集めているだけなんだから、計画駆動開発に関する知識が多くなるのは結果として仕方ないことだと思う。
http://d.hatena.ne.jp/satoshis/20031219#p1 でも書いたけど、SWEBOK本とは、こういうものだと捉える方がいいのではないかと。

全般的に、ソフトウェア用語を定義したり解説している本だと思ってもらってだいたい間違いは無い。もちろん用語の定義や解説にとどまらないが、詳しい内容を知りたい場合は併記してある参考文献を参照する必要があるだろう。そういう意味では、ソフトウェアエンジニアリング全般の情報に関しての、ポータルの役割を果たしているとも言える。
知識=スキルでもないが、この本に書かれていることをどれだけ知っているかというのも、自分の実力を顧みるときの目安にもなる。

Martin Fowler が言うように、

プロセスの節は、測定管理の記述に多くを費やされている。これは本当にダメなことだ。以前、私は、生産性を計測することは不可能だと述べたはずだ。これは科学的管理法を基にしており、プロセス中の人間の役割や人々の相互やり取りについては、完全に無視されている。繰り返すが、「人」や「相互作用」は、「プロセス」よりも勝るのである。これは知識体系の大きな欠陥である。

というのはもっともなことだ。コミュニケーションの重要性は、ソフトウェアエンジニアリングの基礎知識には欠いてはならない最重要項目であることには間違いないのだから。コミュニケーションの重要性を IEEE に訴え、認めてもらい、SWEBOKに重要知識として取り込んでもらえるよう努力すべき時なんだと思う。
それまでは、コミュニケーションの重要性については「アジャイルソフトウェア開発」などの書籍で補完すればよい。