勘と経験と読経

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

『チーム・ジャーニー』第1部を読んだ #デッドライン読書会

対象を決めたら2週間で読み切りアウトプットしてから感想戦をするという読書会企画の第13回。今回の対象は『チーム・ジャーニー』である。味わい深い本であるため、2回に分けることにしていて、今回は前半である第1部の感想だ。

Flock of geese

現時点での全体的な感想

そういえば、ちょうど本作の発売前から所属会社で前作「カイゼン・ジャーニー」の読書会にオブザーバーとして参加をしているのだけれども、けっこう良い感じに盛り上がっている。アジャイル開発に関する初心者を中心とした読書会なのだけれども、同書がいい感じに各自の思考を刺激して、様々な課題や論点を引き出していくようだ。

あくまで個人的な感想なんだけれども

  • 小説形式であることが、未知に対する読者のハードルを下げている
    • 例えばもう少し硬い技術書形式になっていると、「わからないこと」が出てきたときに「自分が不勉強なのでわからないかもしれない」という不安でグルグルしてしまう事があるのだろうけれど、小説形式だとそれがない。物語であることの気楽さがある。
    • 極端に言えば「わからないことはスルーしてよい」「納得いかないことは無視してもよい」という感じがうまく出せている
  • アジャイル開発では個人的に重要だと思っている「空気感の伝達」が出来ている

のかなぁと漠然と感じている。
ジャーニーシリーズは開発手法としてスクラムに限定しているわけではないけれども、スクラムガイドにある「習得は困難」「経験主義」あたりには通じるものを感じる。

というわけで本書であるが、前作と同じ小説形式で今度はチーム活動をテーマにした本である。
上記に書いた前作の良い点は継承しているので、読みながら主人公たちの活動を疑似体験し、いい感じに距離感を感じながら一人でも、複数人でも議論ができる良い本だと思う。

第1部に対するツッコミ

  • 各話ごとに「まとめ:チームの変遷と学んだこと」を追加したのはグッドアイデア。見通しがよくなったのと、あとで記載の内容を実際に活用するときの「あの話はどこだっけ」がなくなったのは大きい。
  • 前作同様、読書家な著者による様々な分野の書籍から集約された知識集約が素晴らしい。OODA LOOPは未読だったのでさっそく購入して積んである。
  • 第1部のキモは「チームに起きる問題パターン」(第1話の末尾に出てくる)だろう。惜しむらくは、問題パターンのリストは存在するのだけれども、対策のリストは準備されていないということだ。これは本書を通じて経験知として習得するなり、自分で整理するしかない。
  • 「ジャーニー戦略(?)」って単なるフェージングアプローチなんじゃないの?という気もする。このあたりは第2部まで読んでから再考してみたい。

本書の副読本としてオススメの本

以下は本書発売前に事前に読んであったのだけれども、本書の参考書籍としても挙げられており、副読本として特にオススメである。

不確実性のマネジメントに関する論理的に書かれた本。

本書オビでもコメントされている宇田川さんの本。わりと通底するテーマで重なりがあるような気もする。

Kindle キッズモデルが良かったので小学校高学年が無料で読める本をチェックしてみた

新型コロナ対応で外出規制が行われ、書店が営業していなかったり公共図書館が閉鎖されていたりするが、わが家は電子書籍のおかげで割りと良い読書環境を維持できている。昨年末には小学5年生(当時)もKindleユーザーとなり、在宅学習の合間になんだか沢山の本を読んでいる。

購入時にAmazon FreeTime Umlimitedというサービス利用権限1年がついており、サービス期間に対象本は追加料金不要で読めるというのが売りである。要はAmazonの図書館が利用できるようなものである。
Amazon FreeTime Umlimited

このサービスは本読みの卵にはオススメなのだけれども、残念なのは無料で読める書籍を事前にチェックすることができないという点だと思う。もちろん読みたい本がサービス内で提供されていない場合は通常のように親が電子書籍として購入し、子供の端末に転送することもできる(わが家ではけっこう追加で買っている本も多い)

というわけで、改めてどんな本があるのか(娘に端末を借りて)ちょっと調べてみた。小学校の高学年が読みそうな本を中心に手元にあったまなの本棚を見ながらチェックしてみた。

まなの本棚

まなの本棚

なお提供対象は随時変更されるようである。以下のリストはあくまで参考程度と考えていただきたい。

