I read this book because a colleague recommended it as a good introduction to the software development process. My goals were to gain more insights into the development process as it pertains to applications delivery, and to integrate this information in to production acceptance criteria. Since I have read (and reviewed) a number of books in the Enterprise Computing Institute series my expectations regarding format and depth of content were set in advance. In this respect I was not disappointed.
Like most books in the series Software Development is sequenced in a specific order: background, people, process and technology. It is also follows the series formula of hitting a wide number of topics without going into much detail.
It starts with background and a good, but basic, discussion of critical success factors (the authors call them the "Ten Commandments of Software Development", and current trends. The People part of the book contained some development-specific information on teams and organization, and some fairly generic material on recruiting and retaining talent.
The highlight of this book in the section on processes. I gained a lot of insights about the stages in the development life cycle and an overview of rapid application development. What stood out here were the chapters on productivity, metrics and quality, and web-centric production acceptance. Since I was seeking information that would provide a foundation for production acceptance finding it in the book was a nice surprise. What I found least informative or valuable was the section on technology. I thought the chapter on programming language features did not fit into a book that was written as a high-level survey of development. Nor did I find the Java coding standard template in appendix A to be particularly useful. Although, to be fair, it may be of interest to a development manager who is seeking to develop and implement standards within his or her organization. However, the chapters on component-based software development and developing for the web were insightful and interesting.
Overall this is a good, lightweight introduction to the software development process, and is well suited for managers and those of us in production support roles who need to understand this process in order to more closely work with developers. I subtracted a star because the technology section as a whole was disjointed, and the subtitle, "Building Reliable Systems" is misleading. While a sound development process will foster the development of reliable systems, there was no direct linkage between this obvious fact and the material in the book.