自由課題

学んだり、考えたり、試したりしたこと。

2015上半期に読んだ書籍まとめ

基本的に活字中毒なので、時間が空けばほぼ何らかの活字を読んでいる。思いつき以上のものはないのだが、ここ半年のAmazonの購入履歴の中からソフトウェア開発・ビジネス書について印象の強いものをまとめてみた。なお、それぞれのカテゴリ中の並びは購入順である。

ソフトウェア開発

継続的デリバリー 信頼できるソフトウェアリリースのためのビルド・テスト・デプロイメントの自動化

継続的デリバリー 信頼できるソフトウェアリリースのためのビルド・テスト・デプロイメントの自動化

継続的インテグレーションのレベルからステップアップするという観点で読んだ。正直、受け入れテストや非機能テストと聞くと反射的に若干腰が引けてしまうところはあるが、本書の内容を踏まえて考えていけば少しずつなら出来そうな気がしてきたのでこれから考えていきたい。結構ボリューミーな書籍(543p)なので、一読して全てを頭に入れるというよりは、必要に応じて参照するリファレンス的な使い方が良さそう。

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

他の人の書評でも書かれているかもしれないけど、もうちょっと早く読んでおけば良かったというのが第一印象。こういう開発関連のツールは、ちょっとした機能を知っているかどうかで大きく効率が変わってくるので、使用する前に少なくともどんな機能があるかくらいは把握しておいたほうがよいと思う。本書ではJMockを使用しているが、今はJMockitを使っている。JMockitについては正直いい書籍が見つかっていないので、いいのがあったら誰か教えてください。

ソフトウェアシステムアーキテクチャ構築の原理 第2版 ITアーキテクトの決断を支えるアーキテクチャ思考法

ソフトウェアシステムアーキテクチャ構築の原理 第2版 ITアーキテクトの決断を支えるアーキテクチャ思考法

  • 作者: ニック・ロザンスキ,オウェン・ウッズ,榊原彰,牧野祐子
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2014/09/26
  • メディア: 大型本
  • この商品を含むブログを見る

ISO9126に代表されるような品質特性って、Wikipediaなんかでざっと見て「ふーん」というところまではやりがちだろうけど、じゃあ日々の開発にどう生かすんだというところに対してはちょっと距離があるような気がする。この書籍はビュー及び特にパースペクティブという概念で品質特性の説明や気をつけておくべき勘所をカタログ的に紹介している。かなり分厚い本(582p)だが網羅度は高いと思う。合わせて実践ソフトウェアアーキテクチャを読むと理解が深まるかもしれない。この本はこの本で読破するのに胆力は必要とするものだけれど。

実践ドメイン駆動設計 (Object Oriented Selection)

実践ドメイン駆動設計 (Object Oriented Selection)

エリック・エヴァンスのドメイン駆動設計 でエンティティとか値オブジェクトとかリポジトリとか出てきたけど結局何なの的な人は一定数いると思っていて(自分もそう)、役に立ちそうなので何度も読んでみるととスルメのようにじわじわ何かが染み出してはくるものの、十全に理解するのはなかなか難しかった。本書の意義の一つは、そういう層に向けて設計プロセスを含めた具体例を示しながら解説していることである。もう一つは、「ドメイン駆動設計」で示されていない手法が紹介されていることで、CQSやイベントソーシングについて知ることができる。個人的にはヘキサゴナルアーキテクチャーの解説がやや詳細に載っていたのが良かった。

ビジネス

エッセンシャル思考 最少の時間で成果を最大にする

エッセンシャル思考 最少の時間で成果を最大にする

仕事の効率化を進めるためのHowtoみたいな書籍は世の中に溢れているが、この本はそもそも手をつけるアイテムそのものを厳選することを勧める本である。従って、「選ぶ」ことを選ぶ決断が必要である、というところから説明が始まる。正直、この後いろいろ書いてあるが結局は冒頭のこの決断ができるかどうかに尽きそう。そのタスク、本当にやる必要があるのか?という観点で考え続けることが大事なのではないだろうか。

【決定版カーネギー】道は開ける:あらゆる悩みから自由になる方法

【決定版カーネギー】道は開ける:あらゆる悩みから自由になる方法

それなりの歳になってきて、最近仕事を続けるということ(もしくは生きることそのもの)は耐久レースに近いのではないかと思うことがある。死ぬまで死なないで無事走り続けることが重要なのだとすれば、瞬発的な力より怪我をしないフォームを身につけることが必要であり、常に使用し続ける"型"としての思考パターンについて意識することが必要である。同じ事実をどう知覚・思考するかによって「道が開ける」かどうかが変わるというのは実際間違いなくあるだろう。

これも仕事量を減らすという意味では エッセンシャル思考 最少の時間で成果を最大にする にある意味に似ていて、一旦仮定でいいから検証可能なゴール、及びゴールに至る道のりを決め打ちしてしまって、本当にやるべきアイテムを大幅に絞るという方法を紹介している。こういう本が何冊も出てい(ておそらく売れてい)るってことは、全然他人ごとじゃないがよっぽどみんなそれぞれ仕事量が多いんだろうなあ。

人を動かす 新装版

人を動かす 新装版

個人的には半分心理学の本として読んだ。基本的には相手の承認欲求だとか自己顕示欲だとかをきちんと満たしつつ自分のやりたいことをやってもらう、みたいな感じ。こう書くと何だか性格悪い人になってしまいそうだけど、そもそもが動かすという趣旨なのである意味そうなんだろう。白魔術・黒魔術的な意味で 影響力の正体 説得のカラクリを心理学があばく とも表裏一体の本かもしれない。

知識創造企業

知識創造企業

この本には、西洋から見た(特に一番強かった時代の?)日本の企業運営について書かれている。ちゃんと出自を確認してないんだけど、ソフトウェア開発で使われているスクラムの源流はこのあたりにもあるような気がした。20年前に出版されたこの書籍は現在でもそれほど違和感なく読めてしまう。このことを普遍性があると肯定的に捉えれば良いのか、日本企業は結局当時から何も変わっていないと否定的に捉えれば良いのかはよくわからない。どうなんだろう。

ライフサイクル イノベーション

ライフサイクル イノベーション

キャズム の作者が執筆した、商品ライフサイクル中の段階(成長期・衰退期など)と適用すべきイノベーションの種類との関係を記した書籍。成長期にはアプリケーションイノベーションを検討する、など各々のフェーズで適切なイノベーションを考えることはもちろんだが、不適切なイノベーションの選択をすることのダメージの大きさについても繰り返し語られている。正直、カタログ的に使えそうだとは思うが、この程度の情報は競合も読んでいるんじゃないかと思うと、当然知っておくべき基礎知識以上のものにはならないのかもしれない。

特に第I部第1章の「リーダシップ理論の変遷」のところが面白かった。リーダをリーダたらしめるものは何か、ということで、リーダ自身の特性に注目したり、リーダの行動に着目したり、リーダとフォロワーの関係に着目したりと様々な観点で研究されている。後期の研究になればなるほど、リーダ論というよりは集団的知性論(?)、つまりリーダの力というよりは場の力について研究する感じになっているのが面白い。リーダシップに関する知識がざっと俯瞰されているので、本書を入り口にして関連書籍を参照していくのも良さそう。