The tragedy caused by the e-commerce explosion? System connection is actually risk handover

Sam Huang
·
·
IPFS
·
The book The Myth of the Man-Month mentions that the tasks of software engineering have two qualities: essential and subsidiary. The latter may gradually improve as tools improve (such as better programming languages ​​and IDEs), but the former is the truly complex and difficult to overcome difficulty. The same is true for system connection, which itself is often mixed with these two problems at the same time. Perhaps it would be a good idea to plan the sub-items according to these two major categories before we carry out all tasks. After all, the most appropriate attitude is not to take everything lightly from the very beginning.
Software system development consultant: https://consult.revtel.tech/

Today, with the explosion of technology, it is difficult to complete system development from beginning to end by yourself. It is quite common to integrate third parties into your own systems. But if you accidentally misunderstand the scope of the task, tragedy often ensues (see the thickness of the function? — starting with community login and push broadcast ).

An interesting question is, what exactly is the so-called system integration and interface? What should be done?

The tragedy caused by the explosion of orders - the operational difficulties caused by the breakdown of the ERP system

First, let’s share an example from around me.

E-commerce orders get rid of some restrictions of physical sales and can be well integrated with online marketing. With the epidemic accelerating its development, it has become more and more popular in our lives.

When I go out to do business, I always hope to receive orders and my hands will cramp, but is more orders really a good thing?

Recently, a partner has cooperated with us to develop its own e-commerce. It is highly customized and has really solved the difficulties of previous operations with working hours restrictions and the inability to accumulate members. It is also very good even if the order volume continues to accumulate. Precipitate data to lay the foundation for more detailed services.

A few days ago, they launched a schedule event. While the front-end was acquiring customers and taking orders and issuing red offers, the back-end ERP encountered problems due to the instantaneous heavy traffic. To make matters worse, because the schedule happened to be on Friday, the ERP that had the problem was shut down throughout the weekend, which caused the factory that was preparing to receive the order to stop production.

In fact, the ERP software and hardware had been upgraded before the event, but it may not have been effective due to structural reasons. As the front-end, what we can do is very limited, which is probably to help organize the list for subsequent processing.

There is an interesting question behind this case. Is the seemingly simple placement of orders really that simple?

https://pixabay.com/illustrations/ship-shipwreck-sea-waves-tall-ship-1366926/

System interface actually includes risk handover

Thinking back to the essence, the purpose of system interface is to divide work and responsibilities.

The division of labor and responsibilities may come from the following reasons:

  1. Professional considerations : Outsource the parts that you are not good at or cannot perform through serial connections, such as cash flow services.
  2. Cost considerations : Obtain high-quality services at low cost through serial connections, such as cloud databases
  3. Information acquisition : Obtain information that the system does not have through serial connection, such as third-party login
  4. Resource allocation considerations : Reduce development risks through serial connections, such as using some packaged SDKs

But there are always two sides to everything. In addition to getting some benefits, we actually also give out controllability and introduce uncertain risks .

For example, if your system supports FB login, you will find that you often need to respond to changes in terms in the background during maintenance, otherwise the system will not be usable without modifications. This is a typical case of incorporating external changes into the native system.

https://pixabay.com/photos/risk-word-letters-boggle-game-1945683/

Careful risk investigation is the real core of the mission

So what should we do? I think the key point is to construct a cognitive system to encapsulate these introduced uncertainties .

  1. The scope of system series connection is not just mechanical combination, but also must include risk elimination.
  2. When planning how to connect tasks, don’t just stick to existing documents and examples. You should also include business logic, error propagation scope, etc. in the list that needs to be understood.

Proper planning is always the first step to avoid failure. Remember

  • Set a reasonable schedule for the requirements, which should include testing and partial import verification
  • The planning itself requires thinking about resource allocation, and we must be careful about possible errors caused by shortcomings.
  • Understand the current status of the system and prepare as much as possible to avoid over-focusing and ignoring the overall situation.

The overall risk assessment must also be complete and try to avoid underestimation.

  • Really understand business risks : be able to truly grasp the cost of task failure
  • Really understand project risks : pay attention to the resources expected to be mobilized (such as the quality of engineers) and the stability of the access system
  • Really understand the operational risks : a complete assessment of the follow-up planning after the integration is completed

Finally, let me mention a point that is often overlooked but is often the key to success or failure - people . For example, in the example given above, in the final analysis, whether you can grasp the cooperation enthusiasm of the ERP vendor probably determines most of the aftermath and subsequent improvements.

Please take the following three roles into consideration when integrating your system :

  1. End users : If something goes wrong, what will be the impact on users?
  2. Internal Relationships : What is the overall mission within our organization? Are there political factors?
  3. External relations : What is the overall status of the serial counterpart? Are they willing to help?

Conclusion: Don’t mistake essential issues for technical issues

The book The Myth of the Man-Month mentions that the tasks of software engineering have two qualities: essential and subsidiary. The latter may gradually improve as tools improve (such as better programming languages ​​and IDEs), but the former is the truly complex and difficult to overcome difficulty.

The same is true for system connection, which itself is often mixed with these two problems at the same time. Perhaps it would be a good idea to plan the sub-items according to these two major categories before we carry out all tasks. After all, the most appropriate attitude is not to take everything lightly from the very beginning.

Real world problems are always more complex than we imagine!

https://www.books.com.tw/products/0010254508





CC BY-NC-ND 2.0

Like my work? Don't forget to support and clap, let me know that you are with me on the road of creation. Keep this enthusiasm together!

Sam Huang[ https://www.sam-huang.info/ ] 一扁帽,一壺酒,一溪雲,佔得人間一味愚,此心安處是吾鄉
  • Author
  • More

平淡但輕鬆的年假

工作所思所想

陽台種植物