Archive for December 2013

Week 1, year 2014

  • Build for Failure - We can’t avoid failure. Systems fail all the time. The deep assumption of failure needs to be engraved in everything we do or build. This insight has been hitting me in the face for the past year, with the BuildStuff conference as the pinnacle. Failure in Systems is inevitable (Gall). Predictions fail, and anything that depends on randomness (Taleb). [Mathias Verraes]
  • The Henry Ford Fallacy - If I had asked people what they wanted, they would have said faster horses. Attributed to Henry Ford The line is often quoted as an excuse for deliberately ignoring users’ requests for features. It’s usually followed by some mention of the iPhone, Steve Jobs, or Apple in general. And, usually, it’s uttered by people who build a €20 app, not a hardware device or an entire car. It’s the wrong question. If you ask users what they want, you’ll get an answer that is unimaginative, and that is additive. [Mathias Verraes]
  • Domain-Driven Design is Linguistic - If I give you half a million euros, you will be quite happy. If I give you a million euros, but on the way home, you get robbed and lose half a million, you will be unhappy, even though the end result is the same. Even if you only lose 200k, you will be unhappier than if you only had the half million to begin with. In psychology, this is called Loss Aversion. That is, loss has a higher impact on us than gains. We are not purely rational economic beings. [Mathias Verraes]
Permalink | From 30 December 2013 to 05 January 2014 | Last updated on: Mon, 7 Jun 2021 09:18:52 GMT

Week 52, year 2013

  • Related Entities vs Child Entities - Entity An Entity is an object in our Domain Model with an identity and a lifecycle. “Lifecycle” means that it is created, possibly changes over time, and eventually can cease to exist. Throughout this lifecycle, we need some way to identify this object, especially when our system talks to other systems about this Entity. Imagine a simple project management application. When we start a new Project, we give it a name, a due date, and a ‘started’ status. We assign an identifier to the Project. [Mathias Verraes]
Permalink | From 23 December 2013 to 29 December 2013 | Last updated on: Mon, 7 Jun 2021 09:18:52 GMT