Software Engineering Books

Contents

Innovation of New Products Innovation

Management Management

Project Management ProjectManagement

Requirements Requirements

Architecture / Design Architecture

User Interface UserInterface

Programming Programming

Modeling Modeling

 

Innovation of New Products

Guns, Germs and Steel - Jared Diamond

One of the best books about societal (company) organization and how that relates to competition and survival.
Poor Societal Decisions
How to Get Rich

The Sources of Innovation - Eric von Hippel

This book is mostly about competition between rivals, and innovation by lead users.
Part of Sources of Innovation

Mastering the Dynamics of Innovation - James Utterback

When an innovative product is created, there is a period where many companies will present alternative ways of solving a problem. Eventually a dominant design will evolve. Then product development changes to focus on process improvement for this single design. During this phase, the number of companies usually drops.

Entrenched companies in previously existing technologies will be involved in defensive innovation. Typically companies that are not in a market will be the companies that have true innovation. An example is the mechanical typewriter. IBM was not manufacturing the mechanical typewriter, but eventually dominated with the electric typewriter.

The Innovators Dilemma - Clayton Christensen

There is disruptive innovation and sustaining innovation. Companies face a dilemma when a disruptive product has the future ability to replace the sustaining product. An example of a company that succeeded in this is HP. HP had laser printers and was developing technology for ink jet printers. Initially HP had them developed in the same division, but this was a problem because funding went towards the established product. Then HP moved the ink jet printer development to a different location and only then did the ink jet printer start to compete.

A disruptive product must be prepared for low margins and start with low market share. It is important the too much focus is not put on an existing narrow customer base, or other technologies can come along that solve problems for a larger customer base.

New Product Development - Robert J. Thomas

Essentials of Marketing Research - Vikumar, David Aaker, George Day

 

Management

First, Break all the Rules - Marcus Buckingham, Curt Coffman

This book claims that 12 questions can be used to evaluate the workplace. These questions were derived from studies of 80,000 managers in 400 companies. It has unconventional ideas about how to select employees by talent and how to work with employees.

The twelve questions are:

  1. Do I know what is expected of me at work?
  2. Do I have the materials and equipment I need to do my work right?
  3. At work, do I have the opportunity to do what I do best every day?
  4. In the last seven days, have I received recognition or praise for good work?
  5. Does my supervisor, or someone at work, seem to care about me as a person?
  6. Is there someone at work who encourages my development?
  7. At work, do my opinions seem to count?
  8. Does the mission/purpose of my company make me feel like my work is important?
  9. Are my co-workers committed to doing quality work?
  10. Do I have a best friend at work?
  11. In the last six months, have I talked with someone about my progress?
  12. At work, have I had the opportunity to learn and grow?

Finding and Keeping Great Employees - Jim Harris, Joan Brannick

This book believes that the two reasons that an employee will stay are the immediate supervisor and the core company culture. A company that is aligned to a single one of four cultures will be able to find and keep employees. The four cultures are:

Operational Excellence is minimizing cost, maximizing efficiency, decreasing cycle time and standardized processes. A company with a culture of spirit is normally based on a social, religious or employee theme. These companies (Ex. Southwest Airlines) are still competitive.

Hiring should be a continuous process. The company culture should be used to recruit. This book has many practical ideas on hiring.

The first best practice is to engage the soul of the employee. There are many companies that are soulless and the employee will disconnect from the company.

Coaching for Improved Work Performance - Ferdinand Fournes

Understanding the Professional Programmer - Gerald Weinberg

The Deming Management Method - Mary Walton

The Control Theory Manager - William Glasser

The Mythical Man Month - Frederick Brooks

A classic describing the development of the IBM 360.

Rise and Resurrection of the American Programmer - Edward Yourdon

A retraction of his earlier book describing the fall of the American programmer.

 

Project Management

Rapid Development - Steve McConnel

A Discipline for Software Engineering - Watts Humphrey

 

Requirements

Mastering the Requirements Process - Suzanne Robertson, James Robertson

This seems to be a good book on the process to generate marketing requirements. It is a bit unorganized, but has useful information.

 

Architecture

Large Scale C++ Design - John Lakos

An excellent book on large-scale software design. This has excellent information on minimizing external interfaces and layering of software.

Design Patterns - Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

A book containing many patterns in software.

Patterns of Software - Richard Gabriel

An artistic view of software development about the relationship of building architecture to programming.

Component Software - Clemens Szyperski

A difficult to read book that has some important ideas about component software.

 

Programming

The C++ Programming Language - Bjarne Stroustrup

The Design and Evolution of C++ - Bjarne Stroustrup

The Annotated C++ Reference Manual - Margaret Ellis, Bjarne Stroustrup

Effective C++ - Scott Meyers

Effective COM - Don Box, Keith Brown, Tim Ewald, Chris Sells

This book has valuable points, but it is important to remember that Don Box is not oriented towards actual product development. This means that he does not consider the costs of engineer training (ex: smart pointers) and sometimes does not consider real products (ex: dual interfaces).

 

Modeling

The Unified Modeling User Guide - Grady Booch, James Rumbaugh, Ivar Jacobson

This book may become a classic on UML.

Real-Time UML - Bruce Douglass

UML Distilled - Martin Fowler, Kendall Scott

UML Toolkit - Hans Eriksson, Magnus Penker

 

User Interface

Software For Use - Larry Constantine, Lucy Lockwood

This is a very good book about designing user interfaces. It discusses task modeling using use cases, workplaces or interaction contexts, and maps of use cases and contexts. It is a very practical book and suggests ways to postpone decisions to remain focused on a particular task. It also describes the principle rules to good user interfaces including choices of user interface widgets, screen layouts, etc. This book also describes how to measure the quality of a user interface.

Hosted by www.Geocities.ws

1