Software Design Decoded
What makes an expert software designer? It is more than experience or innate ability. Expert software designers have specific habits, learned practices, and observed principles that they apply deliberately during their design work. This book offers sixty-six insights, distilled from years of studying experts at work, that capture what successful software designers actually do to create great software.
The book presents these insights in a series of two-page illustrated spreads, with the principle and a short explanatory text on one page, and a drawing on the facing page. For example, “Experts generate alternatives” is illustrated by the same few balloons turned into a set of very different balloon animals. The text is engaging and accessible; the drawings are thought-provoking and often playful.
Organized into such categories as “Experts reflect,” “Experts are not afraid,” and “Experts break the rules,” the insights range from “Experts prefer simple solutions” to “Experts see error as opportunity.” Readers learn that “Experts involve the user”; “Experts take inspiration from wherever they can”; “Experts design throughout the creation of software”; and “Experts draw the problem as much as they draw the solution.”
One habit for an aspiring expert software designer to develop would be to read and reread this entertaining but essential little book. The insights described offer a guide for the novice or a reference for the veteran—in software design or any design profession.
A companion web site provides an annotated bibliography that compiles key underpinning literature, the opportunity to suggest additional insights, and more.
About the Authors
Marian Petre is Professor of Computing at the Open University.
André van der Hoek is Professor of Informatics at the University of California, Irvine.
—Vint Cerf, Internet Pioneer
—Grady Booch, IBM Fellow and Chief Scientist, IBM
—Owen O’Malley, Co-founder and Technical Fellow, Hortonworks