Useful Information from Prolific Bloggers

Software Development Books

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 Design



by Alan Cooper

About Face: The Essentials of User Interface Design
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 Construction



by Steve McConnell

Code Complete: A Practical Handbook of Software Construction
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 Web



by Louis Rosenfeld & Peter Morville

Rapid Development
Comments: An excellent look at how information should be organized and disseminated. Many of the
topics are common to most web sites 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 Development



by the Software Engineering Laboratory of NASA

Manager's Handbook for Software Development
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 Schedules



by Steve McConnell

Rapid Development
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 Guide



by Steve McConnell

Software Project Survival Guide
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 Engineering



by Frederick P. Brooks, Anniversary Edition

The Mythical Man-Month: Essays on Software Engineering
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 Experience



by Jennifer Flemming

Rapid Development
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 Response

Notify me of followup comments via e-mail.