Jon Bentley’s design principles

Design principles from Programming Pearls by Jon Bentley:

  • Work on the right problem.
  • Explore the design space of solutions.
  • Look at the data.
  • Use the back of the envelope.
  • Build prototypes.
  • Make trade-offs when you have to.
  • Keep it simple.

3 thoughts on “Jon Bentley’s design principles

  1. I have repeatedly been struck over the past few years by how closely software engineering parallels systems engineering for hardware systems, at least if you do both of them right. Hardware designers can be distracted by the messy details of fabrication, physical plant, assembly, supply chains, safety, etc. Software doesn’t have those — it is hardware design with the hardware abstracted away, leaving only the pure systems engineering (plus a little bit of coding).

    If a hardware development project is in trouble, it’s pretty much a sure thing that they would benefit by treating it more like a software development project.

  2. Dave, that’s because systems engineering evolved out of software engineering. It’s a real pity that software engineering, as a whole, doesn’t re-absorb the lessons learned from systems engineering since the two disciplines diverged.

Comments are closed.