Principles of Architecture Design Thinking

Whether we build the system from scratch or refactor the system, the architecture is actually in the system.
If you take the initiative to do architecture design, you must follow certain principles to explore and discover architecture.
If you have not done architecture design, but based on industry common standards or experience, use a set of code (open source or internal template) to develop. In fact, there will be architecture design in it, but you don't realize it.

Of course, we must take the initiative to design the architecture, and we must be beaten passively. The so-called "doing things cannot be done without principles", to actively do architecture design, we must first understand the principles of design thinking. The principles of design thinking will be explained below.

Principles of Design Thinking

The principle of design thinking is like the editor-in-chief of "The Art of War", guiding us in the direction of how to think and solve problems. Here we refer to the four basic design thinking principles in the book "Design Thinking: Understand-Improve-Apply":
1. People-oriented: the essence of design is social.
2. Postpone decision-making: postpone uncertain decision-making.
3. Good at using for reference: All designs are redesigns, adjustments and innovations based on existing designs.
4. Turn the fictitious into reality: make the idea concrete and tangible, so as to facilitate communication.

The four-character mantra of design thinking principles is still a bit abstract. The following explains my personal understanding and how to apply these principles.

people oriented

Why is it that the essence of design is social? Because the design itself is a work carried out around people, it must contain people's thoughts and intentions, and especially the software architecture design must require multiple people to participate and communicate. Every design decision affects the stakeholders of the system. If the design cannot be understood by everyone, it will definitely not be a good work (system).

Architecture design needs to be completed in collaboration with stakeholders, and the quality of the design also depends on the collaboration with stakeholders. Therefore, architects must have empathy, understand empathy and communication, respect stakeholders (developers, project managers, business demanders, system operators, etc.), listen to their voices, and understand their intentions. In this way, the architecture design can play its due role.

Postpone decision

In the process of developing software, avoid ambiguity, uncertain requirements, design, etc., because there may be major project risks. Therefore, the design decision must be clear. If the design decision has unclear requirements, design, personnel conditions and other factors, you should not rush to make the final decision until the moment when you have to make a decision. In this way, we can more calmly face changes in the development environment.

Good at borrowing

To be good at learning is to warn us not to repeat the "wheel". For example, many companies with a large number of developers in the development department, if they do not do a good job in the precipitation of technical knowledge, it is easy to repeat the "wheel" in the company. The premise of being good at learning is that you know or are familiar with many "wheels", so it is recommended that you do a good job of technical knowledge precipitation and learn more about industry technology.

Before doing architecture design, we should spend as much time as possible on researching and referencing existing designs instead of starting from scratch. Drawing on the experience of predecessors, lightning protection and efficient architecture design can be carried out.

Turning the virtual into reality

There are many ways to present the architecture design. It may be enough for developers to look at the code, but different roles have different levels of understanding of architecture design. For the architecture design in the form of code, only technical personnel can understand it, but it is difficult for others to understand.

Therefore, in order to explain the architecture design, different presentation methods need to be used for different stakeholders. For example, making prototypes or simple models, flowcharts, sequence diagrams, conceptual diagrams, etc. Anyway, it is presented for the purpose of facilitating others to understand the architecture design.

to sum up

The principle of design thinking is the editor-in-chief of "Sun Tzu's Art of War" of our design framework. It points out the principles of design architecture and helps us to design correctly. The principle still needs a specific mode of doing things, so that we have methods to follow. The next article will explain the architectural design thinking mode

Guess you like

Origin blog.csdn.net/u010435615/article/details/115318463