5 Key Principles of Kick-Ass System Design
⏱ Reading Time: 8 minutes
Perfection is a total myth when it comes to designing a system. What exactly is a great system design? It is all about perspective. The more you work upon your knowledge, imagination, and creativity, the better system you can design.
Your mind should be curious and analytical enough to conceptualize great ideas. Great system design should offer solutions and enable efficient workflow. What are the things to keep an eye on while designing? Let’s find out together!
What Are the Few Things You Need to Keep in Mind Before Designing a System?
Systems design is the process of defining the product design, architecture, interfaces, modules and data for a system to satisfy specified requirements. Things to keep in mind while designing a system:
- Elements: You need to have a clear picture of what you want to achieve with your system design and what will be the principal elements of your design.
- Interconnections: Don’t be a disorganized mess when you are thinking about your system design elements! They cannot be unrelated. There has to be some connection between these elements. You also need to consider the input and results.
- Purpose: How do you define your goal of designing a system? Have a clear idea.
How Do You Create the Map for Your System Design?
System designs are complicated! Simply discussing the structure and goals verbally will not get you through the process. A whiteboard or digital tools like Miro is the way to go. Create a clean flowchart of objects and their relationships with the help of illustrations. Do not just hold the ideas in your mind! Get them down on the paper. Also, collaborate with your team in this process for figuring out the scope for improvement.
How Do You Get Your Colleagues to Agree on Your System Design?
Why Do You Exactly Need Principles for System Design?
You need to have certain opinions on how a system design should be. But let’s say, Xyz on your team has a different perspective. Your client might give contrasting feedback altogether. All this can create huge chaos and destruction in your workflow.
But to avoid this confusion, there are certain universal basic guidelines that you need to follow so that you and your product manager’s opinion isn’t in two completely different directions when it comes to system design. These principles will guide your entire process in a manner that is commonly accepted.
What are the principles of a good system design? Let see!
Picture 1. Do the dirty work- do it!
1. Don’t Make It Complicated
A system design should always be solution-oriented. There is no point in making it complex and creating further problems. Don’t overthink it! Are you trying to solve some “imaginary” problem that might occur in the year 2027 while you are creating a system design in the year 2021? Won’t work! Of course, it is great that you are so futuristic and you are trying to pre-plan for the upcoming problems.
But trust us on this, the probability is that most of these problems might not even occur and it doesn’t make sense to design your current resource thinking about it. You can make it more open-ended and flexible if you want. But try to do it without stacking on a lot of work upon the system or over-complicating it. Keeping it simple is the key!
2. The Complexities of Your System Design Have to Be Incorporated in Parts That Are Rarely Used
Now, this is common sense! Can you afford to make those parts of your organizational system design complex that are used on an everyday basis? Absolutely no! What will happen if the customer support team of your organization has to perform a lot of complex processes before having a conversation with any customer?
Reliable technology is an important segment of productivity. The organizational efficiency will go down multiple times. This is because engaging with a customer is a task that is done every single day multiple times. So you cannot afford to waste so much time on it every single time. But let’s say, you add the maximum amount of functional complexity in the process of the manager setting up his team. This is a way better choice. Why is it so? Because this task is something that has to be done only once so you can afford to spend greater time on it. It is a fact that no system can perform without its complexities (Law of Tesler). But you need to be reasonable enough while assigning those complexities.
3. Focus Only on the Core Issues
Always keep in mind that your system design isn’t the entire product in itself. It is not meant to individually solve each problem but just give a fair idea of how to tackle major organizational issues. Don’t get too much into the details! You are only going to mess it up. Just try to create clear workflows and UI design in such a manner that the core tasks of the organization can be handled.
Picture 2. Create a clear workflow
4. Scale the System Design in Terms of Complexity
As time passes, organizations always plan on expanding themselves to a bigger market. So do you create your system design for the existing smaller audience or the future massive audience? The answer is simple! Initially, design it keeping in mind the needs of the current few customers but keep scope for up-scaling in the future. Your system should work well for small companies as well as big organizations.
5. Keep It Legible and Compatible With the Existing System
Customer experience and user-friendliness are the keys when it comes to creating a system design. The system users should easily be able to interact with the product. Your system design UI should be able to express the various parts of the system. For instance, Slack is a brilliant software when it comes to easily decode-able.
People should not feel like they are solving a problem of rocket science while they are using your system. Another thing to keep in mind is adjacency to the current organizational system. Users usually find it difficult to adapt to system changes. It is inevitable that as time progresses, you need to make certain changes. But build your system in such a manner that these changes are not drastic.
Creating a system design is a constant process and not a one-time project. There will always be scope for evolving it. But to make sure the people in your organization do not resist these changes or are unclear about them in the future, keep your current system compatible with the future version.
Picture 3. New design should improve “the old ways” but also, be compatible with them
Now That You Know About All These Basic Principles, Here Are Certain Additional Nugget Points You Can Keep in Mind:
1. Whenever you are designing a system for the first time, do not be too uptight. We bet you will never get it right just the first time. Do not insert the rare components in the first time itself.
2. Always keep room for changes: As we stated earlier, no system design is perfect. It is subjective and all about perspectives and opinions. Your client might have a different viewpoint than yours and you should be completely fine with it. Get as much feedback and constructive criticism as you can about your system design. Constantly improve and aim at making your system design even better.
3. Your system design is not about you. It is meant to serve the people in your organization. So you should always value their expectations, mentality, and experience requirements. You have to learn to effectively collaborate and be more empathetic. But how do you do this? Try to work on your soft skills, for example- actively listening so you can better understand the needs of design! Read articles, books, or listen to audiobooks that help you with improving your skills! If you have your own way of learning new things, try relaxing with one! It has been scientifically proven that listening to fantasy novels and imagining characters can boost areas of your brain responsible for both creativity as well as empathy. Both of these are great qualities for any system designer. You will become more receptive to new opinions and gain a fresh perspective on your system design. Also, who likes working in quiet?
4. Though indeed, a system design should always be flexible and scalable, it is unfair to expect any change greater than 10x from the same system design. You can change the modularity and not the module. If you have just a single copy of your design, do not modify it. Keep it durable by creating multiple copies. Independently administer each copy.
5. Keep everything about the system known to all the members of the organization. No secrets, please! Always keep in mind the authenticity and integrity factors.
Creating a system design is tough. But you will gradually turn into a pro with practice!
Till then, always work by keeping these basic principles and guidelines in mind. And of course, learn! Always be eager to learn from those more experienced (if nothing, on your mistakes) and improve with every new project!
Olivia S. is an extremely dedicated writer who is very passionate about the topics she chooses to write on. Her commitment and personal touch in her articles are what make them so interesting to read!
Small Business Guide to Amazing Customer Support
To make your processes simpler and progressive, you need to create a dedicated omnichannel eCommerce strategy. Is your business omnichannel ready?
In-app messaging is great to keep your users engaged. Here are a couple of design tips that can increase its effectiveness.
Your customer support has a big impact on customer retention, and even minor improvements in customer retention can have a significant positive impact on your revenue.