書評:ソフトウェアアーキテクトが知るべき97のこと

http://d.hatena.ne.jp/qaz76/20100903/1283524501
で挙げた本の格言を12に絞ってみた。

ソフトウェアアーキテクトが知るべき97のこと

ソフトウェアアーキテクトが知るべき97のこと

4.まずコミュニケーション、そのための明快さととリーダーシップ

 ソフトウェア・アーキテクトは、自分がリーダーであることを忘れがちです。
しかし、健全な職場で能力を発揮するためにはリーダーとして同僚から人目置かれるようにならなければなりません。

これには深い意味がある。
「伝える能力」と「発言力が必要」とも言えよう。

8.すべてのものは、かならずエラーを起こす

 エラーが起きない(起こさない)という前提に立つと、エラーを吸収、コントロールすることができなくなります。
エラーが起きることを受け入れたら、特定のエラーに対するシステムの対応を設計できます。

「楽観的・狭量になるな」ということだ。

11.500行の仕様書より1行のコード

物理法則を無視した建築家は、すぐに公開することになるでしょう。

もっとも、感銘を受けた格言。
当書中で似たような格言はあるが、これにつきるのではないか?
「だって動かないじゃん」
この一言をB-treeの上に置いておくべきだ。

13.パフォーマンスの検討に早過ぎるということはない

アーキテクトって、ベンチマーク厨じゃないの?w

14.アーキテクチャーとはバランスを取ること

どんなステキな設計思想もROIがすべてだ。

18.一般性より単純性、再利用よりもまず最初に使えること

 単に汎用的であることを目標として設計された多くのものは、よく考えられていても、何の役にも立ちません。

「なにこれ使える」
これが重要。
"一般的"であることを目指した、"疎結合"がどれだけの複雑性を生み出したものか!
公共系のシステムで多いw

19.アーキテクトは手を汚さなければならない

 優れたアーキテクトは、自分の専門分野に関しては少なくとも1つの(以上の)エキスパートでなければなりません。
アーキテクトは、手を動かさなければならないのです。

言わずもがな。
「試したの?」と自問自答してみよう。

47.現実の世界にようこそ

 しかし、現実の世界は、ずっと前から同じ問題に取り組んできているのです。
遅れた手紙、破られた約束、行き違いになったメッセージ、間違った口座への支払いなど、例を挙げればきりがありません。

面白い。

 スターバックスは2フェーズコミットなどしません。
現実の世界へようこそ!

実に面白い。

60.動くスケルトンから始めよ

 動くスケルトンからスタートし、動く状態を保ちながら、それを少しづつ育てていくのがコツです。

リファクタリングのコツでもあり、古い開発手法のアンチテーゼでもあります。

65.目の前にあるのはレガシーシステムだという前提で設計せよ

 実際には、すべてソフトウェアシステムがレガシーと形容されるべきものです。

というより、ゼロ・ベースの案件などもはや無い。

81.武器は慎重に選べ、安易に手放すな

 問題解決のためにどのテクノロジーを使うかを選ぶのは、ソフトウェア・アーキテクトの仕事の中で大きな部分を占めます。

対処療法的提案をしていない?

89.システムは用具的に作れ

 人々は、目標に向かって仕事をするために道具を使います。道具は目標のための手段にすぎません。

DHHも言っている。
「ソフトウェアというのはあくまでも小さなものを作って,それらの組み合わせでやるべきだと。」
http://gihyo.jp/dev/serial/01/alpha-geek/0006

小飼弾のアルファギークに逢ってきた (WEB+DB PRESS plusシリーズ)

小飼弾のアルファギークに逢ってきた (WEB+DB PRESS plusシリーズ)