"Professional Software Development" - book review
Last week I read Professional Software Development by Steve McConnell, which is a heir of his book After the Gold Rush from 1991. I also found a bunch of his articles written as an IEEE Software editor, incorporated neatly in the book.
This was my first book to read by this well-respected author and software professional. I was actually initially planning to start with his fundamental Code Complete book. While I am writing this post I see that Steve had recently an interview on MSDN TV about the updates in the second edition of Code Complete. But a friend of mine gave me a .CHM version of the Professional Software Development which I finished in a rush for just two days. The reading experience was really smooth though at some rare places the book loses pace.
So the book presents an interesting overview of the software industry and promotes the concept of Software Engineering as a set of proven practices which are widely used in the more productive and successful companies. In the start of the first part (out of 4) "The Software Tar Pit" the author makes a parallel between software development and building the Pyramids. Unless you "pave your way" well you will have tough time completing such a tremendous job. I am also a great fan of the saying "work smart, not hard". The truth is that in SW development things are a bit more sophisticated than in moving around rocks, but the principle applies. The inertia of "code-and-fix" development and the lack of understanding what are the basis for successful projects are the reasons why the difference in productivity between the best and the average SW companies reaches absurd numbers as 10:1 or more.
I appreciate the global picture presented in the book. It was nice to know how many programmers are out there in the world and how many of them have a diploma :) Did you know what is the percent of project success and failures? Based on such statistics and mainly on his vast SW experience, Steve McConnell provides a good summary of his vision about the development of the industry and the individual development of programmers (some of which are evolving to software engineers).
I liked very much his insights about why companies like Microsoft succeed, while not being strictly process-oriented (vs empowering their employees to a great extent). I think though, that Microsoft is or will be changing its internals since having 50 000 employees is a serious organizational challenge (listen to Joel Spolsky on IT Conversation for more on the topic). But I would not worry about yje prosperity such a giant in the field, so let's leave it alone.
One of the controversial points in the book is about certification and even licensing of software professionals, which turned out to be enforced in the state of Texas. Steve says that this will probably be the future as the industry is getting a bit more mature. There are many "pro" and "anti" arguments on the topic. McConnell tries his best to prove his point and answer the pessimists. Quite provocative ideas...
So, my overall opinion on this books is 4.5/5 stars (I read so rarely that I can not be too critical :)). So go and read it if you want to see the big picture and find extra motivation to keep improving your professionalism.
P.S. if you are interested in a printed copy of the .CHM don't hesitate to ask for one (I don't know what to do with all these pages cause I usually don't do rereads).