「まなの本棚」で紹介されているもので、FreeTime Umlimited対象だったもの

例えば以下の本は無料で読めるようだ。

岩波少年文庫シリーズ

上記の本をぽちぽちと検索していて気づいたのだけれども、岩波少年文庫シリーズはわりと充実しているようである。というわけでついでに岩波少年文庫で含まれている本もチェックしてみた。例えばこんな本はサービス対象になっている。

いやぁ、良い世の中になったものだ。というか、子供がうらやましい。

Kindle キッズモデル使用感(4ヶ月ほど経過)

  • いわゆるFireタブレット型と、Kindle電子書籍リーダータイプの2種類がある。私が買ったのはKindle電子書籍リーダータイプ。
    • Kindle電子書籍リーダータイプは子供が成長したら設定により通常のKindleとして利用できる。自分は8年前に買ったKindleをまだ現役で利用できているので、大切に使えばけっこう長く使えそう。
    • Kindle電子書籍リーダータイプではFireタブレット型タイプと異なり、利用時間の制限などはできない。ただ、どの程度端末を利用したのか、どんな本を読んだのかなどのモニタリング機能は利用できる(ほとんど見ないけど)
    • 試していないのだけれども、別に専用端末を購入せずとも、AmazonのFireタブレット保有しているならFreetime用のアプリを設定すればキッズモードに変更できるようだ。

  • UIはイマイチ。まぁ使えなくはないけれども。
  • コドモは最小に近い文字サイズで読んでいる。若いっていいね。
  • スペックとしては解像度は高級モデルに比べると低め。だけれども、まぁ支障はないようだ。歴史漫画なども読んでいるようだ。
  • 流石に大判の雑誌を読むのは難しい(例えばこんなのを試しに転送してみたが、さすがに無理。これは別の10インチタブレットで読んだ)

ジュニアエラ 2020年5月号

ジュニアエラ 2020年5月号

コンフォートゾーン外の学びの為にエンジニアが放送大学に入学してみた

タイトルで言い切った感があるけれど、この春から放送大学に入学して哲学と美術について勉強を始めている。現時点でかなり満足度が高いのでご紹介。興味を持った人は10月入学目指して情報収集すると良さそう。

www.ouj.ac.jp

入学経緯1:教養分野の知識に興味があった

一応、私立理系大学は卒業している。かつ、学生当時に一般教養の単位は取得している(はず)。だがまったく記憶が残っていない。当時は当然ながら一般教養科目には興味もなく、真面目に勉強してこなかった(そもそも出席していたのかも怪しい)。そんな自分が一般教養に改めて興味を持ったのは、例えばこんな本を読んだからである。

グローバル企業が世界的に著名なアートスクールに幹部候補を送り込む、あるいはニューヨークやロンドンの知的専門職が、早朝のギャラリートークに参加するのは、 虚仮威しの教養を身につけるためではありません。彼らは極めて功利的な目的のために「美意識」を鍛えている。なぜなら、これまでのような「分析」「論理」「理性」に軸足をおいた経営、いわば「サイエンス重視の意思決定」では、今日のように複雑で不安定な世界においてビジネスの舵取りをすることはできない、ということをよくわかっているからです。

(一応、私立理系大学を卒業しているので)ロジカルな世界、サイエンスの世界についてはある程度手触り感がある。しかし、その外側に出たときの力不足感は割と感じていたところに本書を読んだので、改めて教養を強化したいと思っていたので漠然と勉強する方法は探していたのであった。

入学経緯2:コンフォートゾーンの外側で何かをやりたかった

これも一応、ソフトウェア開発の世界で20年以上のキャリアを経て、仕事に必要な能力は身についている。また、割と学習マニアなので現在も様々な知識習得に励んでいる。が、ぶっちゃけ最近は学習量に比した能力向上感が失われてしまった。なんか、新しくない。脳ミソがたるんでいる。もちろんこの理由はわかっていて、コンフォートゾーンの中にいるからである。

ja.wikipedia.org

というわけで、特に最近切迫にコンフォートゾーンの外側に出たいと思っていたのだ。
そこで漠然と文系大学への入学を考え始めていた。

放送大学を選択した理由

理由は単純で

  • 費用が(自分にとっては)リーズナブル
  • 一方で正式な大学生の身分が得られるので、各種の割引サービスなどが受けられる
    • 例えばAmazon Studentなど(4年間Primeの会費が半額+書籍10%オフ)
  • 入学すればオンライン配信である程度自由に受講ができる

