Software Development Books
Table of Contents
- About Face: The Essentials of User Interface Design
- Code Complete: A Practical Handbook of Software Construction
- Information Architecture for the World Wide Web
- Manager's Handbook for Software Development
- Rapid Development: Taming Wild Software Schedules
- Software Project Survival Guide
- The Mythical Man-Month: Essays on Software Engineering
- Web Navigation: Designing the User Experience
According to Construx Software's Professional Software Engineering Pyramid, only about 3% of US-based developers read books on software engineering. There is a lot to be learned from the experiences of others. Particularly from those that have been doing something longer than you have. Here is a list of books that have prevented me from wasting months and even years working out the solutions to common software development issues. With solutions to the common issues in hand, I am able to focus on the unique, project-specific obstacles I encounter when building software applications.
About Face: The Essentials of User Interface Designby Alan Cooper Comments: A lot of people talk about user-centered design. Then they go on to build systems that focus too narrowly on a user's tasks rather than actually examining a user's goals. This distinction was quite an eye-opener for me and I am guessing it would be for a lot of other developers, designers, and project managers. |
Code Complete: A Practical Handbook of Software Constructionby Steve McConnell Comments: I have seen a few companies spend months discussing a set of company-wide coding standards. If it were up to me I would have everyone read this book and then sit down for a day or two and decide on which chapters to use and which chapters to ignore. That subset of chapters would then become the company's coding standards. |
Information Architecture for the World Wide Webby Louis Rosenfeld & Peter Morville Comments: An excellent look at how information should be organized and disseminated. Many of the topics are common to most websites regardless of their size, complexity, or target audience. Of particular interest to me were the chapters on navigational systems and labeling. |
Manager's Handbook for Software Developmentby the Software Engineering Laboratory of NASA Comments: NASA builds some of the most mission-critical software applications in the world. Their software development efforts are extraordinary. Yet while managing to achieve productivity levels equal to or better than the average software development shop, they can simultaneously improve quality by 10 to 20 times. While reading this handbook I was continually amazed at the amount of quantitative data that NASA's Software Engineering Lab has gathered to help with estimating project time and cost, measuring system complexity, and determining optimum team size. NASA has even developed a formula (specific to their environment) to express the number of pages of documentation that will likely have to be written per line of code. |
Rapid Development: Taming Wild Software Schedulesby Steve McConnell Comments: While McConnell's books Code Complete (above) and Software Project Survival Guide (below) are targeted at developers and project managers respectively, this is the book for lead developers. This book is a mix of both technical and managerial practices which I found very helpful in my many positions as Lead Web Developer. |
Software Project Survival Guideby Steve McConnell Comments: Chapter 2 provides a quick test for evaluating the chances that a software development project will succeed. This test provides a quantitative way to measure the improvement in one's project management skills since, by following the guidelines in this book, each successive project should score higher over time. This test alone makes the book worth purchasing. |
The Mythical Man-Month: Essays on Software Engineeringby Frederick P. Brooks, Anniversary Edition Comments: Ever wonder where the idea that adding more people to a late project makes the project run even later? Brooks explains the logic behind this idea. Another interesting essay is “No Silver Bullet” in which Brooks theorizes that in the next 10 years, from the time the essay was written, there would not be any new technologies or processes that would significantly improve the art of software development. This anniversary edition is an excellent revival of several influential essays on software engineering. |
Web Navigation: Designing the User Experienceby Jennifer Flemming Comments: The first 100 pages of this book are fairly weak because the topics discussed are covered in more detail in other books. However, the second half of the book delves in to specific design ideas for different types (shopping, entertainment, information, learning, etc.) of sites. Furthermore, the discussions include a practical examination of a handful of live sites of each type. |
Leave a Reply