勘と経験と読経

略すとKKD。ソフトウェア開発やITプロジェクトマネジメントに関するあれこれ。

IPA/SEC情報処理システム高信頼化教訓の2016/1~3の更新点を読む

IT業界(?)のトラブル情報を収集して、そこから教訓を抽出して公開するという取り組みをIPA/SECが行っている。わりと惰性でやっている感はあるのだけれど、2016年1月から3月までにいくつか教訓が追加されていたので目を通して感想を書いてみた。

前回記事はこちら

2016/1~3に追加された教訓

今回読んだのは以下のもの。

ID タイトル 教訓
T20 パッケージ製品の機能カスタマイズに関する教訓 パッケージ製品の機能カスタマイズはリスクを認識し、特に必要十分なチェック体制やチェック手順を整備して進めること
T21 運用保守で起きる作業ミスに関する教訓 作業ミスを減らすためには、作業指示者と作業者の連携で漏れのない対策を!
T22 バッファプールの管理に関する教訓 隠れたバッファの存在を把握し、目的別の閾値設定と超過アラート監視でオーバフローを未然に防止すること
G10 システム動作の疑義問合せがあった場合の対応に関する教訓 関係者からの疑義問合せは自社システムに問題が発生していることを前提に対処すべし!
G11 システムの運用・保守に関する教訓 システムの重要度に応じて運用・保守の体制・作業に濃淡をつけるべし
G12 キャパシティ管理のマネジメントに関する教訓(その1) キャパシティ管理は、業務部門とIT 部門のパートナーシップを強化するとともに、管理項目と閾値を設定してPDCA サイクルをまわすべし
G13 キャパシティ管理のマネジメントに関する教訓(その2) キャパシティ管理は関連システムとの整合性の確保が大切
G14 キャパシティ管理のマネジメントに関する教訓(その3) 設計時に定めたキャパシティ管理項目は、環境の変化にあわせて見直すべし

[教訓T20]パッケージ製品の機能カスタマイズはリスクを認識し、特に必要十分なチェック体制やチェック手順を整備して進めること

微妙な事例。新規構築したコールセンタ受付システムにて、顧客向けにカスタマイズした箇所に不具合あり業務影響が出てしまったというもの。該当の不具合は事前のテストで検出することが難しいものだったということだが、そもそも顧客に「カスタマイズしている」ということを十分に説明していなかったという点が問題だったと言いたいようだ。

おそらく「このシステムは他社でも多数利用実績のある品質の高いパッケージです」という売り文句で導入したものの、いきなり不具合が出て「品質高いんと違うのか?」「そこだけは御社専用のカスタマイズ部分でした。本体品質は問題ありません」「そんなこと事前に聞いてないし、わかるかい!」という揉め方をしたのだろうと思う。

ちなみにIPA/SECでは「ソフトウェア品質説明」というキーワードで品質説明力(?)を高める検討をしているようで、以下の資料も興味深い。

[教訓T21]作業ミスを減らすためには、作業指示者と作業者の連携で漏れのない対策を!

わざわざ教訓にする必要があるのか、ちょっと悩ましい印象をもつ事例。あいまいな作業指示+結果を作業指示者がちゃんとチェック検証していないでやらかしてしまったトラブルである。TPSにおけるポカヨケを考える必要がある印象。

[教訓T22] 隠れたバッファの存在を把握し、目的別の閾値設定と超過アラート監視でオーバフローを未然に防止すること

こいつも微妙な事案。後方にあるキューが溢れて、業務全体を管理するキューまで溢れて全業務停止、といった内容。これは単純に運用設計の漏れな気がするのだけれども・・・。

[教訓G10]関係者からの疑義問合せは自社システムに問題が発生していることを前提に対処すべし!

一部の接続先通信業者から接続異常の問い合わせがあったにもかかわらず、自システムの障害の可能性に気づかず相手先の問題として切り捨ててしまったために、問題発覚が遅れたという事案。ある意味、インシデントの切り分けに課題があると思うのだけれども、保守体制にある程度の余裕がないと実運用で改善するのは難しいのではないだろうか。ただ、この事案は頭に入れておいたほうが良い気がする。

[教訓G11]システムの重要度に応じて運用・保守の体制・作業に濃淡をつけるべし