といったところ。
特に最後のひとつが大きい。放送大学の漠然としたイメージ「ラジオやTV放送で講義が放送されている」だったのだけれども現在は当然のようにネット配信も開始されていて、サイトは洗練されていないもののPC、スマートフォンタブレットなどで視聴が可能になっている。それも基本的には全講義がアクセス可能になっているので好きなペースで受講できるのである(ただし単位取得のために、特定の時期に課題提出を行ったり、テストを受ける必要はある)。

というわけで、昨年末くらいに申込をして4月くらいから受講を開始している。

受講を開始して1ヶ月時点の感想

録画視聴とはいえ、大学の講義をうけるのは20年以上ぶりである。ひとことで言えば新鮮で刺激的。
初年度ということもあるので今期は以下の2科目を受講中。どちらも自分にとっては素晴らしい学びの機会になっている。

哲学・思想を今考える

  • 哲学・思想系の導入科目。これはレベルとしては初級に該当する。
  • 西洋哲学に止まらず、非西洋哲学についても取り扱う。それに加えて科学の発展から生命倫理まで論じる。
  • 映像は無く音声だけの講義。かつほぼテキストと同じ内容が話される・・・のだけれども、内容が難解なので黙読だけでは頭に入らないので丁度良い。オーディオブック代わりに講義を聞いて、もう一度メモを取りながらテキストを読むスタイルで学習中。

西洋芸術の歴史と理論

  • 美術系の専門科目、これは科目レベルとしては中級に該当。
  • 文字通り西洋芸術の歴史について学ぶもの。
  • こちらは映像授業でありかつ、基本的に「理論的な内容はテキストに書いておいたので、授業では具体例を見てみる」スタイル。様々な美術作品を見ながら講師の青山先生の熱量の高い解説を聞くのが、とてつもなく楽しい。
  • 自分は事前にテキストを読んでから映像授業を見て、その後紹介された建築や美術作品についてネットで調べながら復習している。

受講を開始して1ヶ月時点の放送大学の不満

一応、現時点の不満も書いておく。

  • オンライン配信サイトは洗練されていない。使えなくはないが、便利ではない。なお学生でなくても試用できるので興味があれば見ておくと良い。
  • モバイルアプリも洗練されていない。かつダウンロードはできないのでWiFi環境でないと視聴は難しい。
  • テキストは当然のことながら電子化されていない。

と、まぁいろいろと課題もあるのだけれども、とりあえず前期は2科目をしっかりと学び取りたい。ただ7月の試験(学習センターに行って受験する)がどうなるかは、ちょっと心配。

『みずほ銀行システム統合 苦闘の19年史』読んだ #デッドライン読書会

対象を決めたら2週間で読み切りアウトプットしてから感想戦をするという読書会企画の第12回(意外と続いている)。今回の対象は『みずほ銀行システム統合 苦闘の19年史』である。

IT産業には民族誌が必要だ

本書を読んで思い出したのは、よしおかさんのずいぶん前の記事だったりする。

ソフトウェア開発の現場というのは伏魔殿で、外からは何が起こっているかさっぱりわからない。その中に入ってみない限り、わからない。IT産業にいるものであっても、やはり、Googleで何が行われているか、Appleで、Facedbook、TwitterあるいはLinkedInで何が行われているかは、そこに勤めたことがなければよくわからないのである。
結局のところ一人のエンジニアとしてはいろいろな現場を渡り歩き実際のpracticeやdisciplineを経験することによって少しずつトレーニングをつんでスキルをつけていくしかない。組織としては、転職者という人を媒体にして、組織として学ぶしかない。
そして、そのような現場の諸行を記述する方法論こそが民族誌である。IT産業の現場の民族誌を自ら記すことによって、そのノウハウを広く知らしめ、社会の財産にする。

内容はさておき、このような重要なプロジェクトの記録が行われ公開されるのはとても有意なことだと思う。
ただオビにある『「2025年の崖」からの転落を防ぐ秘訣がここにある』はちょっと盛りすぎなんじゃないか?

というわけで、読んでみたのだけれども

非常に興味深い。特に本プロジェクトの過程で発生した二度の大きな障害に関する記載などは非常にわかりやすい。
ただ、読み終わった時に正直なところ、こう感じてしまったのだ。
「あれ? これで終わり?」「分析は?」

