What it Means and How to Acquire a Design Mindset by Dmytro MuzychkoDuring CCDE preparation we all hear many times the statements about having a design mindset, but what does that really mean and how can we gain this?

Let’s use a favorite, Sherlock’s deductive method. The mindset is a way of thinking, therefore the design mindset is actually a way of thinking which accounts for the design-characteristics. By “design-characteristics” I mean any aspect which is used as a benefit or a drawback of the technical component or technique in the overall design. By transitioning from the engineering mindset to the design mindset, we are actually bringing additional variables into the equation of a final solution. This process is opposite to abstraction.

 

Let’s go one step deeper to understand what those “design characteristics” are. I would split them into three independent groups:

 

Addressing customer’s requirements

The main evaluation checkpoint for any solution is of course a fulfillment of the customer’s requirements within specific constraints. In many cases the technical tools (technologies or techniques) which you would use in the network design could be much more optimal than the others to achieve the goal, however they could break the constrains and therefore should not be used. In addition to explicitly providing the customer’s requirements there could be also hidden ones. For example, a customer may ask to connect their offices across all countries in the world with some overlay network over the Internet. A hidden constraint here could be the IPsec restrictions in countries like China. So with the design mindset, we do not look only at the final goal but also we identify all limitations.

 

Bird's-eye approach

The bird's-eye approach is another very important set of design characteristics. It includes such aspects as hierarchy, modularity, consistency, scalability, future growth, business enablement, etc. This is what distinguishes a set of workarounds from a network design. In many cases customers are asking to provide a solution for a particular problem or for some additional service. With a design mindset we need to see the whole picture instead of concentrating only on the specific goal. A good comparison to understand the design characteristics of this group could be a story about blind men and an elephant. It is a story of a group of blind men who touch an elephant to learn what it is like. Each one feels a different part, but only one part. They then compare notes and learn that they have different vision of the whole object without realizing what actually the whole object looks like. Therefore with the design mindset, we need to collect the details of the overall architecture in order to make a design which will be easily deployable and supported.

 

Additional characteristics

When there are yet a couple of design options available for a final solution, the best one can be chosen by analyzing the additional characteristics of each of them. It could be for example a cost, stability, simplicity, etc. Some of these could be brought up yet at the requirements step, some could be identified by the business or personal designer’s priorities, and some could be unimportant or even unknown to the customer, but yet accountable. Each of the aspects in this group characterizes a design component from a different perspective. A good comparison to understand how these characteristics influence the decision could be a multidimensional observation, for example, compare watching a 2D vs. 3D or 4D movie.

 

But how do you acquire a design mindset?

Let’s take this one step deeper to understand how the design mindset actually takes place in our heads. Even though we understand the components of the decision making process, the brain still needs to be trained to get the necessary skills to work in the design “mode”.  An undesirable approach would be to come up with the technology which we personally like the most and then try to adapt it to the requirements by applying different adjustments on top. In the end you will have a solution but it may be suboptimal or overkill. Unfortunately it is not a rare case and it happens because some people make their attitude towards the technology based on the personal impression of technical elegance. How many times do we hear expressions like: “I always use EIGRP because I do not like OSPF” or vice versa? The design mindset, however, considers the technology only as a tool without evaluating how fancy it is yet the design mindset still has its charm. There is no prescriptive algorithm for completing a network design and that is why there is always an element of art. Different designers may ignore or account for a different number of characteristics, analyze them in different order or establish different priorities, etc. The important part of this process is a knowledge base stored in the brain of a designer. The larger a designer’s knowledge base is - the better the solution will be.

 

So, how would one acquire the design mindset? The two most important factors to me are experience and education. As Albert Einstein said “The only source of knowledge is experience”. Doing the network design job, observing the resulting improvements or degradation in the network and understanding the reasons behind them will form a good level of confidence and direct your thinking process into the right direction. In order to avoid own mistakes, it is better to learn from others. You can do it through self-study, taking professional classes, or through others. If you are starting your network design career, I’d advise you to read the design books and study the best practices (CVDs), focusing on understanding the reasons behind the suggested solutions.

 

When learning a new technology, do not concentrate only on “what” it does, but also on “how” it does it and what are the side effects. Look at things from different perspectives searching for the aspects which could influence a design decision. It is worth mentioning that the study process should not necessarily be deeper, but rather wider.

The end goal is to produce the most appropriate solution by increasing and exercising our knowledge base and thinking skills. With time, different design characteristics/components/techniques/approaches will build logical connections between themselves in our heads creating a kind of design-oriented thinking template which we call a design mindset.

 

About the Author

pic Dmytro Muzychko.png

Dmytro (Dima) Muzychko is a principal design engineer at Verizon and mainly deals with non-standard customer requirements. His experience is built around service provider networking and is strongly focused on routing and switching, virtualization and lastly the SD-WAN. Dima's professional quote is "Intelligence is needed for solving problems; wisdom for avoiding them. Network design is all about the latter."

Dima currently holds a CCDE and a CCIE in Routing & Switching and a Masters in Computer Technologies.

 

 

Here are a few additional ways for us to engage and keep the conversation going: