Strengthening Shared Team Values Through the Four Rules of Simple Design

Over the past few years, I’ve found incredible flexibility in building my technical coaching practice around the "Four Rules of Simple Design", originally penned by Kent Beck back in the ‘90s.

The Four "Rules" have resonated with many developers over the years, and have a wonderful lack of specificity. These tiny pearls of wisdom are so simple and flexible that they have caused many an argument. They have even been called generative – that is we can derive many of our practices and small-scale architecture by extrapolating on them.

As such, they provide fertile grounds for growing consensus on the thousands of decisions your team should be making together.

  1. Tests Pass – How does your team test the code you deliver, and at what level(s) of abstraction will you decide to test?
  2. Express Intent – How does your team arrive and socialize common understanding so that the intent in your code is always clear to every team member?
  3. Don’t Repeat Yourself – What strategies do you use to ensure your team knows what behaviour is present in your code, and how to leverage it without duplication?
  4. Small - What dimensions will you measure so that you continue to derive the maximum level of value from a minimal amount of code?

Code that follows these rules has a natural agility. Tests give us confidence to make change. Clear intent helps us find what needs to change. No duplication means we make the change only once. Small means we aren't getting lost on our way to making the change, and allows us to make more meaningful change with less effort.


Outline/Structure of the Talk

The session is delivered in 4 x 15 minute segments, one for each of the four rules, for a total 1 hour talk.

During each segment:

- an exploration of the rule
- the psychology of and practical reasoning for the rule
- some practical ways of applying the rule
- how to prompt discussion on your team to gain consensus on how YOU will apply the rule

Learning Outcome

  • A broader understanding of the small-scale design decisions you make every day within your code base
  • Some ideas on how to build consensus within your team on important small-scale architecture decisions you may all be making independently.
  • Some understanding of the psychology and sociology behind the Four Rules

Target Audience

Developers, Developer Leads, Technical Managers.

Prerequisites for Attendees

You will get the most from this session if you've spent a few years wrangling a moderate to large code-base under control with at least a few other developers.

schedule Submitted 5 years ago

  • Mike Bowler

    Mike Bowler / Ellen Grove - Running with the Mob: Extreme collaboration with Mob Programming

    90 Mins

    Mob programming is collaboration taken to the extreme, eliciting the best from every member of the team. In this session, you will experience the dynamics of mob programming and learn how to use this technique successfully in your own environments.

    After mobbing with well over thirty teams, we've seen definite patterns emerge, that we'll discuss here.