The idea came to me in bed, bare with me a second, it turns out it is a great analogy :)
First thing to know is that cows give milk best if they get new calves every year, and please let’s leave the judgemental part of whether that is good out here ;) But this already is fitting. The very good developers need a new baby, something fresh to work on every year at least. A new idea, a new part within a platform, a new challenge.
Then we have the weather, and it looks like cows are again similar. Most developers want to have a good working environment that has the right temperature. It’s really a general thing with people. We tend to not work well if the office is 30 degrees. The same thing is true for cows, who actually give milk best around 20 degrees.
There is a big report on cow behaviour and milk let-down, that provides further insights. As you see there, cows will not approach very bright light and need their own social space in view of the leader to be able to follow them. Cows can also adapt to new situations but you need to allow them to move at their own pace at first, trying to remove any fearful experiences along the way. If a cows position changes constantly, they cannot really adapt and will not give a lot of milk, like developers who become unproductive in a too fluctuating team. If cows are handled badly by a person, they tend to link that behaviour with the place it happened in… so they will be more productive in another company if they do not get along.
We all know the flow, the kind of hormon that you get when things are really working, when the right stimulus is applied, and again, for cows this is the hormon oxitocin that helps milk let-down. The important thing is that this stimulus can come from any sensory signal and to really move to good milk let-down you need to work on finding those stimuli in a cow and make it reproducible. Important again is the absence of fear or pressure. This will not work.
Important to know is that bad influences that are stress inducing, will likely have an effect for weeks, and only after that time the cow will become relaxed again and be able to let the milk let-down flow freely.
Newcastle University then found out that if you want your cow to produce more milk, get to know her. Call her by name and build up a relationship. Make her understand that she is important for you.
There is further information for the handler right here. Important is to remove excessive noise and use positive interactions more frequently. Examine their routine habits and remove those that lead to fear and minimise negative or painful and unfamiliar milking procedures. Keep everything consistent and rather move them as a group than individually.
I hope you now all learned something about getting the best code out of the developers. Now go stroke your cows ;)
Update: I just remembered, here is a great post with a connection to the herding theme ;) Nerd Herding by Cal Evans.