複雑で難しい事案。複合的な要因(製品不具合、リカバリー作業時の保守作業ミス)で重要なシステムが停止となったとのこと。教訓に書かれている通りでもあるのだけれど、システムの重要性を鑑みてレベル分けを行い、最重要システムはそれなりにコストをかけて障害対応訓練を行うべきだろう。防災訓練と同じで、スムーズな初動は訓練によって生み出されるものである。また教訓には書かれていないけれどシステムコンティンジェンシープラン的なものをきちんと策定し、毎年ちゃんと見直すような活動も重要だと思う。

[教訓G12]キャパシティ管理は、業務部門とIT 部門のパートナーシップを強化するとともに、管理項目と閾値を設定してPDCA サイクルをまわすべし

想定取引データ量の急変によりシステムが停止したもの。その後、IT部門と業務部門が連携してキャパシティ管理するようになったらうまくいったというベストプラクティスの共有となっている。

この教訓では「キャパシティ」というKPIについて議論がされているが、近年脚光を浴びているDevOpsに通じるものもある。システムという重要なビジネスリソースを最大限活用するという意味では、開発、運用、業務の三位一体での合意形成が必要という話があるが、まさにその一例であったという印象。2013年の夏のデブサミの基調講演でもそういった話があったことを思い出した。

[教訓G13]キャパシティ管理は関連システムとの整合性の確保が大切

次に紹介する教訓G14も含めて、単一の事例(どこかの会社からの報告)からいろいろと読み取って掲載しているようだ。この事例では、システム群全体のキャパシティを見極めるために、システム間の連携を台帳管理しながら関係者で頭を付き合わせて管理をするというプラクティスを紹介している。
このアプローチに似たものは何回か見聞きしたことがあって、確かに有用なのだけれども、台帳を維持する労力がバカにならないので、強い統制を効かせないと実行は難しいと思う。また、システム間連携管理台帳を「データディクショナリに登録して管理する」というのは考え方として違和感を感じる。マスタデータ管理と、トランザクション管理は別のスキームだと思うのだけれども、どうだろうか。

[教訓G14]設計時に定めたキャパシティ管理項目は、環境の変化にあわせて見直すべし

これも教訓G12,G13と同じ事例から抽出された教訓の模様。キャパシティをPDCAサイクルで維持管理しつつ、見直した内容を適切に次期システム検討のインプットに継承しましょう、ということが書いてある。その通りだし、異論は無いのだけれども現行システムの運用保守に、次期システムの考慮も同時に実施させるというのが現実的なのかどうか疑問を感じた。次期システム検討時に、きちんと非機能要件を検討分析すれば漏れないような気もするのだけれど。

Kindleで大規模セールで安くなった目ぼしい技術書リストアップ

Kindle技術書の定点観測結果より。30%~70%くらいの範囲で割引セール中の模様(ポイント還元を含む)。対象はこれからも変動あるような気がしている。割と高額な「エンタープライズアプリケーションアーキテクチャパターン」「ソフトウェアシステムアーキテクチャ構築の原理 第2版」「Code Complete」「エリック・エヴァンスドメイン駆動設計」「実践ドメイン駆動設計」「アジャイルソフトウェア要求」「ディシプリンド・アジャイル・デリバリー」あたりが狙い目な印象(未購入なら)。
あと、わりと新しい本であれば「The DevOps 逆転だ!究極の継続的デリバリー」あたりが安い。

アーキテクチャ構築の原理 第2版を読んだ

「ソフトウェアシステムアーキテクチャ構築の原理 第2版」を読了した読書メモ。なお書籍版だと898g、616頁の大著をKindle版で手軽に持ち運べるのは有難い(もちろん、必要に応じてPCでも閲覧できる)。今後、何度も読み返すような本である。

最後には監訳者である榊原さんのあとがきが。

本書の真骨頂は、ビューポイントとパースペクティブのカタログ化にある。十二分なボリュームの書籍でもあり、生真面目に最初から600頁を読み進める必要はない。まずは第30章から読み始めてみるのもいいかもしれない。どこでどのテクニックを使うのか、インデックス的な使い方をするのも本書を有効に活用する1つの手だ。
ソフトウェアシステムアーキテクチャ構築の原理 第2版

すいません、生真面目に読み進めてしまいましたorz。というわけで、これから読む方は監訳者あとがきから読むことをまずオススメする。上記だけでなく、本書の読み解き方についてアドバイスがしっかりと書かれている......

なお、30章は「ソフトウェアアーキテクトとして仕事をする」である。この章では規模(小規模/アジャイル/計画駆動/大規模)や形態(社内システム/製品開発/エンプラシステム/既存エンハンス/パッケージ/ネット対応/廃止)ごとにアーキテクトとして検討する事項と、どの章を読むべきかがとりまとめて記載されている。第1部、第2部と読んだあと、自分の置かれている状況に応じて第30章を読み解き、ガイダンスに従って残りの章を読むのが良いかと思う。

