ゴールデンウィークももう半分を過ぎてしまいましたね。そろそろ休みに飽きてきた方もいるのではないでしょうか?そんな皆さんに、ゴールデンウィークだからこそ、ゆっくり読みたい本を紹介します。
そう、時間があるときしか読めない分厚い本、所謂「鈍器本」と呼ばれるモノを、一冊読んでみませんか?
コードコンプリート
まずは、プログラマーなら一度は読みたい、けれどもかなりの分厚さなので、読み切れていない人もいるのではないかな、という「コードコンプリート」です。
二冊分冊と、かなりハードルが高そうな本ですが、ソフトウェア開発を初めたばかりの方でも読めるように書かれています。まず「ソフトウェア開発」をどのように進めていけばいいのか、というコードを書く前の話からはじまり、クラス設計をどうするかの話、そして後半は実際のコードにおけるベストプラクティスまで、幅広い範囲をカバーしています。最後まで読めば、自分のコードの書き方を見直す、良いきっかけになるのではないでしょうか。
ユースケース駆動開発ガイド
コードコンプリートは、コードをどう書いていくのか、というのが大きな主眼となっている本です。しかし、大きなソフトウェアを開発する場合には、「そもそもどうつくっていけばいいのか分からない!」という人も多いのではないでしょうか?そんな悩みを持っている人におすすめなのが、「ユースケース駆動開発ガイド」です。
ユースケース駆動開発ガイドは、ユースケース、つまりそのソフトウェアがユーザーにどのように使われるのか、という分析から、実際のクラス設計に落とし込んでいく流れを解説した本です。どの単位でクラスに分けるべきか?どのメソッドをどのクラスに持たせるべきか?など、設計を行う上で頭を抱えるポイントが、この手法に従うと体系的に進めていけるようになります。
次に紹介する「エリック・エヴァンスのドメイン駆動設計」の入り口としても使える、非常に面白い本です。
エリック・エヴァンスのドメイン駆動設計
この本は、発売以来多くの人びとの頭を悩ませてきました。ギルドワークスでは、一年書けてこの本の読書会を行っています。読むたびに新しい発見がある、そんな本です。
「ドメイン」という言葉を噛み砕くと「ソフトウェアを使うユーザの関心事」と言えます。ユーザーの関心事をモデルとして理解し、それを設計に、そしてソフトウェアに落としこむことで、変更に強いしなやかなソフトウェアを作ることができる、ということが語られています。内容の深さ・難しさから敬遠されがちな本ですが、まずはまえがきから、じっくりと読んでみてください。これまで意識してこなかったソフトウェアの作り方が見えてくるはずです。特に何度もソフトウェア開発を経験されている方なら、ハッとする事が何度もあるはずです。
アバウト・フェイス
最後に少し毛色の違う、けれどもとてもボリュームのある本を紹介しましょう。ユーザーインターフェースについて体系的に語られた本、「アバウト・フェイス」です。
この本には、ユーザーインターフェースの原則論だけでなく、ユーザーインタビュー・ペルソナなどデザインプロセスについても、体系的に紹介されています。まずこの一冊を読んでおけば、UIやUXと言った議論のスタート地点に立てる、そんな本です。
ですが、こちら絶版になっており、中古本は高騰しています。しかし、教科書的な本だけあって図書館にも多く入っているようです。
なお、英語では第4版が出版されています。
遊んでばかりのゴールデンウィークもいいですが、一冊くらい「これはやったぞ!」と思えるような達成感が感じられる「鈍器」本を、読みきってみませんか?
私は、About Faceの第4版、原著での一気読みにチャレンジします!
この記事もどうですか?
-
ブラウザ操作のキャプチャができる Puppeteer recorder を試してみる
Chromeの自動操作ツール Puppeteer みなさん、 Puppeteer はご存知でしょうか?Googleが開発している、Chromeの自動操作ツールです。 ブラウザの自動化ツールと言えば Selenium ですが、それと比べると …
-
ビジネスモデルキャンバスをソフトウェアにするための開発
堤さん、飯野さんから「ビジネスモデルキャンバスを中心においたグループウェアをつくる」と聞いたとき、そのチャレンジに高揚感を覚えました。 いよいよそれを作るのか!と士気が高まる一方、どんなカタチにすれば良いのか必ず頭を悩ますだろう!とさっそく…
-
チームに新しい仲間がやってきた時に行う3つのこと
状況 チームに新しい仲間がやってくる。 こうなってほしい できるだけ早くチームに溶け込んでほしい。 チームとしてのパフォーマンスがあがってほしい。 困り事 何もしないとお互い様子見になったりして、なかなかチームのパフォーマンスがあがらない。…
- チーム
