My favorite software development books of 2010
These are my favorite software development books of 2010:
This book is a great resource for learning and getting insights into Test Driven Development. Actually the best resource I have found so far...
The book has influenced my approach to developing software. Although it is certainly difficult to implement the object-oriented design style and the interaction-based testing style that is the core of the book.
The best thing about the book is the non-trivial application that is developed throughout the biggest part of the book. This shows the applicability of the concepts in the "real-world". But be warned: to follow it through, it demands quite a high concentration span from the reader.
Azure in Action
This is the best "cloud-book" I have read so far (see my review).
Although this book focuses on the Windows Azure cloud platform. It is a good read for anybody who wants to get in touch with development for the cloud and the underlying concepts.
The great thing about that book is, that the knowhow you get is agnostic of the "classic" development platforms. Regardless if you are doing web development in Java, .NET or Ruby, in the future you will not get around client-side browser programming.
I have not read the whole book yet. But so far this is an essential book that shows the necessary infrastructure and concepts to realize an agile software development workflow.
It is not about the "soft factors" of agile development. There are enough books about XP, Scrum, Kanban, Lean etc. out there ... it is also not so much about the theoretical concepts of the process (it more or less takes iterative and incremental process as given).
Instead the book focuses on techniques and infrastructure that is the base to efficiently realize the concepts of agile development from coding to delivery.
It shows that agile software delivery encompasses much more than using a taskboard, practicing TDD and having a continuous integration build.
Specification by Example
This book describes experiences and insights of over 50 "real-world" projects that are trying to implement Behavior Driven Development, Agile Acceptance Testing and Specification by Example.
This book is for testers, business analysts, developers and project managers working on Agile and Lean projects or teams moving to an Agile development method. In (agile) software development success depends heavily on the involvement and collaboration of all stakeholders. The book shows techniques how to realize this collaboration and involvement throughout the whole development process and how to establish the "agile mindset" in the whole team.
Although this book is not really from 2010, it is one of the books that I finished reading and which keeps influencing my approach to developing software.
The book looks at agile software development from a testers perspective. It breaks with a lot common practices in traditional software testing. One of the central points of the books is, that testing can and should be more than a simple "go/no-go" decision at the end of the development phase.
The book describes how to evolve testing into a continuous effort throughout the whole development process. How testing can play a crucial role in requirements gathering, how it can be a supporting tool during development and how it can enable transparency and measure progress.
With the advice from the book testers become an essential factor also during development and developers and testers start working together in a highly collaborative way.
What are your favorite development books of 2010?