勘と経験と読経

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

Incident Command Systemについて調べた

Google SRE本を読み終わった。いや、これはすごい本だ。しかし非常に広範囲なプラクティスの詰め合わせ(というか論文集だ)のため、完全に消化不良である。ゆえに、同書で気になった箇所を少しずつ整理検討しているのだけれども、そのひとつがIncident Command Systemである。これはすぐに使いこなしたいプラクティスだと思っている。まぁ、仕事の規模や質次第かも。

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム

Incident Command Systemとは何か?

14.3 インシデント管理のプロセスの構成要素
インシデント管理のスキルとプラクティスは、熱意ある個々人のエネルギーを正しい方向に向けるために存在するものです。Googleのインシデント管理のシステムは、明快でスケーラブルであることで知られるIncident Command Systemに基づいています。
SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム

  • いや、知られていないよ!知らなくてごめんなさい!
  • 英語版は全文公開されているので、興味があればこちらから該当箇所が読める。Google - Site Reliability Engineering

何かと思ったら、災害(障害)発生時の対応組織をボトムアップに(ブートストラップ的に)構成する標準化されたマネジメントシステムだった。消防とか警察とか軍事関連のように見える。いろいろ調べてみたけれども、以下のWikipediaの記事が一番わかりやすい印象。

  • インシデント・コマンド・システム - Wikipedia
  • 1人の監督者(インシデント指揮者)が5-7名までのメンバーで構成される臨時組織を立ち上げて問題に対処する。指揮者の監督限界を超えた場合は組織を分割しなければならない。
  • 指揮、実行、計画、後方支援、財務・総務の5つの機能をチームで分担して実行する。

米国では、1970年代、多くの山火事が発生し、当時の現場指揮官が、

  • 一度に多くの人が、一人の監督者に報告するので処理しきれない(上がって来る報告を溜めるバッファがない)。
  • 関係機関がそれぞれ異なった組織構造になっており、組織的な対応が困難。
  • 信頼のおける情報が流れてこない。
  • 通信装置や通信手順が統一化されていない。
  • 関係機関の間で共通の計画を策定するシステムがない。
  • 指揮命令系統が不明確。
  • 関係機関が使用する用語が統一化されていない。
  • 目標が不明確。

等の多くの問題に直面したため、1979年に消防大学校(Fire Academy)が次のコンセプトの下で「ICS」を開発した。
インシデント・コマンド・システム - Wikipedia

というわけなので、ITシステムの障害対応においても上記のような対応の失敗や課題に直面したことがあれば、採用検討に値するものではないかと思っている。

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

SEC Journal50号で2017年後半の情報システム障害状況まとめが公開されたので読んでみる記事。単なる野次馬なんだけれど、勉強になるので続けている。

過去に書いた関連記事は以下の通り。

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

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

詳細はSEC Journalを確認いただくとして、掲載されているトラブル事例をいつもどおりニュース記事などとザックリ照らし合わせてみた。なお今期は割と注意して日経コンピュータ記事を読んでいたので、前期よりは情報は充実しているつもり。また4桁数字は元ネタ記事にあるトラブルNo.である。

数が多すぎて、調べるのも一苦労。

失敗学のすすめ (講談社文庫)

失敗学のすすめ (講談社文庫)

おすすめ
ZERO BUGS シリコンバレープログラマの教え

ZERO BUGS シリコンバレープログラマの教え

まだ読めていない

上司・部下間のコミニュケーションのKY問題

最近コミニュケーションに関するいくつかの問題が身近にあって、いろいろと考えたことを書く記事。上司部下間のコミニュケーションの問題には階層があって、いちばん改善すべきなのは部下側ではなく上司側の問題だと思っていることについて。なお、顧客との(もしくは受発注者間の)コミュニケーションの話はまた別。
AIR!

「コミュ力」の問題はだいたい上司の問題説

