「安藤日記」でも紹介されている『リファクタリング・ウェットウェア』を購入した。
まだ始めの数章しか読めてないけど、『The Pragmatic Programmer』(邦題「達人プログラマー」)の著者の一人だけあって、「実践」に重きを置いている点は好感できる。
この業界、UML や MDA、CMMI などファッション業界なみに「モデル」が持て囃されるきらいがあるけど、そのモデルが往々にして一人歩きをし始めるという点には大いに納得が行く。CMMI なんてその最たるものだろう。
レベル取りのために使いもしないドキュメントを作成し管理運用する。本来「ツール」であるはずのモデルが目的となるバカバカしさ。まあ、目的を格付けのためと割り切ればよいのだろうが、本来ソフトウェア開発とは何の関係もない。ソフトウェアが大量生産できる工業製品のように扱えるのであれば話が違ってくるのかも知れないが、そのように扱おうとしてきて、この数十年未だに成功していないという現実がある。
ハードウェア、工業製品は基本的に大量生産が可能だ。本質的に物質の組み合わせで構成できる以上、人手を省くほど規格化され均一化したものが生産できる。だがソフトウェアは現状、人間の思考=「ウェットウェア」からしか生み出すことができない。本質的にウェットウェアの組み合わせで構成される以上、個々のウェットウェアを省くことはできず、改善=「リファクタリング」することでしかソフトウェア開発をより良いものにできない。
今までは組み合わせといった観点から組織論的方法論が多かったが、結局は個々人のレベルを上げることの方がソフトウェア開発には効果的なのかも知れない。
ただ、よく言われるように「達人プログラマー」は初心者に比べて生産性がウン十倍といった議論がされるが、本書にもあるように「達人」の域に到達できるのはほんの数%の割合に過ぎない。これが現実であるならば、「達人プログラマー」となることを前提に「リファクタリング」することなどは到底実践的とは言えない。
「実践」可能な内容であることを期待しつつ、業務に役立つヒントを探して行きたい。
0 コメント:
コメントを投稿