当前位置:网站首页>What would you choose between architecture optimization and business iteration?
What would you choose between architecture optimization and business iteration?
2022-06-30 15:12:00 【The way to improve the structure】

Introduction
For every software system , We can all reflect its value through business and architecture .
Especially software developers , You should ensure that the actual value of your system in both dimensions can be maintained at a high level for a long time .
But it's a pity , They may focus more on one dimension , And ignore the other ;
If you focus on the wrong dimensions , This leads to a decline in the value of the system to 0, Very regrettable .
1、 Business and technology issues
In our daily work , Business iteration support and system architecture technology optimization are like fish and bear's paw , You can't take care of it at the same time .
case1:
When we find that the system performance is a little poor , The assessment needs to be optimized , Reduce system interface noise , At the same time, improve the user experience ...
But at this time, the product students ran over and said , Recently, there is a business revision requirement / New business functions need urgent online support .....
Q: What would you do ?
-- If it weren't for technical optimization , Let's wait until this requirement is completed ...
case2:
The technical planning we have to do at the beginning of each year , Do you always feel that the plan can't keep up with the changes ...
Every middle of the year 、 At the end of the year , Reality is always very different from planning , Either the planning is not done or a low-cost solution is simply implemented , Or something new happened in the middle of the way that disrupted the original plan .
Q: Do it again , How would you avoid ?
-- planning vs change
The above situation should be very common in work , What principles should we follow when facing similar problems ? Is there any effective solution ?
2、 Which is more important, business or technology ?
The former president of the United States, Eisenhower, put forward a classic “ emergency / The importance matrix ”.
I have two problems : Urgent and important , And urgent problems never matter , Important problems are never urgent .

Q: Which dimension is more important ?
In the eyes of R & D students , The importance level is clear at a glance :
The important thing : Architecture design optimization , Make the system have enough “ play ” sex
Something urgent : Business iteration support , Let the system support the sustainable development of the business
for example : Daily business iteration support is always urgent and excellent , But from the perspective of rational construction of Architecture Design , There doesn't seem to be so many connections ; And system technology optimization seems to be very important , But often there is no chance to arrange the last issue .
About which one is more important , Of course, different people have different opinions
If for this question , It's up to the business department to answer , That's business is more important - The system supports business iteration , It is very important to ensure the normal development of business .
3、 What more attention should be paid to R & D ?
We can try to sort these four cases :
1) Important and urgent
2) Important but not urgent
3) Not important but urgent
4) It's not important and urgent
System architecture design optimization : important ( Occupy the first place 1、2 position )
Business iteration support : emergency ( Occupy the first place 1、3 position ).
But in our daily work , The common mistake that business departments and R & D departments often make is to raise the third priority to the third . The important issues of system technology optimization are excluded by business iteration .
Our R & D personnel often complain about , There's no time for technology optimization , I tease myself for :“ Moving bricks again ...”、“ Working overtime to write BUG 了 ...”
It seems that we have forgotten : The business department is just focused on the business , Evaluation and optimization of system architecture , It's the responsibility of R & D personnel !
How to balance the work of the two , It's the way for R & D personnel to be promoted and cultivated .
Don't ignore the value of system architecture , If one day the system is so hard to maintain that it can only be overturned and restarted , It can be said that the system technology optimization can not keep up with the rapid iteration of the business , At the same time, it shows that the R & D students are not qualified enough in their own work .
4、 Practical solutions for reference
There are many difficulties in balancing technical architecture optimization and business iteration support . Is there a good way to balance ?
I collate some experience from my own work practice , Mainly “ total - branch - total ” Principles , For your trial reference :
4.1、【 total 】 Project approval , Evaluate the target return
Do things with value , In particular, technical optimization projects , Be sure to understand what the payoff point is , At the same time, we should make clear the cost performance of input and output .
It is suggested to spend more time at this stage , More research and analysis , It is suggested that the goal should be as quantifiable as possible , Achievable .
【 Project goal setting - Example 】
project :XX System performance optimization
The goal is : System service level sound <= 200ms(90 Quantile value <= 500ms)
4.2、【 branch 】 Split and refine , Evaluate the scope of optimization transformation
After setting a goal , The target needs to be disassembled , And evaluate the percentage and priority of each action .
Function point splitting should start with the end , Make sure you don't deviate from the goal .
Specific methods can be referred to :
1) Split according to process logic
2) Split by work module
3) Split by stream
It is possible that the previous assessment of each point may not be accurate , Allow for later adjustments , But there should be no big adjustment , Otherwise, it needs to be reconsidered .
【 Project breakdown - Example 】
Concurrent 、 Service dependency optimization 、cache、 Table structure split 、 Table index optimization 、 Logic optimization ( Loop set loop )、Redis Big Key Optimize 、 Resource isolation wait
4.3、【 total 】 Categorical convergence , Plan feasible project milestones
Functional assessments are classified by the same type , Split the sub optimization items into daily business iterations , Or interpose into the gap of each requirement development , Small step run , The project was steadily promoted .
【 Categorical convergence - Example 】

