DevOps and Mental Models
Premier Dev Consultant Ron Vincent discusses the notion of eliminating waste in our processes — why it’s important and how to find and eliminate waste in daily activities.
Have you ever worked with someone and you simply couldn’t see eye-to-eye? Have you ever been on a team that was constantly in Storming phase of Forming > Storming > Norming > Performing? If so, then this article is for you. In this article I’m going to discuss Mental Models and how they enable team performance or destroy it if not dealt with.
According to Wikipedia “A mental model is an explanation of someone’s thought process about how something works in the real world. It is a representation of the surrounding world, the relationships between its various parts and a person’s intuitive perception about his or her own acts and their consequences. Mental models can help shape behavior and set an approach to solving problems (similar to a personal algorithm) and doing tasks.”
Mental Models are pervasive in software development. They show up in the architecture of the system, they are created as the code is created, tools require that we adopt their approach to solving a problem, they are updated as incidents are created, they are a means to visualize the work and in many other areas. The problem is that most teams don’t even recognize them and they are rarely shared among the team. In fact, it’s not uncommon for a typical team to have multiple concurrent mental models happening at once, hence the storming. As such, they are a part of the culture of the team because they influence behavior and are generally subconscious.
Let’s go a little deeper into what makes up a mental model.