![]() |
| ||||||||||||||||||||||||||||||||||||||||
|   | Home->Services->Software Development->Books | ||||||||||||||||||||||||||||||||||||||||
|   |   | ||||||||||||||||||||||||||||||||||||||||
| IntroductionThis list contains the books that we have read and that inspire and guide our daily work. The common theme among most of them is that they are practitioners books; they describe how to get things done. The emphasis is, and must be in this everchanging industry, on the books that takes one step back from the pure technology. We of course read numerous technology books as well, but they are more considered as reference books that are only valid as long as the technology is. In other words; to learn how to produce bullet-proof code, first read Steve McConnell's excellent Code Complete, then move on to the language/tool specific books. Software Management
The Mythical Man-Month 2nd Ed.Frederick P. Brooks, Jr.
One of the, if not the, classic on software management. More than a quarter of a century old by now, but still so valid. The second edition has been updated with the inclusion of his famous "No Silver Bullet" paper and recent reflections over both that paper and the original book. The book is most famous for discovering the principle that adding personnel to an already late project will make it later ("like pouring gasoline on a fire"). But that is merely the tip of the iceberg of what is available in this book. Understanding this book is a prerequisite for managing software development teams correctly.
Peopleware: Productive Projects and TeamsTom DeMarco and Timothy R. Lister
Clearly the most influental modern book on teams and productivity. It really drives home the point that the thing that really matters are the people, not the technology. Software development is after all the art of transforming money into software products using developers. If you then do not value the developers as the most important factor to your success; you will plainly fail. One large factor behind Bill Gates success is that he built a company filled with managers who read Peopleware. It is really the one book that all managers should read. Not just once, but once a year.
Rapid Development: Taming Wild Software SchedulesSteve McConnell
The without doubt best book on how to do software development. Yes the emphasis is on delivering Rapid Development, but the fundamentals described are equally applicable to any type of software development project. Besides, considering how the world of SW development is shaping up, almost any project has a deadline that requires an emphasis on speed. Unfortunately in the vast majority of cases this ends up equating to "we have no plan, let's just code like hell" with the all too familiar results: Slipping schedules, cost through the roof, dismal quality and burnt-out people. Rapid Development gives practical advice on how to counter all these affects and how to actually grow as a software development organisation. In a way one can see it as a in practice usable summary of more theoretical classics such as The Mythical Man-Month or Peopleware. A must read for both managers, technical team leaders and developers.
Analysis & Design
Design PatternsErich Gamma, et al.
Can be considered required reading for all object-oriented designers, developers, and architects who want to improve and streamline their design skills. Note that this is not an entry-level book. (The book is also known as the Gang-of-Four book.)
Analysis PatternsMartin Fowler
Higher level patterns than the Gang-of-Four book. An important book for designers and architects who want to improve their skills.
Coding
Code Complete: A Practical Handbook of Software ConstructionSteve McConnell
Accurately described as the encyclopedia of good programming practise or a modern-day classic on software engineering. It focuses on the practises that helps us write clean, elegant, self-documenting code that is easy to maintain. Again a must read for any developer.
RefactoringMartin Fowler, et al.
An amazing book that shows how things complex can become easy with rather straightforward methods. It is a book that really makes you think about how to implement code. All the examples are in Java, but are universally applicable.
Web Publishing
Philip and Alex's Guide to Web PublishingPhilip Greenspun
This is a book that can be read for the entertainment value alone. It is very different compared to other technical books, it really comes out as being written by a human being. Apart from that it is a definite reference on how to put content on the web.
Reference Books
UML Distilled 2nd Ed.Martin Fowler
The best things with this book is that it is thin. And that is really a very, very good thing. Compared with the behemoth volumes released by Booch, Jacobs and Rumbaugh, this book is a breeze to get through and it really gives a perfectly sufficient introduction of UML.
Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Ed.)Scott Meyers
For any C++ programmer this book is a must. It really gives you an insight in the complexity of the language and how one can counter those and write efficient programs. It is not an entry-level book, but anybody serious about C++ should read it. |