Hello everyone and welcome back to Not So Random Software!
This week I have been thinking about teams; as someone who has to deal with computers every day it is easy to fall into the trap of applying software design principles to human people. Some elements do apply, but with humans the context and unique traits of each individual are everything, until they are not.
No matter how hard you work on organizational design, conflict is something you will always have to face. This article goes into the details of how to reframe these conflicts to you can handle them positively, but I keep this short list always front of my mind:
People often tell me that it is hard to deal with unplanned events constantly interrupting you. I think this sentence is contradictory on its own. If something unpredictable is always happening, then it is a predictable process. You just need to reframe it like that.
In this video Vaughn Vernon talks about some of the unpredictable rare things that happen in distributed systems like out-or-order events and duplicated events. They are not unpredictable, they are happening all the time. Once you reframe it like that you can start building a protective infrastructure around them.
If you want some comfort and hope you can just abstract humans into a model, why don’t you model them using Insight Maker? An Insight Maker’s System Dynamic model reason in terms of stock, flow, variable and links. And there are some open source models too for you to learn! Here is one for Agile Project Management.
One snippet of code
Did you know you can use a Poisson distribution generator in Ruby with the SciRuby package? Well now you do! Here is an example:
it'should return correct rng'do
# The expected rng output when 1 is set as the seed value
A sick man only wants one thing, a healthy man wants 10,000 things.Confucius