Forum Chat

Mar23,13:31 Johan Marechal
Wees gegroet
Sep20,17:50 Vicente Duque
Kim, Martin, Others :...
Jul07,11:10 Johan Marechal
Jul05,21:13 martin
Fastest in the bush
Jul05,07:48 martin
Jun28,21:16 martin
New domain / new blog!
Jun28,21:11 martin
On posting etiquette
Book Reviews: Development

Software Engineering, 6th ed.

November 25, 2004
Sommerville, Addison-Wesley 2001
It's one of the classic textbooks in Software Engineering. It's recommended literature for a number of programs, including the IEEE CSDP certification. Each chapter has a "key points" summary, "further reading" and "exercises", just like any decent textbook. The text itself is very comprehensive, without going into great detail and guaranteed non-controversial. All in all, very easily digestible, though a bit bland. And, I have to admit, a bit boring too. Contrary to many other, more exciting, books, it does cover software maintenance, legacy systems, re-engineering, process improvment, and configuration management, none of which is very exciting, but all of which are necessary to know something about. (No comments yet)

Programming on Purpose: Essays on Software Design

September 12, 2004
P.J. Plauger, Prentice-Hall, 1993
This little book is a collection of essays from Plauger's column in Computer Language magazine. The subject matter is sort of orthogonal to what you find elsewhere. It's not about teamwork, development methods, coding tricks or algorithms. It's about the things I haven't seen mentioned or discussed anywhere else with a heavy bias towards "point of control" issues and reducing complexity in architecture. I've always put a very large emphasis on these things in my own designs, but until now, I thought that was my own peculiarity. Seems it isn't, after all. This little book deserves to be read over a longer period of time; consuming just an essay or two at a time and letting them simmer for a while. As with many other profound texts, it may seem trivial if you try to skim it. Take care, it's worth taking the time to grasp it fully.
The book is out of print, but some shops still have it. I got mine second hand (but clearly never read) through (No comments yet)

Professional Software Development

May 20, 2004
Steve McConnell, Addison-Wesley, 2003
The masters' next book. This time the emphasis is on the career progression of the programmer. Coupled with the progression of quality improvement of the software development process. Easy read, good boss book. (7/2003) (No comments yet)

Psychology of Computer Programming

May 20, 2004
(Silver Anniversary Edition), Weinberg, Dorset House, 1998
This is another very old book that has been slightly added to and republished. The difference is that a lot of the material in it has actually become stale and useless. It would have benefitted from some scrapping of old outdated content. What still is valid, however, is good and useful, though not as much as I'd expected. If you've got the time, it's worth reading, though. (6/2003) (No comments yet)

The Mythical Man Month (Anniversary edition)

May 20, 2004
For some amazing reason, I seem not to have added this book to this list before. It's one of the first software development management books I bought and the one I've read the most. I actually read it from cover to cover three times already. It's also almost constantly on loan to somebody, so I seldom see it. If you're only going to read one book on software development management, this is the one you should choose. The book is actually 20 or 30 years old, but that's not noticeable. It's been slightly updated and chapters added, of course. (6/2003) (No comments yet)

Writing Secure Code

May 20, 2004
Howard-LeBlanc, MS Press, 2002
It's not self-evident where this book belongs. It could be in the section about "security" or it could be in the section "windows programming". Or it could be in this section, since it tries to fit into the category of "Writing Solid Code", obviously. This book is in the "Best Practices" series from Microsoft and it treats the subject in that way, too. It's a very readable overview over the many things you should think about when designing (and coding!) software. Fairly easy read and highly recommended. (11/2002) (No comments yet)

Extreme Programming Explained

May 20, 2004
Kent Beck, Addison-Wesley, 2000
Extreme Programming is a method based on a few simple principles: minimal design (develop as you go), pair programming, test-based development and short cycles (plus details). All these principles look just great, and I do believe in them. Except I'm not sure you can use all of them all the time and in any development environment. The author uses primarily SmallTalk, but does not seem to think that has anything to do with it. Anyway, this book got me into test-driven development for real (very important!). Pair programming isn't for me, since I'm usually working alone, but if I wasn't, I'd sure like to try it out for real. The office layout principles (everyone in a big room together) are probably essential for the pair programming, but contradicts the need for silence and privacy we know is real. Maybe we can conclude that the currently common configuration of large office landscapes and single programming is the worst of two worlds, while other configurations are open for discussion. I can live with that. (01/2001) (No comments yet)

Practical Software Requirements

May 20, 2004
Benjamin Kovitz, Manning, 1999
There aren't very many books on software requirements out there. Lots of books about development where it's (requirements analysis) mentioned as something you really have to do and all the disasters that will befall you if you don't do it right. But exactly what that is, that "right" way of doing it, is a carefully avoided topic. Kovitz does go into it and squarely admits it's very difficult to describe a perfect system that can be applied anywhere. This book seems to assume there is no such system and that the central tenet of requirements is to write clearly. It's prose, that's what it is. The subtitle of the book is "A manual of content & style" and that's exactly what it is. A very good such manual and very readable, too (lucky for the author, the opposite would have been nothing but a disproof of the book itself). (12/2000) (No comments yet)

Mastering the Requirements Process

May 20, 2004
Robertson - Robertson, Addison-Wesley, 1999
A more systematic approach to requirements analysis with a system of cards and forms you can use. (12/2000) (No comments yet)

Rapid Development

May 20, 2004
Steve McConnell, MS Press, 1996
The two Steve's together with Microsoft cover the major part of the field of practical software development management. It's amazing how open Microsoft is about the mistakes they've made over time, and how prepared they are to learn from them. This goes a long way towards explaining their success, of course. In the Rapid Development tome (it's big), this Steve describes and then catalogues a number of practices. He also rates each one according to efficiency, risks, interactions and comes up with a label of "Best Practice" for the most important ones. This is a very useful book for several reasons, among which: you have all the practices here, so there's less tendency to go overboard with the best practice du jour. It's also very useful when you're writing project plans or offers, since you're much less apt to forget cycle elements. (No comments yet)

Software Project Survival Guide

May 20, 2004
Steve McConnell, MS Press, 1998
A very practical guide to organizing your first project as project manager. Large type, simple schematics, check lists. Should be easy to use during battle conditions. (No comments yet)

Debugging the development process

May 20, 2004
Steve Maguire, MS Press, 1994
Practical guide to organizing projects. The "Steves" seem to write the same kind of books all the time. Even though they never overlap or make each other redundant. On the other hand, there are four years between the books, so maybe one Steve just changed name in the meanwhile. Anyway, read them both, so you don't have to choose. (No comments yet)

Code Complete

May 20, 2004
Steve McConnell, MS Press, 1993
The in house coding style guide for everyone. It's also big (800+ pages). Covers how to comment, which variable types to use, how to modularize, how to document, etc, etc. Indenting, too. Mainly C/C++ oriented, but not exclusively. This one's a classic. (No comments yet)

Writing Solid Code

May 20, 2004
Steve Maguire, MS Press, 1993
The other "Steve" book on coding styles. Nice complement to Code Complete. (No comments yet)

Death March

May 20, 2004
Yourdon, Prentice-Hall, 1997
What to do to save "Death March" projects. That's the project that's already way above budget and way beyond deadlines. The kind where all will be lost unless you retarget it, drop everything non-essential and get all stakeholders to realign. Sort of Chapter 11 for project teams. If you're in such a situation, you should have read this book. Reading it once you're there can't be done. You won't have the time. Maybe you'll never be in a death march project, even though chances for that are slim. (No comments yet)