Rating:  Summary: A people, process, and technology book for software folks. Review: After spending fifteen years as a professional software developer, managing software developers, and architecting large computer systems that lots of software runs on, I decided to share some of my knowledge with others trying to do the same. Having seen so many different software technologies come and go during those years, I immediately could relate to Harris Kern's "People, Process, and Technology" theme as the three factors leading to the success of any software project. My book, therefore, while providing an overview of many current technologies, shares an equal focus with the people and process issues surrounding software development. With nearly every CIO I meet lamenting on the difficulty of hiring and retaining technical staff, including developers, the people issue was a no-brainer to address. At the same time, the importance of investing in a solid software architecture, even with the hectic schedules imposed by the ever shrinking time schedules of Web projects, resonated back to my earliest Computer Science training at UCLA. Hopefully, you will like the results, no matter if you are a developer, a development manager, or a CIO or other IT executive. Enjoy - and feel free to email me your comments and suggestions.
Rating:  Summary: Most valuable for small teams that are growing Review: although the the title of the book looks enticing, this book does not really give a very deep and enciteful view into HOW to develop software properly. It misses on some key components such as expanding in its concepts of iterative and OO development and requires you to have prior knowledge to the material. While the book is very easy to read and gives an overview, I wouldn't suggest this book if you are looking for a more through examination on software development.
Rating:  Summary: Great book for a beginner Review: although the the title of the book looks enticing, this book does not really give a very deep and enciteful view into HOW to develop software properly. It misses on some key components such as expanding in its concepts of iterative and OO development and requires you to have prior knowledge to the material. While the book is very easy to read and gives an overview, I wouldn't suggest this book if you are looking for a more through examination on software development.
Rating:  Summary: Out of date, out of synch Review: Besides being out of date, even for internal software dev groups, the contents of this book are plain out of synch with practices in any SW development environment. The author wanders through people, process and technology with no clear purpose as far as I can tell, and the technology section is so outdated that it comes across as quaint. Even the people and process sections are weak. Use the P-CMM to handle people issues, and pick any number of process approaches, from agile methods and extreme programming at one end, to the CMM at the other.
Rating:  Summary: Out of date, out of synch Review: Besides being out of date, even for internal software dev groups, the contents of this book are plain out of synch with practices in any SW development environment. The author wanders through people, process and technology with no clear purpose as far as I can tell, and the technology section is so outdated that it comes across as quaint. Even the people and process sections are weak. Use the P-CMM to handle people issues, and pick any number of process approaches, from agile methods and extreme programming at one end, to the CMM at the other.
Rating:  Summary: Good overview of people & processes; weak on technology Review: 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.
Rating:  Summary: Good overview of people & processes; weak on technology Review: 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.
Rating:  Summary: Most valuable for small teams that are growing Review: If you are looking for a book that will discuss how to code, this is not the book for you. This book is more for a software development manager/director and architect. If you are reorganizing or creating a small to mid sized software development organization/team and you are trying to structure the team, setup job descriptions, document the software development process, and review some technology options, get this book. The book doesn't go into depth in all of these areas, so it won't answer all of your questions regarding managing a software development organization. However, it covers the important issues to address regarding people, processes, and technology. If you work for a large development organization, you probably have an established architecture, methodology, process, tools, and technology in place. The book would still be helpful in providing some best practice suggestions on how to improve your process or fill any gaps. I believe the book is most valuable for small teams that are growing and need to better organize their team(s) and formalize their processes for developing software and managing the people on their teams.
Rating:  Summary: Overview of software development Review: Slightly outdated overview of nearly all aspects of software development with strong emphasis on Java. The book assumes no previous knowlegde of software engeneering and shows the reader step by step of what elements software development consists. The spectrum of topics spans a range from recruiting the right people to explaining the workings of CORBA. This wide range of topics implies not going very deep into each one. So one needs to read many additional books about each topic covered here. While dealing with Java and Jini the author could not forsee the new moves of Microsoft with it's .NET technology. So it would be interesting how the author would write about it today. Definitely outdated are the listings of software products, e.g. IDE's. Missing are a lot of necessary diagrams for showing how to modell, communicate or visualize the software development process. Overall the book serves as a handy introduction to software development, giving one the feeling, that one has now heard about all the relevant aspects involved in it.
Rating:  Summary: Overview of software development Review: Slightly outdated overview of nearly all aspects of software development with strong emphasis on Java. The book assumes no previous knowlegde of software engeneering and shows the reader step by step of what elements software development consists. The spectrum of topics spans a range from recruiting the right people to explaining the workings of CORBA. This wide range of topics implies not going very deep into each one. So one needs to read many additional books about each topic covered here. While dealing with Java and Jini the author could not forsee the new moves of Microsoft with it's .NET technology. So it would be interesting how the author would write about it today. Definitely outdated are the listings of software products, e.g. IDE's. Missing are a lot of necessary diagrams for showing how to modell, communicate or visualize the software development process. Overall the book serves as a handy introduction to software development, giving one the feeling, that one has now heard about all the relevant aspects involved in it.
|