This article introduces product thinking and explains its usefulness.
1. What Is Product Thinking?
As developers, many of you may have had disputes with product managers because of differences in ideas. Both of you cannot convince the other. In the end, the boss will come to solve the problem. In most cases, the boss can solve it and in a way that is acceptable to both of you. You may think it is due to the authority of the boss, but this is not very accurate. It may be part of the reason but not the main reason. It is because that bosses have stronger product thinking than developers. They can understand others' demands, grasp contradictions, and give solutions. Moreover, their way of expression is easier to be accepted. This is how the dispute between you and the product manager is solved. Where does this important ability come from? I think it comes from product thinking.
Here, we can see that product thinking is a way of thinking to acquire maximized value through scientific methodology continuously. This may sound a little empty. More specifically, product thinking is reflected in the four aspects, as shown in the following figure:
2. Why Should Technical Personnel Have Product Thinking?
2.1 Limit of the Technical Perspective
- You may think that a certain demand from the product manager is useless and helpless.
- You might wonder why the product demand changes all the time, which reduces your work efficiency.
- You feel the product manager is full of fancy ideas and unprofessional. The feasibility of the system is not considered by them at all, and the product manager's demand is almost impossible to implement.
- You feel the product manager's plan is not comprehensive, and logical loopholes are neglected.
As a programmer, do you often hear the complaints above in your daily work? There is a small number of immature plans due to the inexperience of product managers, but in most cases, the dispute comes from the difference between product thinking and technical thinking. This makes it hard for the product managers and you to understand each other. The following figure shows a comparison between product thinking and technical thinking:
For example, the Hema product manager once evaluated the demand for the outbound delivery of fresh aquatic food from warehouses by boxes. The demand is to manage the inbound/outbound operations of fresh aquatic goods (such as fish and crabs) by boxes. However, if we think from the perspective of technical personnel, there will be several inevitable problems:
- This scenario does not exist in the previous Hema warehouse system, and its feasibility of implementation is still unknown.
- It is hard for the complete process to adapt to this kind of transformation, which requires a lot of work.
- For scenarios with insufficient or excessive goods, inventory reconciliation involving upstream and downstream operations will be very troublesome. Sometimes, it is impossible to match upstream inventory and downstream inventory at all.
In response to these issues, the R&D department rejected the demand and worked with the product department to reconcile the complete process and carry out reevaluation. However, from the product manager's perspective, it's completely different.
- The fact that this scenario did not exist before does not mean that it will not be created in the future. This is the real business scenario in offline stores, and the Hema warehouse system needs to extend such capabilities to cater to customer needs.
- The transformation duration of the complete process is long. So, we should sort out the complete process to facilitate normal iteration (a kind of iterative thinking.)
- An abnormal scenario is a low probability event. So, we should not let it slow down the advance of the whole project. A small amount of abnormal data is inevitable in the business operation. So, an overall view and completion are more important than perfection.
Due to the different perspectives of product managers and technical personnel, disputes between them are inevitable. If both parties refuse to understand the other party's perspective, this dispute cannot be solved properly. A solution that combines both parties' thinking cannot be proposed. If technical personnel can change their perspective and use product thinking, will it be easier for them to communicate with product managers?
- Technical personnel should recognize that inbound/outbound by boxes is a new capability and extend this capability after the product manager determines the business value. It is also a supplement to the inventory capability of the existing warehouse system.
- Technical personnel should inform the product managers of the high cost and long times of transformation during the complete process. Let them decide whether they can accept that and if any concession needs to be made.
- If the technical department needs to transform the complete process at a high cost. It needs to consult with the business and product departments to evaluate the technical value and input-output ratio.
When communicating this way, the demands of the technical personnel and product managers will be clarified. Their dispute can be solved. In this example, if programmers have product thinking, they can think from the product perspective and communicate and cooperate better with the product team. This is conducive to improving work efficiency.
2.2 Advantages of Product Thinking for Technical Personnel
The advantages of product thinking are more than making communication easier at work.
I believe that abstract ability is more or less used in coding. However, abstraction according to the existing content and abstraction facing the future are two completely different abilities. When technical personnel has a product perspective, it is easier for them to find the angles to abstract and express abstract concepts. For example, suppose you receive a product demand of intelligent weighing to record the weight of raw materials in processing for a large warehouse. The primary-level abstraction may be that the weighing capability can be used to weigh raw materials and finished products. If you have product thinking, you will wonder what problem this weighing capability intends to solve. At which step does it function? Since you are quite familiar with the MES system, you may think of working procedures and abstract the tasks of working procedures. Taking the way of expression into account, you may need to make everyone understand the meaning of working procedures. Naturally, practical operations such as finishing, film pasting, and labeling can be divided into different working procedures. Combined with scenarios where this kind of division can apply, a future-oriented working procedure model can gradually take shape and is suitable for further extension.
Cultivate your thinking to improve your perspective and make it easier to see the essence of problems. Think about whether we mostly express the fundamental attributes of things from the following perspectives after we have product thinking:
- Give a clear definition
- Make accurate and simple analogies
- Draw a subtle analogy
If you keep this habit in your work, you can handle problems independently instead of seeking help from others. This is a tiring thing at the moment, but it is very beneficial in the future. Keeping a certain degree of curiosity and imagination to think will allow you to gain more growth.
What does a more holistic view mean here for technical personnel?
1. First of all, it is to improve your familiarity with the system. It improves the modules you are currently responsible for and the upstream and downstream processes. This will give you more opportunities to take on greater responsibilities.
2. You will know the value of a certain demand and a project. You will also understand why you do it instead of mechanical execution. You will think about the necessity of demand in terms of its rationality and input-output ratio.
3. It is easier for you to know the focus of a project and how to reflect the value, collect useful data, and elaborate and achieve goals from a systematic perspective.
4. You can create better business value through technology. With product thinking, technical personnel can find the points that can be improved in the product and create substantial business value. For example, the procedure of second distribution by the grid warehouse to distribution locations for delivery containers in the central warehouse can be improved. The technical department finds that by randomizing the distribution, the times of distribution can be reduced. The overall allocations remain unchanged. This improvement alone reduced 12% of distribution times in the grid warehouse. Here's another example. A large B2C warehouse is used to sort while distributing goods. If one SKU is completed, it is sent to the roadway. If there are multiple SKUs in the roadway, it needs repeated efforts. After careful thinking, the technical department made minor changes and provided a better product experience by abstracting and classifying overall sorting and distribution. Distribution after overall sorting avoided the problem of repeated work for picking personnel. It improved the picking efficiency of on-site personnel by 14% compared to alternate sorting and allocation.
3. How Can We Improve Product Thinking?
3.1 Thinking Changes
In different stages of thinking, we must make progress in our view of the problem. We should be able to adapt to the changes in the concrete presentation layer and abstract the concepts and capabilities of the underlying layer to meet a variety of scenarios. For example, the complex evolution process of the warehouse system is more about the continuous evolution of production capacity, human efficiency, digitalization, and intelligence. One must constantly exercise thinking ability to extend the boundary of thinking. I think the following points are worthy of note for technical personnel in their learning and self-improvement.
Essential Thinking: First Principle Thinking – We need to base our deduction on basic facts to draw a conclusion. Forget what others do and how we did it in the past. This will help us get a different perspective. Refusing to be influenced by the design of similar products and not knowing the design of similar products at all are two different things. Serial questioning is a means to clarify ideas and key procedures, helping us judge and generate new ideas quickly.
Relative Thinking: Sunlight and Shadow – We do not necessarily have to enhance light to make things more bright. We can also increase the degree of darkness. This is a kind of reverse thinking. Success and failure, advantages and disadvantages are temporary and relative concepts. There are two important perspectives to look at problems: relationship and time.
Abstract Thinking – There will be conflicts between high-level abstract perspectives and the perspective at a user instinct level. It is an important ability to be able to switch your perspective. The concrete and abstract processes are like the classification of different things according to their attributes. Think more about new elements (capabilities) instead of new functions. Elements can build functions.
Systematic Thinking: The Importance of Feedback – The feedback system model is the basic abstract model, which is essentially designing feedback. Thinking Mistakes: All extreme and abnormal paths are small probability events.
Evolutionary Thinking: Bottom-Up Design – Minimalism is the basis of evolution. Take a WeChat plug-in as an example: the framework should be as simple as possible to facilitate iteration in development. A good framework is focused on important capabilities and can be extended freely.
3.2 One Small Step in Reality
After learning many views on thinking ability and methodology, you may wonder how to use it in our daily work to help us improve and how to gradually change one's thinking?
Typical Ways: Read more books to increase your knowledge reserve. Do more summaries and express what you have learned as systematically as possible to consolidate your knowledge further. Share your knowledge. Learning something and explaining it to someone else can improve your structured thinking and expression ability.
Stay Curious: Do not limit yourself to your daily work. Do not limit your involvement to the work assigned to you; explore more areas to enhance your ability. Basic Requirements: If you are responsible for one of the modules of a project, you need to be able to handle upstream and downstream problems. If an online project goes wrong, you need to be able to locate the causes in time and assist in solving the problems. In addition, it is necessary to keep exploring related fields. Talk with your colleague to find out what abilities you still lack and where you need to improve. For example, if you are responsible for the picking operation of the warehouse:
- You need to understand the main process of the picking list generation.
- You also have to understand the design of packaging.
- You need to know the main ways and constraints of cage shipment.
- You need to know the interactive nodes and main data of receipts outside the warehouse system.
Beyond work, you should care about other people. You need to pay attention to international affairs and local affairs. If not, you will be cut off from the outside world, and your thinking will stagnate over time. Therefore, we must keep our curiosity, ensure the diversity of knowledge reserve, and keep our thinking active.
Think more about the essence of product demands, at least in PRD review, and understand the reasons behind product design. For example, what will you think of when a user wants to lose weight? Without product thinking, you may only think of losing weight. With product thinking, you may also think about if the user wants a better appearance, a mate, or promotion of social status.
Improve your thinking ability and exercise your imagination. Then, when you handle product demands, you can associate them with the existing capabilities of the system and combine them with the existing system to find the optimal solution for the demand. Here is an example of picking goods in the warehouse system. The Hema processing center had a demand of picking by commodities. The picking staff can choose which goods to pick. This is a relatively simple demand from the product perspective. What can you think of concerning this issue?
The first reaction is to return the picking list to the user according to the commodity selection and let the user make a selection (at the same time, the relevant index of the picking list needs to be changed.)
Considering the overall situation, if the real-time scheduling of picking tasks in B2C warehouses can be combined, you may wonder whether task scheduling is more in line with the planning of overall scheduling in the warehouse.
Considering the bottlenecks and optimization points of the existing system, the current scheduling selects queues and pulls tasks according to the partition and task capabilities. It uses "real-time sorting" and can only be pulled first based on configuration. We should also extend the selection capability of task scheduling. For example, this request of selection by commodity is a selection capability within the queue. In addition to L1 level capability to select different queues when acquiring tasks, we should have L2 level selection capability within the queues. This will enrich another scheduling method (a capability at the same level as ranking) of our task scheduling center in practical operation.
Based on our past experience and future conditions, picking by commodity has great potential, while DPS picking and label picking is not sustainable. There are possible scenarios, such as picking by location (roadway location in the partition obtains the optimal picking list in real-time according to the workforce location) and picking by sales order (raise the priority level of an order that will soon exceed the time limit) in the future. They are essentially achieving the L2 capability according to real-time practical operation and about whether the basic realization capability can be built through this demand.
Finally, some abstract and summarized suggestions are given. Changes in picking involve human factors and dynamic selection. When generating tasks, we should carry out generation as normal. In operation, we should maintain dynamic ability. (The inserted selection capability is selected according to human factors.) If these capabilities are not configured, the sorting capability of the original queue will be used by default.
This is just an example of association. The final decision may also involve various factors, such as the input-output ratio. Keeping your imagination is a good way to improve thinking depth for programmers and product managers. What we have to do is to cultivate such habits and let our thinking grow with our imagination.