Animal behavior in Software development
Several days ago I came across a screenshot in a programming group describing the Ostrich algorithm. In short, this is a strategy of ignoring potential problems on the basis that they may be exceedingly rare. This approach is determined by the fact that if deadlock occurs once in a while it is cheaper to restart the computer than invest an unknown amount of effort and resources to try to resolve it.
It is named after a famous quote “to stick one’s head in the sand and pretend there is no problem”. This is something that should be avoided at any cost because it usually ends worse than in the beginning. Some organizations even implement an approach that when giving statuses you either have a red flag or a green flag, there are no yellow flags and no yellow statuses. One thing is either on track and ok or it is not and needs to be investigated.
Meerkats on sentry duty
Meerkats are highly social animals and they take care of each other. There are individuals who stand on guard while other group members are taking care of the small ones and getting food. Meerkats menu consists of insects and other prey and they have to bury their head in the ground that’s why it is super important to have a reliable lookout.
Well in software development it is the same — many people “bury their heads” in the daily tasks and they need someone to look out of them, to spot any danger and inform on time. People who have the bigger picture, watch for issues and try to predict any problem.
Capuchin monkey voting
White-faced capuchins are famous for their “trill” calls where a certain animal tries to persuade the group to move. Usually, there are two sides and monkeys take either one of them, the interesting thing is that which group is bigger decides where the tribe should go, the group with lower fans joins the other group.
Voting and discussing a problem in a group is effective especially when the group contains individuals who don’t think alike. We get
- different point of view
- thinking out of the box
- chance for everyone to participate and solve the problem
- competition between the participants
Honeybadger — most fearless animal
World’s Most Fearless Animal — not afraid to attack lions, kills cobras, and always gives a good fight. It does not hesitate to get on it no matter the size of the opponent. For the hardest tasks and bugs, we all need a honeybadger!
Honey Bees: Structure Makes Teams Efficient
Talking about teamwork in the animal kingdom one could not miss the bees. One hive could have more than 50 000 bees and each bee has a specific job that contributes to the overall success.
Sounds familiar?! Strong structure and distribution of tasks are vital in software development.
Dolphins — communicating and sharing information
Dolphins are mammals known to teach, learn, cooperate and grieve. One of the most complex animals gets their knowledge not only from mother to calf but also from peers.
Bottlenose dolphins in Shark Bay, Western Australia were observed using large conical seashells to catch fish. This unique “fishing” method was not one gained from their mothers, but learned from other dolphins in their pod.
In software development information is everything, what the client wants, what has been built, what issues are present, what are the new things, what needs to be done. Communication channels, information sharing and meetings cadence have to be established and distributed across the whole organization otherwise we won’t be passing the bus test.