類書といえば、三菱UFJ銀行の統合に関する本がある。

今読むと内容はちょっと古いが、終盤に「完遂への10ケ条」という章が設けられていたり、付録として割と詳細なキーワード解説(例えばEVM、OSSPMBOKSOAWBSなどの用語に関して割と細かい数ページずつの説明があった)などもついていた。
まあ、技術用語の解説は今時はネットでその場で調べられるので良いのかもしれない。しかし、プロジェクト全体に関する改めての分析や総括が無いのは非常に残念である。

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

趣味の情報システム障害状況ウォッチ。前回に引き続き、今回も駆け足で確認。

元ネタはこちら。みんな見たほうが良いよ!
www.ipa.go.jp

2019年後半(7~12月)の傾向

2019年後半に報道された情報システムの障害は60件、これとは別に消費税の増税に伴うシステムの障害が29件報道されている。両者を合わせると89件、月平均14.8件となり、これまでに無い高い水準となった。障害は多岐にわたっているが、中でも利用が急速に拡大してきたキャッシュレス決済システムに関連する障害が9件、クラウドサービスをはじめとする共同利用型システムの障害発生が11件など、最近の技術動向を反映した障害の増加が特徴である。また、今期は風水害による大きな災害が多数発生したが、このような緊急事態に市民に情報を提供するべき災害情報システムの課題も浮き彫りとなった。
情報システムの障害状況 2019年後半データ

  • 障害は増えているとのこと。ただし「IPAが報道等でキャッチした障害」の件数であるという点には注意が必要だろう。別に何かの基準で障害が当局などに報告され、その件数を集計しているわけではない。報道ベースであるということは、世間の注目分野への偏りも出ているだろう。
  • キャッシュレス関連の障害は、まぁサービス拡大期なので増加するのは当たり前のような気がする。特に、各社マーケティング施策(いわゆる還元セール)を実施しているため大量アクセスが集中するなどトラブルになりやすい環境でもある。
  • クラウドサービスをはじめとする共同利用型システム関連の障害は、ちょっとくくりかたに疑問がある。19年後半は例のAWSの大規模障害があったということは確かなのだけれども、多くは銀行関連の共同センターのトラブルだ。これらのトラブルは共同利用型というより、2025年の崖問題が関係しているような気もする。

www.publickey1.jp
あ、あと、こんなのもありましたね。。。
piyolog.hatenadiary.jp
piyolog.hatenadiary.jp

そのころ海外では……

あまりIT業界関連では話題にならなかったように記憶しているが、ブリティッシュ・エアウェイでかなり影響の大きな障害が発生していたようだ。
www.computerworld.com
ただ、ざっと調べた限りでは原因は公開されていない模様。

さて、2020年はどうなっちゃうのだろうか。また6か月後くらいに振り返ってみたい。

複雑なシステムはどのようにして失敗するのか(How Complex Systems Fail)

How Complex Systems Fail – Perspectives の記事で紹介されていた「複雑なシステムはどのようにして失敗するのか(How Complex Systems Fail)」という論考が興味深かったので紹介する記事。

詳細はリンク先のPDF参照だが、紹介されている18条だけ簡単に紹介しておく(DeepL翻訳)。

  1. 複雑なシステムは本質的に危険なシステムである
  2. 複雑なシステムは故障に対して重く、うまく防御されています
  3. 大災害は複数の失敗を必要とする - 一点の失敗では十分ではない
  4. 複雑なシステムには、その中に潜んでいる欠陥の変化する混合物が含まれています
  5. 複雑なシステムは劣化モードで動作する
  6. 破局は常に角を曲がったところにある
  7. 事故後の事故を「根本原因」に帰属させることは根本的に間違っている
  8. 事故後の人間のパフォーマンスの評価に後知恵のバイアスがかかる
  9. 人間のオペレータには二重の役割がある: 生産者として & 失敗に対する防御者として
  10. すべての実務家の行動はギャンブルである
  11. 先端の行動がすべての曖昧さを解決する
  12. 人間の実務家は複雑なシステムの適応要素である
  13. 複雑なシステムにおける人間の専門知識は常に変化する
  14. 変化は新しい形態の故障を導入する
  15. 「原因」の見解は、将来の事象に対する防御の有効性を制限する
  16. 安全はシステムの特性であって、コンポーネントの特性ではない
  17. 人は継続的に安全を創造する
  18. 失敗のない運用には失敗の経験が必要である