あくまで主観的なものだけれども、いわゆる「コミュニケーション能力(いわるゆコミュ力)」の問題の多くは実際には上司(情報の受取り手)の問題で、部下(出し手)の問題は小さいと思っている。

最近読んだ本だと「職場の問題地図」がこの問題を非常に明快に示していた(ちなみに同書はとてもおすすめ)。

  • 3丁目 報連相できていない
    • 部下の伝えるスキルが低い
      • 報・連・相のやり方がなっていない
      • 適切なタイミングで報・連・相していない
    • 上司の受け止めるスキルが低い
    • 報連相をする場やルールがない
      • 上司が忙しすぎて、部下が話しかけるタイミングがない
      • 報・連・相のフォーマットがない

職場の問題地図 ?「で,どこから変える?」残業だらけ・休めない働き方

「部下の伝えるスキルが低い」と書かれていると部下の問題のようにも読めるけれども、適切な報告の仕方を指導教育していないという意味ではこれも職場や上司の問題である。同書でオススメしている指導フォーマットは次のようなもの。

  • 所用時間を示し相手の都合を確認する
  • まず「報」か「連」か「相」かを伝える
  • 結論を伝える
  • 論点を数で示す(ナンバリング)

「小松課長、いま5分間お時間よろしいですか? 決算早期化プロジェクトの進め方について、ご相談が2点あります。キックオフの日程と、会場についてです。まず1点目の日程について。日程は延期すべきと思います。なぜなら・・・・」
職場の問題地図 ?「で,どこから変える?」残業だらけ・休めない働き方

こういった情報の受け止め方、どういう形で吸い上げるのかという業務プロセス設計上の問題を無視して、「アイツはコミュニケーション能力が低くて、情報が上がってこないんだよな」などと言ってはいけないという話だと思っている。

部下/メンバーに空気を読ませる時点で負け

報告の仕方というテクニック的な側面もあるとは思うけれど、むしろ問題の根っこには、雑なアサインメントやプロセスの組み立てによって、部下やメンバーに「空気を読ませすぎている」ことだと考えている。もちろん問題にはグラデーションがあって、どこまでやれば正解で、どこからが不備という線引きはできないのだろうが、

  • 責任範囲が不明確
  • 裁量の範囲があいまい
  • やっていいことと、いけないことの線引きがあいまい
  • 上司や組織の意思決定が場当たり的で一貫していない
  • 過去の意思決定の精度が不明なので踏襲していいのか常に不明

などが原因となって、なにをどこまでコミニュケーションすべきか常に空気を読みながらやらなければいけない状況が発生して、非効率やコンフリクトが発生しやすくなるのではないだろうか。

ではどうするか。いろいろ考えてみたのだけれどもまずは空気を読ませないために、個々人の役割を具体的かつ明確にするのが良いかと思っている。たとえばちゃんと職務記述(Job Descriotion)を書けばいいのではないだろうかというのが現時点での個人的な結論だ。

ひょっとしたらうまく対応できている組織や現場も多いのかもしれないが、割と日本企業の多くはこういった形で個々人の職務内容を明確化しないのが一般的じゃないかと思っている。

  • マネジメント側が組織やプロジェクトへのアサイン完了した段階で思考停止しまう
  • 何をすべきかを「考えることからが仕事だ」といってしまう、組織設計不備の責任転嫁

というあたりが根っこにあるのではないだろうか。

つまり、「空気読めよ」という批判はどれも他のフレーズに言い換えることができるわけだ。「空気読め」と言って個人を批判すれば、自分の考えや意向、思っていることを明確に言葉にする必要がないので、話者のコミュニケーションの怠慢とも言えなくはない。自分を含めた“周りの意向”を非常に曖昧な「空気」という言葉で表現し、空気にそぐわない個人へ責任転嫁しているだけの話である。

なぜ「空気読め」が日本人のコミュニケーションをダメにするのか? 「空気読めない人」に対する海外の反応