4.4、【 guarantee 】 Report and follow up , Project iteration progress
A weekly project reporting system can be established , Call relevant students to follow up on a regular basis , Project progress & The problem continues Review, Ensure the overall progress of the project .
The main focus of project progress report :

summary
Many people refer to the chaotic relationship between business and technology as “ Love that kill ”, In fact, technology and business are not antagonistic , It's complementary .
Technology as the theoretical basis , Business as a practice to test landing . The technology we learned , Business is our landing point , Business success can also reflect the technical value .

This article is from WeChat official account. - The road to the advanced architecture (jiagou_jingjin).
If there is any infringement , Please contact the [email protected] Delete .
Participation of this paper “OSC Source creation plan ”, You are welcome to join us , share .
边栏推荐
- Developer practice - the future of Agora home AI audio and video
- Matlab construction operation example
- 1151 LCA in a binary tree (30 points)
- One dimensional and two dimensional array addresses
- 国债逆回购在哪个平台上买比较安全?
- DR-TANet: Dynamic Receptive Temporal Attention Network for Street Scene Change Detection
- Notes on zero basic C language learning -- first introduction -- 1 notes that mom can understand
- catkin_ Make reports an error, transfers the location of the workspace, and uses other people's workspace files to cause compilation errors
- 1133: output family and friends string
- A little idea about big experiment data
猜你喜欢

The sound network has fully opened the real-time transmission network sd-rtn, which has been free of network wide accidents for seven years - this is FPA!

Matlab function for limit, definite integral, first-order derivative, second-order derivative (classic examples)

Bye civil engineering, hello CS, can you change the certificate to the Blue Bridge Cup

Anyrtc implements application scenarios based on webrtc

Svn password forgetting solution

Xiao Sha's pain (thinking problem)

Scattered knowledge of C language (unfinished)

Voice codec based on machine learning Agora silver: support high quality voice interaction at ultra-low bit rate
![[matlab] 2D drawing summary](/img/de/6bb5385f440a2997dbf9cbb9a756eb.jpg)
[matlab] 2D drawing summary

CCF numerical sorting (Full Score code + problem solving ideas + skill summary) 201503-2
随机推荐
Guada digital analog
Experiment of the planning group of the West University of technology -- pipeline CPU and data processing Adventure
Greedy interval problem (5)
L - Jungle roads (minimum spanning tree)
Matlab function for limit, definite integral, first-order derivative, second-order derivative (classic examples)
1148 werewolf - Simple Version (20 points)
Why do high precision CNC machining centers have errors? You should pay attention to these four reasons!
Database connection to company database denied
H - Arctic network (minimum spanning tree)
One dimensional and two dimensional array addresses
It's so brain - burning that no wonder programmers lose their hair
O - ACM contest and blackout (minimum spanning tree, Kruskal)
Three types of technical debt that programmers often encounter: code, data, and architecture
Working principle and fault treatment of cutting cylinder in CNC machining center
Single cycle CPU of the design group of West University of Technology
Imitating freecodecamp to build a programming ability test platform
Maximum area of islands searched
Developer practice - the future of Agora home AI audio and video
I - constructing roads
In situ merging of two arrays with two pointers