Problem solver's toolbox: heuristics

Problem solver's toolbox: heuristics

This blog post covers: the practical definition of what heuristic is, example of how imperfect heuristic may solve a problem we're not sure exists, what does it mean "everyday heuristic" (that is not really ad-hoc) and whether it's fair to call heuristic a "short-cut".It's not (& it never was) a surprise that software engineers are much better with terms, concepts & abstractions present directly in the code. I've seen several tech people kinda confused when discussion skewed towards more general problem-solving space - they didn't seem to have a good grasp on some basic terms & one of these…

Read More

Embracing uncertainty with Cynefin

Embracing uncertainty with Cynefin

Uncertainty, uncertainty everywhere You know what's the most common error people make when trying to embrace DDD? They tend to focus on DDD's specific DSL (terminology, composition) - entities, boundaries, aggregate roots, etc. because they think that this particular modeling model (OMG, recurrence detected, stack overflow comin' ...) is a game changer. But it isn't. It's useful (it's an ubiquitous language for modelers :)) & makes co-operation easier, but what's really important is joint domain crunching between domain experts ("business") & modelers ("IT") TOGETHER. Even having DDD tools in your hand you still can't assume that domain expert(…

Read More