Another gem from Dave Farley.
One thing I hear quite often from people, when they learn that I work in IT, is that in their view the speed of change is so high. And how can I keep up with all these completely new things popping up all the time …
Well, not so much is really fundamentally new. Most of the changes we see are incremental (or evolutionary to use a different term). I was aware of this for hardware and various aspects of software. But for programming languages the extent of old ideas coming up as the “new hot stuff” surprised me. Robert C. Martin has made a video about this (see below). Its style is not really my cup of tea, but it has a lot of interesting information.
I bought this book about a year ago and -shame on me- only just read it. It’s really great for everyone that is interested in designing and developing robust software. So in that sense a must-read for all of us.
The book is organized in four general sections: Stability, capacity, general design issues and operations. For all of them a number of typical scenarios are described and general approaches discussed. The author seems to have a pretty strong Java and web application background (at least those are the areas of most of his examples), but the patterns and solutions are great for all systems, languages and use-cases.
So overall what we have here is a book that is fun to read and at the same time offers great insight into large-scale software systems. In my view everyone who works in this field can benefit from this book.
The author is also blogging on Amazon.com and seems to cover quite a few interesting topics.
We probably all know that gathering requirements is not as easy as it may sound. And it’s also pretty clear that the issue is not primarily around technical things but communication and people. I can recommended this book (link to amazon.com and amazon.de) to everyone who is interested in or works in that area.
I came across the book during a project where requirements gathering was a very important aspect. I had certainly done this before on numerous occasions. However, this book greatly increased my insight into the underlying mechanisms, patterns etc.