ただし、これはあくまで組織内の話でである

というわけで、組織やプロジェクト内部で部下に「空気を読ませる」ことは悪手だと思っている。が、顧客や発注者に対しても同じ論法が通じるかというと、それはまた別の話だろう。「空気を読ませるようなRFPを出す発注者が悪い」と言ってはいけない(もちろん限度はある)。この場合は「空気が読める」ことは付加価値だからである。このあたりはまたどこかで考えてみるつもり。

一流の人は空気を読まない (角川oneテーマ21)

一流の人は空気を読まない (角川oneテーマ21)

日経コンピュータ2017/8/3号特集「変わるITトラブル」を読んだ

趣味のITトラブルウォッチャー活動として、日経コンピュータ2017/8/3号の特集「変わるITトラブル 実例1096件分析、新事実が明らかに」を読んだ感想。日経コンピュータ創刊の1981年から現在まで「動かないコンピュータ」コーナーなどに掲載された事例を分析したというもの。なお記事には残念ながらデータは掲載されておらず。

突然のシステムダウン、システム刷新プロジェクトの失敗----。
1981年の本誌創刊号から2017年までにわたって「動かないコンピュータ」などに載せたトラブル事例は実に1098件。これらを分析して、トラブル防止につながる知見を得られないか、こう考え、セキュリティ関連、システムダウン、開発失敗というITトラブルの3大リスクを対象に様々な角度から調べてみた。すると、知られざる傾向と対策が見えてきた。

  • 日経コンピュータ2017/8/3号 特集「動かないコンピュータ 変わるITトラブル 実例1096件分析、新事実が明らかに」

なお記事の詳細は同誌を確認いただきたい。

Campfire

三大リスクは本当に「三大リスクなのか?」

最初に気になったのは、この特集で取り上げられた三大リスク(セキュリティ、システムダウン、開発失敗)が本当に重要なものなのかがよく分からなかったというもの。概要でもいいのでデータ全体に触れられていれば良かった。もちろん掲載されているリスクはそれぞれ重要なものではあるが。

三大リスク①セキュリティ編

不具合やハードの故障以外の要因として、サイバー攻撃脆弱性関係のトラブルが大きなリスクとなりつつあるという分析。記事の中では以下のような分析があって興味深い。

嫌な世の中になったものだ、といっても仕方が無いのだけれども、ユーザの要求に従ってシステムを構築しただけではNGな時代に突入したということだと理解している。また、セキュリティのリスクは常に(攻撃手法等や発見される脆弱性が)変化するので、システム開発時だけではなく運用でもどう刈り取っていくのかよく考えなくてはならない点だ。個別エンジニアのスキルで討ち取るのは困難なので、支援体制がちゃんと整っているかどうかがポイントだと思っている。

しかし、この傾向は別に日本に限った話でもないわけで、そういう意味ではグローバルのトレンドも気になるところだけれども、どこかに整理されているものはないか、別の機会に調べてみようと思っている。

三大リスク②システムダウン編

システムダウンのうち「全面ダウン」の比率が10年代に比率として増加しているという話と、いくつかの最近増加しているトレンドについて整理されている。こちらの章で紹介されている分析は以下の通り

  • システムダウン全体に占める全面ダウンと一部ダウンの割合(年代別) 日経コンピュータ調べ
    • 2000年代で若干全面ダウン比率下がるも、2010年代でまた上がる
  • 全面システムダウンの原因別割合(年代別) 日経コンピュータ調べ
    • ハード起因の比率が微増
  • ハードウェア故障の原因別割合(年代別) 日経コンピュータ調べ
    • サーバーに起因するトラブルが増加
  • 平均ダウン時間の変化(年代別) 日経コンピュータ調べ
    • ダウン時間は増加トレンド

