ソフトウェアアーキテクトが知るべき97のこと
- 作者: 鈴木雄介,Richard Monson-Haefel,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2009/10/05
- メディア: 単行本(ソフトカバー)
- 購入: 17人 クリック: 362回
- この商品を含むブログ (82件) を見る
ブログを巡回して読んでいる気分。ぐっと来るエントリもあったが、
やはり系統だった知識があった上で(あるいは経験があった上で)読むものかなという印象です。
そういう意味では読む順序を間違えた気がしました。
- トレードオフ把握ツール
- 設計の判断
- 設計の判断としてどちらを選んでも良さそうな感じがするときは、一歩下がって考える。
- A.Bのどちらを選んでも、それほど重大な意味を持たないようにするために、どう設計するかを考える。
- 二者択一に踏み込む前に。
- 最終的に設計の判断によって左右されるのは避けられないとしても、その影響を小さくするためには、どのような分割やカプセル化をすればよいかを考えましょう。
- 設計の判断としてどちらを選んでも良さそうな感じがするときは、一歩下がって考える。
- ソフトウェアアーキテクチャの倫理的な意味
- あなたが(設計開発時に)楽をするために、ごくわずかであっても、他人の生活を不便にすることは倫理的ではありません。その判断はあなたの都合をユーザに押しつけることになります。
- データが全て
- 一歩下がって考えてみると、コンピュータとは、データの塊にアクセスし、それを操作するためのしゃれた道具にすぎません。
- 数百万個の命令はいかにも複雑ですが、その下にあるのは、ごく少数の基本データ構造であり、それなら私たちの頭も簡単についていけます。
- アーキテクトはまずデベロッパーであれ。
- 法律家だったことの無い判事、外科医だったことのない外科部長なんてものを聞いたことはありますか?
- 解決策が一つしか思い付かないなら、何か問題がある。
- 怒れるアーキテクトとしてビジネスと対立するな。
- ビジネスは私達の存在価値です。私達は彼らにサービスを提供するために生きているのであって、その逆では無い。
- 耳に入ってきたビジネスの進め方の説明に対して、それは良くないと思う場合がたびたびあるでしょう。改善のヒントを言ってもかまいませんし是非言うべきです。
- 会社の仕事のまずさを面白く嫌味な感じで話して人目を引こうとする不機嫌な天才を演じてはなりません。周囲の人は、あなたの言う通りだと思ったりはしないでしょう。彼らは以前にもそういう人間を見ており本当にうんざりしています。
- 意見の不一致を受け入れて仕事を進めることを覚えましょう。
- 勤勉さ
- 有能なアーキテクトの多くは、知識としては知っているものの、習慣として実践できている訳では無いことを思い出すために、毎日、毎週のチェックリストを作り、それに従うようにしています。
- 失敗したプロジェクトを振り返ると、失敗したのは能力がないからではなく、勤勉さと危機意識が欠けていたからだということが分かります。
- アーキテクチャをビジネスサイドに売り込む方法5段階
- バリュープロポジションを明確にする。
- アーキテクチャが必要とされる理由を経営者の視点からまとめる。既存のその他の選択肢と比較。
- 技術の観点でなく、ビジネスの生産性や効率を向上させる能力として。
- 数量化のための基準を確立する。
- 伝統的なビジネスの尺度とのリンクを作る。
- 金額、企業財務的な数字
- 止まるべき場所を知る。
- 一つ一つのマイルストーンをビジネス上の価値に直接結びつけ、ビジョンが見えるロードマップを準備する。
- 適切なタイミングを探す。
- だめなときはだめ。売り込みのタイミングも重要。
- 未来永劫安泰なソリューションは無い。
- 要求
- システム要求は、ビジネス要求から派生します。
- 単純にシステム自体が理由となっている場合を除く。
- 例えば単なるシステム都合のリプレースであっても、TCOの削減を行いたいというビジネス要求が背後にあるかもしれません。
- 要求をきちんと整理しましょう。
- システム要求は、ビジネス要求から派生します。
- 要求分析
- 要求分析を厳密に行っても、曖昧性の排除や抜けを無くすことは無理。
- ではどうするか。
- クライアントが関わりたい利用者を想定し、その目的と振舞を仮定し、検証を繰り返す。