Leanpub Header

Skip to main content

System Design Heuristics

The first part of this book will be devoted to principles: thoughts that apply to design in general.

The second part will provide a collection of heuristics: activities that designers use to help produce better designs and avoid serious design mistakes.

Minimum price

$19.00

$20.00

You pay

$20.00

Author earns

$16.00
$

...Or Buy With Credits!

You can get credits monthly with a Reader Membership
PDF
EPUB
WEB
250
Readers
About

About

About the Book

You'd think that after publishing books for half a century, I'd know how to write a book. If that's what you think, you'd be wrong.

Sure, I've even written a book on writing books (Weinberg on Writing, the Fieldstone Method), and I've applied those methods to dozens of successful books. But way back around 1960, I started collecting notes on the process of design, thinking I would shortly gather them into a book. Back then, I didn't call these bits and pieces "fieldstones," but that's what they turned out to be: the pieces that, when assembled properly, would ultimately become my design book.

Ultimately? Assembled properly? Aye, there's the rub!

Building walls from randomly found fieldstones requires patience. So does writing books by the Fieldstone Method. My Introduction to General Systems Thinking took fourteen years to write. But a writer only lives one lifetime, so there's a limit to patience. I'm growing old, and I'm beginning to think that fifty years is as close to "ultimately" as I'm going to get.

So, I've begun to tackle the task of properly assembling my collection of design fieldstones. Unfortunately, it's a much larger collection that I'd ever tackled before. My Mac tells me I have more than 36,000,000 digitized bytes of notes. My filing cabinets told me I had more than twenty-five pounds of paper notes, but I've managed to digitize some of them and discard others, so there's only a bit more than ten pounds left to consider.

For the past couple of years, I've periodically perused these fieldstones and tried to assemble them "properly." I just can't seem to do it. I'm stuck.

Some writers would say I am suffering from "writer's block," but I believe "writer's block" is a myth. I've published three other books in these frustrating years, so I can't be "blocked" as a writer, but just over this specific design book. You can hear me talk more about the Writer's Block myth on YouTube

<https://www.youtube.com/watch?v=77xrdj9YH3M&t=7s>

but the short version is that "blocking" is simply a lack of ideas about how to write. I finally decided to take my own advice and conjure up some new ideas about how to write this design book.

Why I Was Stuck

To properly assemble a fieldstone pile, I always need an "organizing principle." For instance, my recent book, Do You Want to Be a (Better) Manager? is organized around the principle of better management. Or, for my book, Errors, the principle is actually the title. So, I had been thinking the organizing principle for a book on design ought to be Design

Well, that seemed simple enough, but there was a problem. Everybody seemed to know what design is, but nobody seemed able to give a clear, consistent definition that covered all my notes. I finally came to the conclusion that's because "design" is not one thing, but many, many different things.

In the past, I ran a forum (SHAPE: Software as a Human Activity Practiced Effectively) whose members were among the most skilled software professionals in the world. We held a number of threads on the subject, "What is Design?" The result was several hundred pages of brilliant thoughts about design, all of which were correct in some context. But many of them were contradictory.

Some said design was a bottom-up process, but others asserted it was top-down. Still others talked about some kind of sideways process, and there were several of these. Some argued for an intuitive process, but others laid out an algorithmic, step-by-step process. There were many other variations: designs as imagined (intentional designs), designs as implemented, and designs as evolved in the world. All in all, there were simply too many organizing principles—certainly too many to compress into a title, let alone organize an entire book.

After two years of fumbling, I finally came up with an idea that couldn't have been implemented fifty years ago: the book will be composed of a variety of those consulting ideas that have been most helpful to my clients' designers. I will make no attempt (or very little) to organize them, but release them incrementally in an ever-growing ebook titled Design Heuristics.

How to Buy System Design Heuristics

My plan for offering the book is actually an old one, using a new technology. More than a century ago Charles Dickens released many of his immortal novels one chapter at a time in the weekly newspaper. Today, using the internet, I will release System Design Heuristics a single element at a time to subscribing readers.

To subscribe to the book, including all future additions, a reader will make a one time payment. The price will be quite low when the collection is small, but will grow as the collection grows. That way, early subscribers will receive a bargain in compensation for the risk of an unknown future. Hopefully, however, even the small first collection will be worth the price. (If not, there will be a full money-back guarantee.)

