One day to eat with friends just to talk about this topic. As architects or technology developers, when developing software, we are basically playing the role of God: not only do we create a program, we also allow these programs to run independently of our hardware to serve the communities that the program serves. When this program has problems or even bugs, we have to play the role of pastor to fix these problems. Isn't it just a program of society? and the evolution of human society is similar! Then naturally we can also take the history of human evolution to guide the development of software, so as to avoid another process like the development of human evolution so painful. As a result, we can see how the architects and the handlers are playing an important role, and if they are still solving their own problems, how to play the role of God?
In the process of software design and development, it is often seen that many so-called architectural discussions are actually just talking about some kind of technology. In many people's concepts, architecture and technology are actually equivalent. Learn a few techniques, think that they are architects, or even learn more technology, feel their level higher. This is really irresponsible to yourself. It is important to know that any technology exists to solve a problem and that learning technology does not mean that you can solve the problem. Learn how much of the technology, the difference is only the means to solve their own problems more. But it must be good to have more means? Many times, the more technology to learn, the more you do not know what kind of technology to use, so-called "disorderly flower gradually desire attractive eyes."
There is another common view: Technology people generally despise business, think technology is more high-end, and business is too low-end, and business often like to dig holes in technology. Business is a high-tech vision, but the actual problem can not be solved, always understand the deviation, but also helpless, because they do not.
This article attempts to start from here, analysis of the three concepts what is the relationship between, how we should deal with business, technology and structure of the relationship.
What is technology
When we have nothing, or what is not, this time is actually no technology. It's like human being in the earliest days, everything has to work with his own hands. Once we inadvertently discover certain patterns in our daily lives, we can create conditions that allow the repetition of this pattern to occur. By artificially creating conditions that allow the specified laws to occur according to human will, this is technology.
such as taking fire, the earliest human can only rely on thunder and other natural phenomena to produce fire. Take fire is actually a business goal, to solve is human's own problem, this is the business, the actual human interests. At this time, humans do not have the technology to fire, only by constantly adding wood, to keep the fire not extinguished. Later people found the drill wood to take the fire: as long as a dry stick, on the other dry wood surface rapid rotation, you can fire. This method allows humans to create their own source of fire, the production of wood-drilling technology.
But the hands quickly turn the wooden sticks to take the fire, not everyone can do, need a lot of strength and speed, the requirements of people too high. In order to solve the problem of rapid rotation, some people use a bow string to increase the speed of the stick rotation.
Other words:
The business goal is to take the fire, drill wood to take the fire this technology has solved the problem.
Drilling wood to take fire efficiency is not high, affecting the efficiency of the business (take the fire), there is a further improvement of the motive, improve the way to turn the stick, produced a string to turn the stick technology.
Technology and architecture, and relationships with the business
Technology is always produced in the context of human settlement of the demands of the business, and the aim is to gain greater and better benefits. So:
Technology is to solve the problem of business, and without the business, technology will not have the premise of existence.
With better technology, less efficient technology, will slowly be eliminated, disappear, all comply with the interests of human demand-that is, business. Some people will ask, do not need to drill wood to take the fire, but the string speed to rotate the stick can also use AH? Yes, because the technique of turning a stick with a bow string is not to make a fire, it is used to speed up the rotation of a stick, and the problem solved is different. But two kinds of different technologies, reasonable combination, will be better and more efficient solution to business problems.
So there are two kinds of relationships between technology and technology:
In the premise of solving the same business problem, more efficient and lower cost technology will eliminate inefficient and high cost technology. This is determined by the appeal of human interests.
The technology that has just begun to solve the underlying problem (the drill wood takes the fire) is relatively inefficient, just to make it possible (from this point, technology is the enabler of the business). Then there will be the need to improve efficiency, which requires improvement of the technology. The inefficient part of the technology is being improved by others (or by the technology inventors themselves), which in part creates new technologies.
When the relationship 2 occurs, this place is bound to form a segmentation, the new technology will be in some way and the original technology to join together to form a whole, so that the new technology and the original technology work together, so that the original technology can be used to solve the problem with higher efficiency. Because the main problem to be solved (the firing) did not change, the spin-off formed a tree-like structure.
According to the previous schema definition, this time has actually produced the schema. In other words, there is usually a technology before there is an architecture. These other techniques (string pulling sticks) are formed from the initial major techniques that directly solve the problem, and are combined by a tree-like structure and the main technology (wood-based fire). After solving the main problem (firing), it began to spin off gradually into finer-grained techniques (string-to-stick).
And this fine-grained technique (a string turning stick) is often not directly related to the main goal (firing) of the business. Different technologies, grouped together through a tree structure, form a complete architectural solution that collectively accomplishes the business goals. This is the relationship between technology, business, and architecture. Many people refer to this process as the evolution of architecture, and I prefer to call this process a new architectural spin-off caused by advances in technology, because the internal dynamics of the process are more about the solution of the business problem from the technology.
The relationship between the technician and the business person
Why do technicians always collide with business people? This is because technical personnel often care about the technology, and the main objectives of the business is not directly corresponding to the business is responsible for a certain part of the business, is not directly related to the main goal of the business, is the branch node of the tree (explained why this happens). Only the technology (or business) that directly solves the business problem-the root node of the tree-is directly related to the business. So once a conflict arises, it is common to have two root nodes (usually leaders) to meet to solve the problem, that's why-they all know the main goals of the business. This is why the lower layer can not understand the upper layer, and the upper layer like the next Junlingzhuang, request the lower level implementation. People only try to understand the top of the problem to do the lower level of spin-offs.
In the software industry, this root node technology is software. This is why architects need to know what is called software, the software solves the problem, what the problem, the software itself is how to split up, to better combine the different technologies, to achieve the goal of the business. And the software is directly related to the business, only this part of businesses domain.
Employing to analogy, business domain equivalent to human brains, and Service,repository,glue code and other parts of the technology used, all of the computer's own field of technology, are to allow the program to run up, the equivalent of human limbs. Most of our developers ' work focuses on the limbs. What we really should be investing in is the brain part. Because the brain can decide what the limbs look like, not the other way around. Many architects and technicians focus primarily on computer-related technologies, ignoring the business itself and even the business, which is why technology is always in conflict with the business.
Architects should take on the role of solving business problems by focusing on the architecture of businesses domain and the software itself, so that technicians are committed to running the business on the computer. Only the good combination of the two, in order to better achieve the objectives of the business, will allow the software to better serve everyone. Ultimately, you will get a good software architecture that enables both the software development team and the business unit to work well and reduce costs.
Re-invent the wheel
We need to consciously organize and identify different technologies to achieve our business goals when there are already many technologies that are not directly relevant to the problems we are addressing. There are many ways to organize at this time, and the lowest cost method is to make a structural split from top to bottom, based on the purpose and current issues to be achieved. A more granular problem, broken down into different people to solve, has formed a business architecture and organizational structure. There are many different technologies that need to be combined to solve these problems, so what technologies should be used? Or do you start by yourself? Implement one yourself-that's what many people call reinventing the wheel. Here's an analysis:
This is perfect when the problem that the technology solves and the problem that splits out to solve is exactly match. For example, if you need to provide a service that the web needs to access, many MVC frameworks will do well to meet this. And this time if you have to do it yourself, it is likely to be the re-invention of the wheel.
Technology and maintenance technology can be a bottleneck when technology provides far more capacity than is needed to solve. Because the more complex the technology, the higher the cost. If you implement a solution that is just a solution to the current problem, it may cost less. That's why a lot of big internet companies are constantly opening up their own technology. And do these technologies apply to us? Who were they supposed to solve the problem? What's the problem? If this is not clear, then the risk of adoption, may lead to higher costs.
The cost is still to be seen when the capabilities offered by the technology are partly matched to the problems we are trying to solve. For example, when we need a hammer, there is no right hand, but there is a high heels, can barely replace the hammer. But in the long run, this is not a cost-effective, because the price of high heels is much higher than the hammer, durability is much worse, maintenance costs are much higher.
Therefore, the ability to accurately identify what technology is used is one of the competencies that architects have to possess. The main factors to consider are long-term costs and benefits.
Beijing for wealthy
Tianjin to find wealthy
Hebei find Rich Woman
Shanxi wealthy
Jilin Find Rich Woman
Find Rich woman in Liaoning
Inner Mongolia wealthy
Zhejiang Find Rich Woman
Shandong wealthy
Shanghai to find Rich woman
Anhui Find Rich Woman
Find Rich woman in Fujian
Jiangxi Find Wealthy
Jiangsu Find Rich Woman
Henan find Rich Woman
Find Rich woman in Hubei
Hunan Find wealthy
Find Rich woman in Guangdong
Guangxi Find wealthy
Chongqing to find wealthy
Find Rich woman in Sichuan
Looking for rich woman in Guizhou
Yunnan to find wealthy
Wealthy Tibetan
Shaanxi Find Rich Woman
Gansu Find Rich Woman
Qinghai looking for rich woman
Ningxia Wealthy
Architecture Discussion (ix): clarify the relationship between technology, business and architecture