Agile Software Development Principles, Patterns, and Practices by Robert Cecil Martin

This is really interesting book which describes the interactions of developers in team which follow strictly agile principles and it include even more.

You will find many suggestions about how to organize and manage agile team and at the same time don’t break agile principles!
This is quite different and extraordinary experience, because many current German companies actually doing agile, but not completely to the book or to the agile manifesto statements and they believe they are true agile == LOL.

This books presents example’s how to write acceptance tests for a one payroll payment system, then the reader get another example in form of bowling game developed by the test driven approach, which was lot of fun to read.

Throughout the whole bowling game example you will experienced the thinking process and the implementations steps which are needed for implementing of this game.
You will see refactoring processes during this example and see how exactly agile process looks like.

Robert Cecil Martin presents classic description of SOLID principles in his book, they are great and a must know for any developer (backend, frontend doesn’t matter) you as developer should be aware of it, the usage of those design principles, should be done with clear understand of the requirements of your project.

I totally agree with Uncle Bob, about that many software patterns are actual engineering decisions and developers should always know advantage and disadvantages of the particular pattern in use.

The reader would see code examples for all in book presented design patterns.
Author presents interesting case of payroll system, which have different types of payroll subtypes , but you will experience how to implement it via test driven approach.
Another interesting topic, about package dependencies in cycle, which is good consideration, because circle dependency is very bad and should be avoided in any case.

Then another example was about weather station and the observer pattern it was deep and I think it’s good refresher.
At the end of the book Robert Cecil Martin presents real example from one of his past project’s , this  is especially interesting, because it’s clearly underlines how difficult OOP can be.
The last chapter about fictional cases of two companies , which is pretty funny to read and I don’t  want to spoil your experience of reading it!

Overall summary: This is good book, some young developers say , but it does not represent any new shiny frameworks, well this true , but you should not depend so much on frameworks anyway.
Senior or middle developers ,  would love design parts of this book and finally managers would get some understanding of developer process. This is very good book, in my opinion it’s a must read for any professional who in any point of time touch the work in IT field.