Software and hardware design is less different than software designers think, but more different than hardware designers think.
Fred BrooksThe hardest single part of building a software system is deciding precisely what to build.
Fred BrooksA little retrospection shows that although many fine, useful software systems have been designed by committees and built as part of multipart projects, those software systems that have excited passionate fans are those that are the products of one or a few designing minds, great designers.
Fred BrooksSystematically identity top designers as early as possible. The best are often not the most experienced.
Fred BrooksThe hardest single part of building a software system is deciding precisely what to build the most important function that software builders do for their clients is the iterative extraction and refinement of the product requirements. For the truth is, the clients do not know what they want. They usually do not know what questions must be answered, and they have almost never thought of the problem in the detail that must be specified.
Fred Brooks