論考の著者であるRichard Cook氏は医療事故、複雑なシステム障害、そしてこれらのシステムの頂点に立つ人間のパフォーマンスに関する第一人者だそうだ。主な著作は以下。

しかし、著者は異なるのだけれども、日本語だとこの本に書かれている内容とだいぶ重なっている印象である。複雑系と密結合によって誕生したシステムがどのように問題を発生させるかが論じられた良書だと思う。

「Design It! ― プログラマーのためのアーキテクティング入門」の後半も読んだ #デッドライン読書会

後輩の年下エンジニアに突き上げられて老兵エンジニアが未消化の積読技術書を読み、感想をブログに書く企画の第11回。今回も「Design It! ― プログラマーのためのアーキテクティング入門」である。今回は残り(第3部)を2週間で読んだ。というわけで本書は読了である。やりきった。

Design It! ―プログラマーのためのアーキテクティング入門

Design It! ―プログラマーのためのアーキテクティング入門

  • 作者:Michael Keeling
  • 発売日: 2019/11/25
  • メディア: 単行本(ソフトカバー)

デッドライン読書会のルールは、以下参照

わたしのDesign It!の前半の感想はこちら

なお、訳書が発売されてはいるのだが、本ブログでは原著で読んでいる。https://learning.oreilly.com/ のサブスクはオライリーだけでなくPragmatic Bookshelfも対象なのだ。このテクニックについてはこちらの過去記事をどうぞ。アーキ部のkawasimaさんもおすすめしてた。

チーム活動としてのアーキテクティング

さて、第3部「アーキテクトの道具箱」は言葉通り、アーキテクトがアーキテクチャに関する情報収集、検討、共有するためのテクニックが列挙されている章である。

非機能要件のヒアリングとしてのテクニック

「14章 問題理解のアクティビティ」で紹介されているテクニックは、これまでの文脈で言えば要件定義における非機能要件ヒアリングに相当するのだろう。紹介されている手法はすでに知っているものも多い。たとえばGQMなどはIPAでいろいろと資料が公開されているので見てみるとよいだろう。

なお言うまでもなく、本書で扱われる手法は抽象度がとても高い。一方で日本においてはより詳細レベルのヒアリングテクニックとして、非機能要求グレードがポピュラーである。このあたりの使い分けはよく考えた方が良さそう。

チームでのアーキテクティングテクニック

「15章 潜在的な解決策を探るアクティビティ」はチーム活動としてアーキテクティングする方法という点でとても新鮮である。
自分の経験では、アーキテクチャはリードメンバーが集中して考えるものであって、チームメンバーはあくまでそのレビュアーである。しかし、本書で紹介されているテクニックの多くは、複数メンバーのグループワークとして検討を実施する形となっている。これはかなり興味深いのだけれども、どこかで素振りをしておかないと、いきなり実戦適用は難しそうな印象。

アジャイルアーキテクチャを共有するためのテクニック

「16章 設計をタンジブルにするアクティビティ」「17章 設計の選択肢を評価するアクティビティ」は、情報共有に関するテクニックとアドバイスになっている。
とくに16章はシンプルかつアジャイルに情報を共有するためのいろいろなアイデアが紹介されていて、すぐにでも活用できそう。本書の前半でも紹介されていた「悪名の高いアーキテクチャ文書」の対策でもあると思う。

ソフトウェアアーキテクチャの文書化は、悪名高いことで有名だ。コードを書く時間を奪うし、賞味期限が切れていることがほとんどだ。独自のバイナリファイル形式で書かれていて、手軽に編集できないことも多い。それに加え、それを読む人がほとんどいない! ソフトウェアアーキテクチャ記述(Software Architecture Description)のことを SAD と呼ぶ人がいるのも不思議ではない。
Design It! ―プログラマーのためのアーキテクティング入門 11章 アーキテクチャを記述する

Design It!の感想まとめ

現時点での(時代に即した)アーキテクチャ設計論としては、本書Design It! ―プログラマーのためのアーキテクティング入門Release It!: Design and Deploy Production-Ready Software (English Edition)が二代巨頭だと思っている。残念ながら後者は未翻訳ということもあるので、本書が日本語で読めるようになったというのはとても良いことだと思う。
でも、英語/機械翻訳でも、けっこう読めるけどね。