Good designs tend to have unexpected benefits. When I first thought of this design, I didn't realize that it would allow readers to contribute ideas that I might incorporate in each new release. Now I aware of that potential benefit, and look forward to it.

Before I upload the first increment of System Design Heuristics, I'll wait a short while for feedback on this idea from my readers. If you'd like to tell me something about the plan, email me or write a comment on this blog.

Thanks for listening.

Author

About the Author

Gerald M. Weinberg

I've always been interested in helping smart people be happy and productive. To that end, I've published books on human behavior, including Weinberg on Writing: The Fieldstone Method, The Psychology of Computer Programming, Perfect Software and Other Fallacies, and an Introduction to General Systems Thinking. I've also written books on leadership including Becoming a Technical Leader, The Secrets of Consulting (Foreword by Virginia Satir), More Secrets of Consulting, and the nine-volume Quality Software series.

I try to incorporate my knowledge of science, engineering, and human behavior into all of my writing and consulting work (with writers, hi-tech researchers, software engineers, and people whose life-situation could require the use of a service dog). I write novels about such people, including The Aremac Project, Aremac Power, Jigglers, First Stringers, Second Stringers, The Hands of God, Freshman Murders, Where There's a Will There's a Murder, Earth's Endless Effort, and Mistress of Molecules—all about how my brilliant protagonists produce quality work and learn to be happy. My books that are not yet on Leanpub may be found as eBooks at <http://www.smashwords.com/profile/view/JerryWeinberg>; on Amazon at http://www.amazon.com/-/e/B000AP8TZ8; and at Barnes and Noble bookstore: http://tinyurl.com/4eudqk5.

Early in my career, I was the architect for the Project Mercury's space tracking network and designer of the world's first multiprogrammed operating system. I won the Warnier Prize, the Stevens Award, and the first Software Testing Professionals' Luminary Award, all for my writing on software quality. I was also elected a charter member of the Computing Hall of Fame in San Diego and chosen for the University of Nebraska Hall of Fame.

But the "award" I'm most proud of is the book, The Gift of Time (Fiona Charles, ed.) written by my student and readers for my 75th birthday. Their stories make me feel that I've been at least partially successful at helping smart people be happy.

Leanpub Podcast

Episode 82

An Interview with Gerald M. Weinberg

Contents

Table of Contents

Foreword

  1. Why I Was Stuck
  2. How to Buy System Design Heuristics

About the Author

Principles

  1. What Is Design?
  2. Misconception: Only Designers Design
  3. Misconception: Design Is Higher Status
  4. Designer Culture
  5. Marking the Boundaries
  6. The Great Wall of China syndrome
  7. Meeting the Natives
  8. Building Cultural Bridges
  9. What Versus How
  10. Who Matters?
  11. When Does Design Happen?
  12. Why Do We Need Design?
  13. How Much?
  14. Learning the Magic of Design
  15. Luck and Magic in Design
  16. Three wishes
  17. Return to zero

Individual Heuristics

  1. How Design Begins
  2. What Must Not Change?
  3. A Solution Looking for a Problem
  4. Designing This Book
  5. Why Are We Doing This?
  6. Zero-level Solution
  7. A Zero-Level Example
  8. Random designs
  9. The Rule of Three
  10. A bet I lost
  11. The Rule of Three
  12. The Rule of Three in problem definition
  13. The Rule of Three in software testing
  14. The Rule of Three in designing
  15. Loosening Up Your Thinking
  16. Look for Analogies
  17. Move to Extremes
  18. Look Outside the Boundary
  19. Look for Alibis Versus Explanations
  20. The Emotional Component
  21. The Incongruence Insight
  22. Brown’s Brilliant Bequest
  23. Designing with All Sides of the Brain
  24. A Sequence of Models of Programming
  25. The Cognitive Side
  26. Process versus Product
  27. The Emotional Side
  28. An Improved Model of Programming
  29. The Neglected Models
  30. Moral Models
  31. The Social Environment
  32. Where Ideas Come From
  33. Error
  34. Theft
  35. Theft Plus Error
  36. Copulation
  37. Design Wagers Checklist
  38. Anthropomorphism
  39. Rituals
  40. KISS, or Keyp Itt Simpel Stoopid
  41. Why Must Designers Simplify?
  42. The Square Law of Computation
  43. Consistency
  44. People are different
  45. Satisfying expectations
  46. The Cybercrud Cudgel
  47. A Word to designers
  48. Undo
  49. Double Design
  50. Double design examples
  51. What’s necessary to succeed in double-design
  52. Putting Two Problems Together
  53. Estimating
  54. Jim’s Estimation Exercise
  55. Bonus Meta-questions:
  56. Some answers