ますます重要になるアーキテクチャ

現代では、いろいろな要因からソフトウェアの仕様はますます変化し易くなり、固定化や文書化が難しくなってきている。

  • ビジネス側の要請により、要求されるデリバリーサイクルが非常に短くなった
  • 慎重に計画・検討して構築するのではなく、迅速に構築して試行し、結果評価をすぐに再反映するような開発プロセスや基盤技術が実用的になった
  • 取り扱うニーズが高度化、複雑化したことにより、「作らずに仕様を決定する」ことそのものが困難になった。「作りながら考える」ことが必然となった

このような状況で「要件」や「仕様」をきちんと文書化するのは難しいだけではなく、無駄にもなりがちだ。最近見聞きするプロジェクト事例だと、専用の要求管理ツールやチケットシステムで管理することも多くなっているようである。アジャイル開発プロセスの文脈だと「ストーリー」とか「フィーチャー」と呼ばれるものが管理する対象である。

では、随時登録/更新される「ストーリー」のリストをインプットにソフトウェアは開発できるのかというと、そうではない。土台として必要となるのが開発の軸としての「アーキテクチャ」である。

最近、グローバルでアジャイル開発を啓蒙している組織の事例を見聞きする機会があったのだけど、やはり「アーキテクチャ」はきちんと文書化して共有し、その上で随時変化する要求を管理ツールで共有しながら順次開発していると聞いた。

思うに古き良き滝の時代に時間をかけて作成していた「要件定義書など」はある程度アーキテクチャの記述や表現を含んでいたんじゃないだろうか。しかし、時代の要請で「要件定義書」は失われ、別の形に変化してしまった。そこで、これまで以上にアーキテクチャを分析し、明確化する重要性は高まってきているのではないかと考えている。

アーキテクチャ構築の原理

さて、本書に何が書かれているかだけれども、詳細な目次は以前に新旧版の比較をした際の記事を見ていただきたい。概観としては以下の通りである。

  • 第1部 アーキテクチャの基本
    • アーキテクチャの概念についての整理。本書を読む上でも重要な「ビュー」「ビューポイント」「パースペクティブ」の関係について論じられている。
    • 第5章に「核となる概念間の相互関係」がモデルとして提示されているので、それを中心に読んでいくと良いと思う。
  • 第2部 ソフトウェアアーキテクチャのプロセス
    • どのようにアーキテクチャを検討し、最終的にアーキテクチャ記述(AD)に落とし込んでいくか、について記述されている。
    • 第13章で、サンプルとしての具体的なアーキテクチャ記述(AD)の章立てが提示されており、これと5章の「核となる概念間の相互関係」の関係を意識すると分かりやすい印象。

手書きの整理をしてみた。

www.instagram.com

  • 第3 部 ビューポイントカタログ
    • ここからはアーキテクチャ検討において具体的に活用する観点のカタログである。
    • 「ビューポイントカタログ」はアーキテクチャ検討上の重要点が書かれているので、目を通して損は無いような気がする。

ビューポイントと、それぞれで作成する主要なモデルの関係を手書きで整理してみた。

www.instagram.com

  • 第4部 パースペクティブカタログ
    • ここは、必要に応じて閲覧すればよい印象
  • 第5部 すべてを1つにまとめる
    • ソフトウェアアーキテクトとしてどのように取り組むべきか、についての論考。
    • 冒頭で紹介した監訳者あとがきにある、第30章はここに含まれている。

体力が許すならば第1部~第2部までは通して読んで、その後第5部を読んでから、必要に応じて第3部と第4部を読むのが良いような気がする。とはいえ、通読するのも非常に勉強になる、今後も何度も立ち返っていく教科書のような本であった。

ソフトウェア要求、The DevOps他がKindleで50%以上オフ以上のセール中(対象じわじわ拡大中)

定点観測したところ、ソフトウェア要求が50%オフ、The DevOpsが50%オフ+20%ポイント還元のセール中の模様。ちなみにどちらも自分でKindle Paperwhiteで読了済。特に支障なく読めます。
3/16追記:デマルコのデッドライン、ワインバーグさんの本、ソフトウェアテスト293の鉄則、ソフトウェア見積りもポイント還元あわせて50%以上オフになっている模様。ロジックがよくわからないけれど…
さらに追記:よくわからないけど1日2-3冊くらいずつセール範囲が拡大している。発見したものは末尾に追加。
3/17追記:デマルコの熊とワルツが追加された。じわじわ感。

ソフトウェア要求 第3版

ソフトウェア要求 第3版

↑上流工程に関する課題はこれ一冊でかなりカバーできている印象。第3版でアジャイル開発プロセスへの考察も追加されている。

The DevOps 逆転だ!究極の継続的デリバリー

The DevOps 逆転だ!究極の継続的デリバリー

↑「ザ・ゴール」のような小説形式で学ぶソフトウェア開発プロジェクト最適化の話。根底には、制約理論(TOC)とリーン開発が含まれている(アジャイル開発プロセスへの言及はあまりない印象)。

MSでDevOps普及の活動をされている牛尾さんも推薦しているようだ。

追記

以下の本もセール中の模様。

テストから見えてくるグーグルのソフトウェア開発

テストから見えてくるグーグルのソフトウェア開発

↑50%オフ。この本は開発プロセス改善という観点でおすすめ。

↑古典的デスマ小説、というのは上段だけど、困難なソフトウェア開発のドキュメンタリーとして読んでおきたい一冊。

さらに追記

ロジックがよくわからないのだけど、デマルコのデッドラインも50%オフになってた。こちらもThe DevOps同様に小説仕立てでソフトウェア開発を論じる本、というか元祖っぽい気がする。

デッドライン

デッドライン

3/16さらに追記

以下もポイント還元込みで50%以上オフになってた。

ソフトウェア見積り 人月の暗黙知を解き明かす

ソフトウェア見積り 人月の暗黙知を解き明かす

↑過去に以下の記事でもオススメしている良著。

ソフトウェアテスト293の鉄則

ソフトウェアテスト293の鉄則

↑こちらもとても参考になる良書。しびれる名言がたくさん書かれている。

プログラミングの心理学 【25周年記念版】

プログラミングの心理学 【25周年記念版】

パーフェクトソフトウエア

パーフェクトソフトウエア

↑こちらもソフトウェア開発の名著。

3/16さらにさらに追記

アドレナリンジャンキー プロジェクトの現在と未来を映す86パターン

アドレナリンジャンキー プロジェクトの現在と未来を映す86パターン

↑良い本だけど玄人向け。

↑確か未読。

はじめて学ぶソフトウェアのテスト技法

はじめて学ぶソフトウェアのテスト技法

↑良書。

3/17追記

熊とワルツを リスクを愉しむプロジェクト管理

熊とワルツを リスクを愉しむプロジェクト管理

↑名著のひとつだが、実はちゃんと読んだことが無かったのでこの機会に購入した。

情報システムの障害状況ウォッチ(2015年後半)、ポストモーテム

SEC Journal44号で2015年前半の情報システム障害状況まとめが公開されたので読んでみる記事。
前回記事はこちら。

SEC Journal最新号の入手はこちらから。

http://www.flickr.com/photos/7119320@N05/22856576053
photo by Sean_Marshall

情報システムの障害状況ウォッチ(2015年後半)

詳細はSEC Journalを確認いただくとして、掲載されているトラブル事例をニュース記事などとザックリ照らし合わせてみた。全般的にトラブル発生時の速報はあれど、原因や再発防止などが公開されていることはあまりないのが残念なところ。また、日経コンピュータさんがいろいろ取材されて深掘りされているようなのだけど、記事がほとんど公開されていないのはちょっと残念。ビジネス的な判断なのだと思うのだけど、公益性も鑑みてトラブル事例は公開していくことを検討して欲しいと思う。

注目事例

SEC Journal44号の紹介記事の中でも取り上げられているけれど、「長期間の不具合放置」関連の事例が目立っている(1524,1526,1530,1541など)。SEC jounal44号の記事では

以上の5件はいずれも、一見正常に運転されているにもかかわらず、実は重大な問題を抱えたまま運用されていた事例である。不具合によってシステムがダウンするなどの現象が発生すれば、誤りは直ちに検知されるが、この種の事故は開発段階での綿密なテスト計画の策定とその着実な実施という基本的な対策でしか回避の方法はない。
(SEC Journal44号 連載 情報システムの障害状況 2015 年後半データ より)

と書かれているのだけれども、ちょっと違う印象を持った。リスク管理の問題ではないだろうか。

  • 最終テストとして、何を確認して、何を確認していないのか明確にする
    • 例えば[1541]の緊急通報メール発信トラブルについては、システムと通信事業者間の疎通確認はやったけれども、通信事業者から利用者までのメール発信の疎通は(おそらく)実施していない。本番環境でのテストは実施しないという判断はあり得るが、テストしていないという事実をきちんと関係者間で共有していたのかというと、おそらくしていないのではないかと思う。
    • [1527]メタボ検診システムについても、実データでのテストは実施していないということを明確にしておくべきだったのではないかと。これもセキュリティ等の観点で、実データを利用しない判断があったとしてもこれは問題ない。しかし、何を「やっていないか」を明確にすべきだろう。
  • 実機で確認できていないことは、どんな代替手段でリスク軽減(検証)したのかをはっきりとさせる
    • 実機確認できないものについても、テスト環境で検証するか、それも困難であれば綿密な机上確認するなどによってリスクは軽減できるはずであり、それを検討すべきと考えている。
  • 残余リスクについて、そのリスクが消滅するまで継続監視する
    • システムの構造上、なかなか本番稼動しない機能はあると思う(1年に1回しか動かない、とか災害時にしか動かないとか)。とはいえ、本番稼動実績のない機能はリスクが残っている。こういったリスクは解消するまで(初回稼動が終わるまで)トレースしていかないと、思わぬところで足をすくわれる事になるのでは無いかと思っている。

ソフトウェアテスト293の鉄則

ソフトウェアテスト293の鉄則

技術書の無料試し読み(Kindle/GoogleBooks/他)

技術書を図書館で借りようというブログ記事を見た反応。個人的にも公立図書館はフル活用していて、至急性の高くない「読んでおきたい本」は借りるようにしている。が、最近技術書は他の手段でも試し読みできることが多いのでそっちで読むことが多い。というわけで無料試し読みの方法について整理してみる。なお出版業界の方には申し訳ないけど、物理書店は目的が達成できなかったり、余計な買い物をしてしまうリスクが大きいので最近行かないようにしている・・・・・・。

Bookstore cat

無料試し読みの方法について

出版社の方針などで書籍によって最適な方法は異なるのだけれども、自分が最近使っている手段はだいたい以下の通り。

  • Amazon Kindleでサンプルを読む
    • 専用アプリかKindle端末が必要。Web経由でもごにょごにょすれば閲覧できるという話もあるけれど割愛。
    • この方法だと、目次、まえがき、第1章くらいはだいたい読める
  • Kindle非対応の書籍の場合、出版社が独自で試し読みに対応していればそこで読む
  • Google Booksで読む
    • 規則性はよくわからないのだけど、おそらくGoogle Playの対象書籍が対象となっている
    • 翔泳社さんの本は最近どれも対応されていて、有難い

出版社別のワビサビを統合して効率よく試し読みができるサービスがあるといいのだけれども、現時点では未発見(ひょっとしたらあるかも)。

せっかくなので、いくつかの技術書ランキングに掲載されている書籍について実際に無料試し読みが出来るか調べてみた。

「新春座談会 このコンピュータ書がすごい! 2016年版 -2015年に出たコンピュータ書ならこれを読め!-」開催報告:レポート|gihyo.jp … 技術評論社

  1. たった1日で即戦力になるExcelの教科書
  2. 人工知能は人間を超えるか ディープラーニングの先にあるもの (角川EPUB選書)
  3. スッキリわかるJava入門 第2版 (スッキリシリーズ)
  4. リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
    • 残念ながら試し読みできず
  5. 暗号技術入門 第3版 秘密の国のアリス
  6. 深層学習 (機械学習プロフェッショナルシリーズ)
  7. HTML5&CSS3デザインブック (ステップバイステップ形式でマスターできる)
    • 残念ながら試し読みできず
  8. 伝わるデザインの基本 よい資料を作るためのレイアウトのルール
  9. ハッカーの学校
  10. インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門

ITエンジニアに読んでほしい!技術書・ビジネス書 大賞 2019

ビジネス書系は省略。

大賞
技術書部門 (上記と重複は省略)

調べてみた感想

  • オライリーさんはDRMフリーの電子書籍を発行していただけているのは大変あり難いのだけれども、試し読みビリティは低いのが残念
  • 技術評論社さんは、書籍によって対応が異なる。WEB+DB PRESS plusシリーズはNGなのが残念
  • というわけで電子試し読みできない本は、図書館か書店で見るしかなさそう

「ビヨンド ソフトウェア アーキテクチャ」あるいはパッケージソフトウェアの作り方

「ビヨンド ソフトウェア アーキテクチャ」に関する読書メモ。ソフトウェアアーキテクチャ全般に興味があるので手に取ったのだけれども、同書はざっくり言えばパッケージソフトウェアの作り方に関する本である。なんとなく、このタイトルでは必要な人の手に渡らないような気がするのだけれども。なお同書のKindle版は2/25まで50%オフのセール中なので興味のある方はお早めに判断を。

「ビヨンド ソフトウェア アーキテクチャ

翔泳社さんの書籍紹介は次のように書かれている。

アーキテクチャ」について技術的な観点から書かれている本は数多くありますが、ビジネスの視点からシステムを商品として見た時に考えるべきことを教えてくれる本が、実はありませんでした。本書は、アーキテクチャにおけるビジネス(マーキテクチャ)と技術(ターキテクチャ)をつなぐ架け橋として、情報システム部の方全員に読んでほしい本(情シス必読書)です。エンジニアにとっては、マーケティングの基礎を学ぶ上でも役に立ち、かつ、技術面でのアーキテクチャ論としても、経験豊富な著者の実体験に根ざす優れた考察に富んだ一冊となっています。

上記はちょっとミスリードがあると思っている。本書は「ソフトウェア製品開発に関わるアーキテクト」が想定読者になるのではないだろうか。そういう意味では、ユーザ企業の情報システム部門に所属する人(買い手)というよりは、ソフトウェア製品開発(作る人)に関わる人に読んでおいてほしい内容だと思う(あくまで個人的な感想)。

さて、本書の基本的な骨組みは上記紹介にも書かれている通りだが、

  • ソフトウェア製品は、「テクニカルアーキテクチャ(ターキテクチャ)」と関連する「マーケティングアーキテクチャ(マーケテクチャ)」を持つ。
  • マーケテクチャ検討上の重要な観点について論じる(第4章以降)

である。

本書では、ソフトウェアアーキテクチャという枠組みを越えてソリューションをうまく構築するために、幅広いビジネス課題とアーキテクチャ上の選択との関係について議論する
ビヨンド ソフトウェア アーキテクチャ Object Oriented Selection Classics まえがき、より

ソフトウェアアーキテクチャについて言及することもあるし、技術的な課題を議論する場合もある。だが、私が集中して議論したいのは、アーキテクチャを図示あるいは文章化する最善の方法や、堅牢で、分散化されたWebコンポーネントシステムに関連する深い設計原理などではない。
ビヨンド ソフトウェア アーキテクチャ Object Oriented Selection Classics まえがき、より

ビヨンド ソフトウェア アーキテクチャ Object Oriented Selection Classics 目次

  • 第1章:ソフトウェアアーキテクチャ
  • 第2章:プロダクト開発入門
  • 第3章:マーケテクチャとターキテクチャ
  • 第4章:ビジネスとライセンスモデルの共益関係
  • 第5章:インライセンステクノロジー
  • 第6章:可搬性
  • 第7章:デプロイメントアーキテクチャ
  • 第8章:統合と拡張
  • 第9章:ブランドとブランド要素
  • 第10章:ユーザビリティ
  • 第11章:インストール
  • 第12章:アップグレード
  • 第13章:コンフィギュレーション
  • 第14章:ログ
  • 第15章:リリース管理
  • 第16章:セキュリティ
  • 補遺A:リリースチェックリスト
  • 補遺B:戦略的プロダクトマネジメントのためのパターン言語

ソフトウェア開発の上で必要な「マーケテクチャ検討上の重要な観点」というのが曲者であり、また本書の整理が非常に有効なポイントである。
ソフトウェアを構築するために必要な意思決定の多くはアーキテクトが利害関係者との調整において合意形成するものだが、ソフトウェア製品については「顧客」という最も重要な利害関係者が不在なのである。ではどうするか?というのが本書の主眼であると思う。

また、世の中一般で最も多い「自社利用のシステム構築」と、「販売するためのシステム開発」では根本的に異なる点も多い。

  • どのようなライセンスモデルで販売するかと、そのライセンスモデルを実現するための機能要件は何か
  • 利用しているサードバーティ製品やOSSのライセンス管理はどうするのか
  • どのような環境をサポートするのか
  • オンプレミスかサービス提供か
  • 他システム連携の考慮はどうするか
  • インストール、アップグレード、コンフィグ設定はどうするか

こういった観点が、本書のような形でとりまとまっているのは本当に有難い。

個人的には、何年かごとに製品開発にも関わってきているので、本書は非常に参考となった。
プロダクトとしてソフトウェアを出荷するような形で仕事に関わる方におすすめ。