記事を注意して読まないといけないのは、システムダウン自体が増加しているわけではなくて、システムダウンのうち「全面ダウンの比率」が増えているという件。件数自体は2000年代から2010年代は減っている。もちろん、件数としてカウントされているのは日経コンピュータの取材、情報収集の範囲に限定されるので実際にシステムダウンが増えているのか、減っているのかというのはなんとも言えないように思える。

ただ、平均的なシステムの複雑度は以前より上がったのは事実だと思っている。

  • そもそものシステムに対する要求がゼロ年代から難易度アップ
  • システム間の連携も複雑化(というか世の中のシステムが増えた)
  • ゼロ年代に構築されたシステムが再構築を経て魔窟化、もしくは延命されて妖怪化
  • 採用テクノロジーが複雑化、組み合わせが多様化

で、複雑度が上がれば予期せぬ全面ダウンのリスクも増えるわけで、アンチフラジャイルとかレジリエンスなどは今後重要なテーマになっていくような気がしている。

三大リスク③開発失敗編

システム開発失敗の主因は要件定義にあるというストーリー。ただ、ここでも注意が必要で、システム開発失敗の件数そのものは減少傾向である。失敗はしにくくなったが、失敗するときには要件定義工程で大コケする、という話と考えたほうがいいと思っている。本章で提示されている分析は以下の通り。

  • 開発失敗の4大要因とその割合(年代別) 日経コンピュータ調べ
    • 2000年代から2010年代について、トップ要因は「ユーザ企業が要件をまとめられず」であるが、2位の「ベンダーが要件を理解できず」が2000年代再開から急浮上している
  • 工期遅延理由の分類 JUAS「ユーザ企業ソフトウェアメトリックス調査2016」より
    • 遅延理由の4割が要件定義関連
  • 開発失敗の事例におけるソフトウェア開発形態別の割合(年代別) 日経コンピュータ調べ
    • パッケージ導入タイプの失敗が大幅に増加
  • 開発失敗により稼動延期期間の割合(年代別)
    • 稼動延期期間は短縮傾向、超リスケは減っている

システム構築の受注者側であるSIベンダ等の開発能力や管理能力の向上の結果、適切な要求オーダーがあればシステムを完成させる能力は向上していると思っている(もちろん色々な課題はある)。ボトルネックが要件定義などのいわゆる上流工程に移っているという理解。発注者・受注者の共同作業である要件定義で、どちらかの能力不足によって「ユーザ企業が要件をまとめられず」または「ベンダーが要求を理解できず」で失敗するというのは当然だろう。

あと記事では言及されていないけれど個人的に気になるのは、システム再構築プロジェクトの増加だと思っている。記事の中では「再構築プロジェクトは大規模・ビックバンになってしまい開発規模の大きさからトラブルになりやすい」といったニュアンスの言及はあるけれども、再構築プロジェクトそのものの難しさ、要求/仕様抽出の困難性や人的要因(「わかる人がもういない」)は失敗トレンドの変化に越境を強く与えているのではないか。まぁ、あくまで感覚論なのだが。

なぜ、システム開発は必ずモメるのか?

なぜ、システム開発は必ずモメるのか?

ポジティブな客先常駐システム開発を考える