Heuristics About Getting Information

  1. Heuristics About Asking Questions
  2. Difficult Questions
  3. Some difficult questions
  4. Visualizing
  5. The Guinness Book of Records exercise
  6. The perfect method of ranking
  7. Not all visualizing is visual
  8. Changing point of view
  9. Bad Decision Making
  10. Control by eyebrow
  11. A lousy decision process
  12. Designing to Intimidate
  13. The History and Psychology of Intimidation
  14. The IT Center as Intimidator
  15. They’ll Be Back
  16. Filling in forms
  17. Insolent error messages
  18. Big bad manuals
  19. Rude treatment
  20. Slow service
  21. Jargon
  22. What’s Our Business, Anyway?
  23. Who does your design intimidate?
  24. Who uses the system?
  25. The anthropology exam
  26. The first ATM robbery
  27. The plumber on the stock exchange
  28. Changing point of view

Tradeoffs

  1. Tradeoffs change with time
  2. Features become errors
  3. Constraints
  4. The First Law of Software Engineering
  5. Performance By Design
  6. The First Searching Axiom
  7. The Second Searching Axiom
  8. Divide and conquer
  9. Binary search
  10. The First Foundation of Effective Computing
  11. The Second Foundation of Effective Computing
  12. The Third Foundation of Effective Computing
  13. In Praise of Efficiency
  14. Is enough enough?
  15. Worst-first optimization
  16. The First Rule of Optimization
  17. The Curse of Optimization
  18. Now versus later
  19. What do we know about the future?
  20. Lifetimes
  21. Robust Designs
  22. What do we know about the past?

Size

  1. Standard parts
  2. Scale
  3. Dispersion of work
  4. Dispersion of demands
  5. Large numbers of users
  6. Hack Attract
  7. Growth produces bigness
  8. The Astronomical Test
  9. How much output?
  10. Failing to scale
  11. Long-life systems
  12. The JIGSAW analogy
  13. Passing to the limit
  14. Light loads
  15. Designing the startup
  16. Crowding effects
  17. The Tragedy of the Commons
  18. The Public Address Law
  19. Deadlocks
  20. Segmented systems
  21. Problem avoidance through modularization
  22. Fully integrated?
  23. Poor modularization
  24. Interface treaties
  25. Management support for design

Evolution Heuristics

  1. The Axiom of Experience
  2. Fisher’s Fundamental Theorem of Natural Selection
  3. Designs change their assumptions
  4. A FORTRAN story
  5. Implementation challenges assumptions
  6. The Highway Law

Feedback

  1. A Design So Bad It’s Good (for a Laugh)
  2. Every designer’s ideas must be tested
  3. Design reviews
  4. Example: Out-of-date documents
  5. How Important Are Design Reviews?
  6. General rules about reviews
  7. Which design level is the better choice for reviews?
  8. What about reviewing logical vs. physical design?
  9. Isn’t correct or incorrect a matter of opinion with designs?
  10. Is it possible, then, to develop checklists for design reviews?
  11. The BCS Preliminary Design Document Review Checklist

Heuristics for designer behavior

  1. Humility
  2. Congruence with tools
  3. Be as direct as possible
  4. Know why
  5. Say why
  6. Be wary of your tools
  7. Stay congruent with what’s important
  8. Politics
  9. Who defines goodness?
  10. Political vs. technical solutions
  11. Know about people
  12. Care about people
  13. Designs or excuses?
  14. Blaming the victim
  15. A drastic design approach
  16. A reasonable design approach
  17. Use people as a valuable resource
  18. Ford’s Fundamental Feedback Formula
  19. Speculation
  20. Average or extreme?
  21. What constitutes design success?
  22. Leading the people
  23. Delegating tasks

Also By Gerald M. Weinberg

  1. Non-fiction
  2. Fiction

Get the free sample chapters

Click the buttons to get the free sample in PDF or EPUB, or read the sample online here

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub