At present, most management software companies in China have several categories, some pull orders by relationship, one by one, technology is not important to them, and relationship is always the first. Some companies focus on user needs and thoroughly understand user services. These companies are very concerned about their businesses, that is, they are ranked first in the horizontal field. Another type is already well-known in the industry. To be an expert in the industry, the company has realized the common importance of business and technology. The concept of platform is also proposed mainly in such companies. The software factory is mainly for applications under the third category of software companies.
In the software factory method, I introduced the basic introduction of field engineering, which consists of horizontal fields and vertical fields. The platform concept has been available for a long time. I think that for management software, the platform is able to use the results of horizontal fields to build an application that meets user needs on the basis of in-depth business research in vertical fields.
1. Vertical domain: A Domain organized based on the system category. Such as Budget Software, material management, contract management, and enterprise report system.
2. Horizontal domain: A Domain organized based on the category of software components. For example, metadatabase engine, report engine, and workflow engine.
3. There are three types of relationships between fields:
A) include: for example, the cost management software includes the material management system.
B) use: for example, management software uses the Report Engine and OA systems use the workflow engine.
C) Similar: different fields have different focuses, but there are many similarities. By studying one field in depth, we can gain a better understanding of another field. For example, expression parsing and indexing in the report engine may be similar to the data relationship computing engine.
Most books also briefly introduce the basic definitions as above. I will share my views on their relationships in product line development.
Some people often discuss the relationship between business and technology, hoping to determine which is more important. From a business perspective, the ultimate goal is to achieve a win-win situation by meeting the customer's needs, and both the business and technology are the methods and tools to achieve this goal, in-depth business is to allow us to do the right thing. The technology is to allow us to use suitable solutions to do the right thing. The two must be consistent to achieve the ultimate goal.
When we understand that these two fields are important, the company's views are different. There may be three situations for investment: business first, technology first, technology first, and business, and technology and business at the same time.
- Business-first Technology
It is believed that business is the premise of technical application, so it is necessary to fully understand the business before carrying out technical work. With the development of the business, more and more development technologies are not just simple addition, deletion, and modification. Many technologies should have been solved in the vertical field, and it has been around for a year and a half, I thought this was the case. After the business was clear, the technology was redone. However, as the business went deeper, more and more users were using it, sales and users do not have time and opportunities for you to design and develop vertical applications. After the business is started, the technology will come out of the product. However, if it is not well managed, it may become only the business. Over time, it will gradually become technical.
- Technology before business
If software companies do not have technology, technology is preferred. In terms of technology, Vista has come to study Vista, and new languages have emerged to study new languages. There are two results in this direction. If the goal of the researchers is clear, the technology may be successfully studied and applied to the company, or there may be a researcher with an unclear goal who does not know the usefulness of the research, the more research, the more lost, the result that the company mistakenly believes that this has no value for the company, and finally it will be gone. Therefore, if you are lucky, you will be happy with the technology first and then the business direction. If you are lucky, it will be ineffective, instead, researchers may reject useful technologies because of their mistakes.
- Parallel technology and business
We believe that technology and business are interrelated and indispensable. Therefore, we will invest manpower in technology and business separately, and continue to coordinate the progress as we review the situation on both sides. The architecture framework design can be done with an understanding of some of the requirements, and the implementation of technology will also affect the business. In the process of going forward, there will be a situation of separation first and then combination, because there are many models available in the industry when developing products. For example, if you do enterprise management software and OA, workflow engines, report engines, and other vertical fields must be available. The company can invest in this area in advance, instead of waiting for users to begin development immediately.
Which of the above three directions should we adopt? I think it depends on the situation of the enterprise. If the enterprise is in the early stage of development, the business and technology should first be thoroughly understood, it is more important to improve the visibility of enterprises in the industry than to thoroughly understand the technology. for companies that have already developed well, we should adopt technology and business to continuously coordinate the development of business and technology. If an enterprise is ready to live, you can start with technology and then start your business, because technology can also drive business development if the business is not very clear.
Technology and Business may go hand in the third type of companies, so we also need to identify their relationships, what should be done in parallel, and what should be serialized, which of the following methods can be used to review and refine different fields. Similar to other things in development, it is absolutely impossible to have no specific goals at the beginning, and there are no goals. It is meaningless and unnecessary to push forward research, however, once there is a goal, it will be different. If there is a specific goal, even if the research fails, there will also be a specific goal as the direction of the previous online approach, indicating where to go. Sometimes the goal will change, or be higher, or lower. If the goal is higher, the final result will certainly be better.
The software product line covers a wide range of technologies, management, and personnel, including vertical and horizontal fields. Each field contains many fields. How should we determine our goals before we start? Generally, when setting a large goal, the goal will be divided into multiple small goals for refinement, and then different people will achieve the small goal, in the process of implementation, we constantly review the impact of small goals on big goals.
Mentioned in software factory MethodFour cores of the product line: scope, versatility, variability, and scalability. The vertical field extracts 721 yuan, and the horizontal field provides support for the vertical field. For example, it is best to invest in infrastructure support (the engines needed) in advance, so that when the business progresses to a certain stage, the technical support will be smooth.
If we know that the workflow and report must exist as enterprise information management software, we can invest in manpower to solve this problem. But how can we ensure that the input of these small goals can bring real returns to the company. I think every small object must first clarify its goals from the following points:
- Vision and task:Can I simply describe my vision and tasks in one sentence??
- Stakeholder:Who is your customer
- Problem:Domain or question
- Business Value: What value does it provide? Which of the following is the product's value?
- How to measure success:Used to indicate success?
- Product Line:What is provided to the product line?
The following two articles show my previous simple views on technology and business, which are more simple than above :)
Let's talk about the relationship between technology and business: the relationship between business, technology and language.
Welcome to reprint, reprint Please note: Reprinted from Zhou jingen [http://zhoujg.cnblogs.com/]