株式会社アクシアさんのブログで、常駐開発バッシング(?)記事が最近掲載されている(http://axia.co.jp/2017-08-01)ことについて考えている。指摘されているような「不適切な常駐開発」というのは確かにあるのだろうけれども(ちなみにあまり目撃したことはない)、適切に運用すればポジティブな常駐開発も有りえるはずだし、自分は一応そうやってきたと思っている。じゃあ、注意すべきところは何だろうか。

何が問題なのか?

常駐や多重請負が問題なのではなくて、請負という形態において受注者が「裁量を持っているか」というのが最大の論点だと思っている。例えば以下のようなもの。

  • 作業プロセスについての裁量(やり方を一定の範囲で自由に決定/変更できる)
  • スケジュールについての裁量(マイルストーンまでの進め方を自由に決定/変更できる)
  • リソースについての裁量(目標達成に必要なリソースを自由に決定/変更できる)

これらが制限された時に批判されるような不適切なプロジェクトになるのではないだろうか。逆に言えば、裁量の範囲について受発注者が事前に合意出来ていれば、ポジティブな常駐開発が実現できるのではないかと考えている。

もちろん多重請負の構造において、特に途中段階の契約会社がポンコツだった場合は裁量を維持するのは相当な努力を要するだろう。「発注者が**と言っているのでその通りにしてください、反論は受け付けません」という契約関係は論外である。もちろん請負側も「すべて指示してください、自分たちでは考えられません、教えてください」というスタンスではいけないのは言うまでもない。

ところで非常駐開発は常駐開発に比べて上記の裁量を得やすいというのは事実だと思う。
ただし、非常駐開発が裁量を得られているのは非常駐開発が優れているからではなく、顧客に対して透明性が無いからにすぎない。

  • 客から見えないから、作業プロセスを変えてもいいだろう
  • 客から見えないから、スケジュールを変えてもバレないだろう
  • 客から見えないから、リソース変更してもOK

はたしてこれが、常駐開発より優れているのかというと疑問である。

ポジティブな客先常駐システム開発

適切な裁量が確保されているのであれば、あとは常駐開発を選択するかはメリット/メリットの比較だと思う。

メリットとして最も大きいのはコミュニケーション効率化である。利害関係者が一箇所に集まって開発に従事することを、「缶詰」(組織パターン)や、「ウォールーム」と呼ぶのだが、このメリットは非常に大きい。またファシリティコストのメリットもあるだろう。

組織パターン

組織パターン

一方でデメリットとしては、最初に紹介したブログ記事にも書かれている通り、顧客の拠点を間借りするためにドレスコードや勤務時間などの制限を受けることはあるだろう(交渉次第だと思うけれど)。また見える場所で作業していることから余計な割り込みの問合せ、コミュニケーションが発生するということもある。

このあたりを冷静に比較して、どのような形態でシステム開発するかは判断すればいい。
というわけで、どちらにしろ常駐開発=悪というのは、ちょっと違うのではないかと考えたのだった。

Fireタブレットだけでゼロから学ぶDeep Learning

ちょっと思うことがあって、Amazon Kindle Fire HD8で「ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装」(電子版はAmazonではなくOreillyから購入)を読みつつ、Fireタブレット上にPythonの実行環境を作ってコードの実行までやってみた。出来ないことも多いが、意外と戦える。実質的にFire 7980円+電子書籍2938円で意外と面白い勉強環境を構築することができる。


Fireタブレットで出来ることと、出来ないこと

Fire HD 8 タブレット (8インチHDディスプレイ) (第7世代) 16GB

Fire HD 8 タブレット (8インチHDディスプレイ) (第7世代) 16GB

  • 発売日: 2017/06/06
  • メディア: エレクトロニクス

先に結論から。

なお今回はFire HD8でやってみたが、他のFireやAndroidタブレットでも同じことができると思う。

どうしてそうなった

  • 家にもデスクトップPCはあるのだけど、家族共用なので長時間占有しにくい事情あり。コドモがマイクラやり始めたので状況悪化!
  • 社用のノートPCもあるけど環境を汚したくない。
  • クラウドに学習環境を構築してタブレットから接続することも考えてたが、ローカルで戦えることがわかったので試してみたら意外と出来た!

FireでPython実行環境構築

  • 実施環境はKindle Fire HD 8(第7世代)+FireOS 5.4
  • termuxというandroidアプリをインストールしてlinux環境を構築、Python及び必要なライブラリをセットアップ、Jupyter Nootebookまで導入する

$ packages install clang python python-dev fftw libzmq libzmq-dev freetype freetype-dev libpng libpng-dev pkg-config git
$ LDFLAGS=" -lm -lcompiler_rt" pip install numpy==1.12.0 matplotlib pandas jupyter

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

  • 作者:斎藤 康毅
  • 発売日: 2016/09/24
  • メディア: 単行本(ソフトカバー)

$ git clone https://github.com/oreilly-japan/deep-learning-from-scratch.git

  • Jupyter notebook起動

$ jupyter notebook

うまくいかない事

  • 冒頭にも書いたけれど、Jupyterから計算量の多いバッチ処理を実行すると termux自体が死んでしまう。具体的には第4章にあニューラルネットワークのバッチ学習処理のサンプルコード「train_neuralnet.py」はJupyterからは実行できなかった
    • おそらく原因はJupyterからの非同期コード実行プロセスにある印象。ipythonから実行すると物凄い遅いが、誤差逆伝播法の処理は実行できる。
  • まぁ、こいつはあくまでおもちゃの類なので、ちゃんとしたスペックの環境を別途構築しようかとは思っている(とりあえずCloud9に環境を建てて試し始めているところ)

スクリーンショット

具体的にはこのような感じになる。動く、動くよ!
f:id:kent4989:20170704225237p:plain:w200f:id:kent4989:20170704225249p:plain:w200f:id:kent4989:20170704225259p:plain:w200

2017年上半期に読んだ本からお勧め図書を選んでみる(文芸、ビジネス、技術書)

昨年に引続き、2017年1月~6月に読んだ本についてふりかえってみるもの。カウント対象は期間中に読み終わったものに限り、読みかけの本は対象外としている。あと雑誌コミック類もけっこう読んでいるのだけれども、これは除外。

2017年上半期に読んだ本を並べてみた

2017年1月~6月に最後まで読み終わった本はこんな感じ。

  1. [asin:B01MA4TKKN:title]
  2. 自分を立てなおす対話
  3. 一流の育て方―――ビジネスでも勉強でもズバ抜けて活躍できる子を育てる
  4. AIと人類は共存できるか?
  5. 考えない練習 練習シリーズ
  6. フェルドマン博士の 日本経済最新講義 (文春e-book)
  7. 想像ラジオ (河出文庫)
  8. 実践ドメイン駆動設計
  9. 紙の動物園 (新☆ハヤカワ・SF・シリーズ)
  10. 日本企業の社員は、なぜこんなにもモチベーションが低いのか?
  11. 仕事に追われない仕事術 マニャーナの法則・完全版
  12. 職場の問題地図 ~「で,どこから変える?」残業だらけ・休めない働き方
  13. エターナル・フレイム (新☆ハヤカワ・SF・シリーズ)
  14. 世界一速く結果を出す人は、なぜ、メールを使わないのか グーグルの個人・チームで成果を上げる方法
  15. よくわかる人工知能 最先端の人だけが知っているディープラーニングのひみつ
  16. 東京どこに住む? 住所格差と人生格差 (朝日新書)
  17. レガシーソフトウェア改善ガイド
  18. サイエンス・インポッシブル SF世界は実現可能か
  19. ストーカー (ハヤカワ文庫 SF 504)
  20. いつも彼らはどこかに(新潮文庫)
  21. 動物園にできること──「種の方舟」のゆくえ(第3版)
  22. サマー/タイム/トラベラー1
  23. サマー/タイム/トラベラー2
  24. 〈インターネット〉の次に来るもの 未来を決める12の法則
  25. 草間彌生わが永遠の魂
  26. 数学者たちの楽園: 「ザ・シンプソンズ」を作った天才たち
  27. 人狼城の恐怖 第一部ドイツ編 (講談社文庫)
  28. Cloud First Architecture 設計ガイド(日経BP Next ICT選書)
  29. ジョイ・インク 役職も部署もない全員主役のマネジメント
  30. GIGAZINE 未来への暴言
  31. 人狼城の恐怖 第二部フランス編 (講談社文庫)
  32. [asin:B01M4J5B5X:title]
  33. 仕事の問題地図 ~「で,どこから変える?」進捗しない,ムリ・ムダだらけの働き方
  34. アイデアのちから
  35. 人狼城の恐怖 第三部探偵編 (講談社文庫)
  36. ピクサー流 創造するちから
  37. 人狼城の恐怖 第四部完結編 (講談社文庫)
  38. 会社を変える会議の力 (講談社現代新書)
  39. DevOps教科書
  40. サピエンス全史 上下合本版 文明の構造と人類の幸福

オススメ文芸書編

月並みだが、世界的なベストセラーである「サピエンス全史 上下合本版 文明の構造と人類の幸福」は素晴らしかった。単に面白いというわけではなく、読書から得られた知識と刺激によって、自分自身に変化を感じるレベルである。

うちには小学校低学年の子供がいるのだが「これはなぜ?」の類の質問に対する解答力が本書を読むことで上がった。本書を読む前と読む後では答えが違っていると思う。
手に取るか迷っているのであれば以下などを参考に

オススメビジネス書編

読んですぐに実務に活かせるという意味で圧倒的なパフォーマンス感を感じたのはこの2冊。

どちらも、職場でよく議論される問題(いわゆる「あるあるネタ」)を扱っているのだが、ダイアグラムを用いて非常によく整理されているのが参考になる。というか、わたしはダイアグラムの多くを写真に収めてすぐにスマートフォンで表示できるようにしているのだけれども、これで相当に捗るようになる。

オススメ技術書編

先日書いた記事でも紹介しているが「レガシーソフトウェア改善ガイド」は良かった。あまり話題になっていない印象があるけれど・・・

この本のスコープは欲張りなもので、放置されたレガシーコードベースを、あなたの組織に価値をもたらす保守が可能で十分に機能するソフトウェアへと変身させるのに必要なことを、すべて伝授しようというのです。
ただし、この本に技術的な内容がないというのでは、まったくありません。本書は、Jenkins,Findbugs,PMD,Kibana,Gradle,Vagrant,Ansible,Fabricなどといった、広範囲なツールを扱います。数多くのリファクタリングパターンを詳細に取り上げ、モノリスからマイクロサービスにいたるさまざまなアーキテクチャにおける関連メソッドを論じ、コードをリライトするときにデータベースを扱う戦略も見ていきます。
レガシーソフトウェア改善ガイド

ビジネス的な理由から最近はDevOps関連書籍を読み始めている。「DevOps教科書」は読み終わって、様々な関連話題を統合するという意味では良かった。次は「The DevOps ハンドブック 理論・原則・実践のすべて」を読む予定(Kindle版が発売されれば・・・)。

この半期の振り返り

写真を見ればわかるけれど、先月からFire HD 8タブレットを利用し始めるようになった。

Fire HD 8 タブレット (8インチHDディスプレイ) (第7世代) 16GB

Fire HD 8 タブレット (8インチHDディスプレイ) (第7世代) 16GB

  • 発売日: 2017/06/06
  • メディア: エレクトロニクス
読書に利用するメイン端末は引き続きPaperWhiteが主力で、タブレットは自宅ダイニングで本を読むときに利用する程度。あと通勤途中で混雑している時にはスマートフォンKindleアプリで読書の続きをすることもあるといった状況である。FireタブレットはPaperWhiteに比べればパワーがあるので快適なのだけれども重いので、読書はやっぱり専用端末が便利。ただ、技術書の類だとKindleストア以外(例えばオライリー)で購入するものもあって、PDF販売の場合はタブレットで閲覧するほうが便利(というよりPaperWhiteでPDFを読むのは非現実的)。というわけでなんとなく棲み分けはできている感じ。

なお決して強くオススメはしないけれど、世界最長の推理小説と言われている「人狼城の恐怖」は読み切る自信があればオススメ。もうトリックお腹いっぱいになれる。