Requirements, requirements engineering and requirements engineers — 5. Requirements for research capabilities

Sign the contract, set up the project team, and enter the customer site. In the next stage, the main job of the demand engineer is to investigate the demand, analyze the demand, and determine the functional demand to be developed. Different from the content of the previous consulting work, this stage requires the requirements engineer to have the ability to communicate, record, and analyze in detail, and finally prepare the [requirement specification]. [Requirement Specification] is not only the basis for subsequent software design and coding testing, but also the basis for the customer's final acceptance system. The quality of the results at this stage affects customer satisfaction, and also greatly affects the progress, cost, and quality control of project management. It can be said that the research stage is the main battlefield for demand engineers.
Insert picture description here
Figure 1 Location of research work

The second part introduces the requirements for the analysis ability of demand engineers

In the research process, the demand engineer must participate in different tasks such as listening, recording, analysis, etc. The demand engineer must be able to screen and analyze the collected information, and give valuable proposals. Otherwise, it will be easy to be seen by customers and programmers. Cheng is a "microphone".

1. Research purpose

The purpose of demand research is to clarify: what specific needs and requirements customers have for the information system to be imported in the future. That is, the process of figuring out what the system needs to do.
Through direct and face-to-face communication with customers, the requirements are collected in the form of questionnaires, interviews, drawings, and collection of original data, and records are recorded in the form of graphics, text and tables. The focus of "needs research" and the previous "needs consulting" are different:
□ "needs consulting" is the foresight of system goals, and "needs research" is the collection of specific content of the system.
□The object of demand consultation is "customers", including corporate decision-makers, information managers, etc., and what is collected and determined is the guiding demand on the level of strategy, purpose, and the future.
□The object of demand research is "users", including all users of the future system (regardless of which layer they are in). The collection and determination of specific functional requirements to be developed by the future system (for the convenience of writing are collectively referred to as the following descriptions: customers, and definitions) Customers include users).
Of course, small projects or small software companies do not distinguish between these two stages, and can be completed within the same time period. Large projects are generally separated, and even consulting and research are given to different companies to complete.

2. Research role

1) The role of research work The work in the
research phase is mainly the collection and analysis of requirements. Generally speaking, most of the collection and analysis of requirements are carried out on the customer site. The collected content and analysis results need to be compared with the collected content and analysis results. Customers conduct repeated discussions and confirmations. The results of demand analysis are the basis for determining the success of software development. The quality of demand analysis results has a decisive effect on the quality of software delivery.
There are two priorities in the research phase: collecting requirements, analyzing requirements, and finally confirming the system functions that need to be developed based on the results of the requirements analysis. Among them:
(1) Collecting requirements: using the current composition (picture), interview records (text) and Existing forms (tables) and other three forms for specific requirements collection.
(2) Analyze requirements: Split, aggregate, analyze and confirm the collected requirements according to target requirements, business requirements and functional requirements.
The work in the demand investigation stage has the following characteristics:
□ With the results of the preliminary consultation as a directional guide, there will be no phenomenon of finding a clue.
□The research objects are all customers of the system, including: management, management and executives.
□Customer needs include target needs, business needs, functional needs, etc., which are all-round and all-round.
□The content of the requirements involves corporate strategy, business processing procedures, specific function points, management and control methods, system hardware, deployment environment, etc. There are both business and technical requirements.
□The content of the survey is very specific, and the conditions for process divergence, fields on the interface, calculation formulas, warning notices, etc. should be given.
□ Abstract content such as target requirements obtained from the preliminary consultation must be implemented at this stage and converted into specific functional requirements.
□This stage is a process in which the software company and the customer understand each other and communicate details.

2) The role of the demand engineer The
result of the demand survey is the input for subsequent design and development and the basis for the customer project contract acceptance. Therefore, if there are deviations or omissions in the demand analysis, the results may lead to subsequent design and development work There are problems. Conversely, if the requirements analysis gives a very comprehensive, rigorous, and logically clear result, it will allow the design and development work to progress very smoothly.
The role of requirements research is clear, then the requirements engineer engaged in this stage of work should realize:
□The behavior of the requirements engineer represents the professional level of the software company.
□Accurately collect information on the needs, requirements, pain points, and expectations of the system at all levels of customers.
□The stronger the ability of the demand engineer, the higher the authenticity of the demand obtained, and the lower the risk of system rework.
□ Research and analysis results will greatly affect the three elements of software project management (quality, schedule and cost). Among them,
○Quality: Undoubtedly, the demand analysis results have laid the quality foundation of the system, and the direction, logic and details of the demand In addition to mistakes, no matter how good software design and superb coding techniques are, it is meaningless.
○Progress: In addition to work efficiency, the quality of demand control and demand research greatly affects the progress of the project, especially to ensure that there is no or less demand distortion.
○Cost: The number of functions confirmed by the survey, the degree of technical difficulty, and the quality and schedule of the project will all affect the cost of the project.
■It can be said that the work result of the demand engineer is an important factor in determining the quality, schedule and cost.

3. Research Ability

After clarifying the purpose and role of the survey, let's talk about the ability requirements for demand engineers at this stage. The requirements for the requirements engineer’s ability are related to his results [requirements specification], [requirements specification] is the most important deliverable in the requirements investigation stage, and the requirements engineer must master the methods of communicating with customers, complete listening to requirements and recording requirements , A series of work to analyze the requirements and confirm the requirements. Let's talk about it from two aspects: necessary ability and professional knowledge.

1) Necessary competence
The main purpose of the demand survey is to obtain functional requirements. The survey objects are mainly the middle management and executive level of the customer, supplemented by the decision-making and senior management. Therefore, the requirements for communication skills of the demand engineer have changed. Let's take a look at the necessary capabilities from several aspects.

(1) Communication skills
As a demand researcher, there is no doubt that they are also required to have strong communication skills. Different from the communication skills of consulting and answering, in addition to the requirements of listening and speaking, an excellent demand engineer also needs to have a relatively strong "field control ability", because his subject of investigation is below the middle management level, which is different from the high level of the enterprise. Customers at this level often use professional language (because they are the executive of the business), and the content is specific, and because of their strong professional ability, they sometimes appear more subjective and slightly stronger. If they do not have the ability to control the field, there will often be issues running on the survey site. Partiality, low communication efficiency, and no results in communication.
Some experienced enterprise informatization executives may insist on their own requirements (sometimes even indiscriminately), and require that they must be done according to his instructions, and the requirements engineer thinks this will cause problems, what should be done? If you can’t change his opinion, you must clearly explain the risks that this may bring to the informatization supervisor, and ask him to give detailed requirements, constraints, expected results, etc., and at the same time complete records for future occurrences Credentials in case of problems, protect yourself while maximizing detailed analysis and design for success.
Remember here: communication does not mean just understanding or catering to customers. Communication should include explanations, coordination, arguing, compromise, etc. Don’t worry about arguing with customers. If the customer is clear: when he is responsible for doing something wrong in accordance with his requirements, He may also change his approach.
At the survey site, a requirements engineer may have to face several or more customers. This may be a difficult time for the requirements engineer, but it is also the best time for you to show value. The more you argue, the faster you grow.
It is very important to build a good relationship with customers, and to build a good relationship is more efficient and less stressful. On the contrary, it will be a "painful" process to do a good job of customer relationship research, but doing a good relationship does not mean "just with the customer". After arguing, the best result will be obtained and the customer will be more admired by avoiding possible risks. Your professional and professional abilities.

(2) Practical ability
Compared with the consulting stage, the research stage requires more practical ability of the demand engineer. For example,
you must be able to do shorthand. As the saying goes, "a good brain is not as good as a bad pen". This is a basic skill. The content of shorthand is not only necessary. Write and sketch quickly, etc. In particular, whether the key words and logic of key leaders can be grasped at the scene sometimes determines the direction of demand.
□ To be able to use the whiteboard and PPT methods to do on-site analysis and confirmation during research. This not only tests the hands-on ability, but also tests the courage (standing in front of everyone, speaking, drawing pictures).
□To be able to draw a variety of logic diagrams, use graphics to analyze problems, collect business logic, etc. (for requirements engineers, confirming business logic and collecting functional requirements are equally important)

(3) Copywriting Ability
□ Must have a strong ability to extract, collect, summarize, and improve.
□ To be able to write solutions, [requirements specifications], research weekly reports, implementation plans, etc.
□Be able to use PPT, Word, Excel and other related software proficiently.

(4) Logic Ability
Like consulting work, the work in the research phase is also supported on the basis of logical ability. A series of tasks including demand analysis, logic diagram drawing, function recording, data collection, document writing, etc. all require demand engineers to have strong logical thinking and logical expression skills.

2) Professional knowledge
Professional knowledge is indispensable for engineers. Professional knowledge should include the following aspects (not limited to this)
□Customer business: strong customer business knowledge and even practical experience, which is the basis for gaining customer trust For example: researching the needs of the financial system requires financial knowledge; researching project management needs to have PM-related knowledge, etc. Without this foundation, customers will be regarded as a layman without a "common language".
□Survey method: familiar with the content, method and path of the demand research, will compile milestone opportunities and implementation plans, as well as demand record templates and research deliverable standards.
□Analysis method: The collected requirements are fictitious and real. It is necessary to be able to identify the requirements, convert the target requirements into business requirements, and then convert business requirements into functional requirements.
□Other knowledge: It is best to have certain basic knowledge of the system (no coding required). The investigation may involve such as: the relationship between the new system and the existing system, how to solve the problem of information islands, and the results of requirements and design, development and testing. The relationship between the two, etc.
■Ability comes from the repeated application, summary and accumulation of learned knowledge in practice.

4. Research results

After the demand survey is completed, two important materials should be given: [Summary of demand survey data] and [Requirement specifications].
1) [Summary of demand survey data]
This is to sort out and summarize the collected original data, and is the basis for demand analysis. The first-hand demand data collected through face-to-face surveys from the customer site includes the original data recorded in graphics, text, and tables. This is an important traceability basis when a requirement is misunderstood and must be kept intact.

2) [Requirements Specification]
Based on the analysis of the aforementioned survey data, all the contents that need to be developed in the end have been identified and confirmed by the customer. This data has the following significance.
(1) For customers: all the contents that need to be developed/delivered for the system are determined, which is the basis for the signing/acceptance contract between the two parties.
(2) For software vendors: it is the basis for planning the system scope, objectives, principles, etc., and is the input and guidance for specific design.
The results of the requirements analysis not only affect the number of functions that need to be actually developed, but also directly affect the development cost of the software project, and even the technical capability requirements of the software vendor.

■Research summary

For demand engineers who conduct research on customer sites, a very troublesome thing is: how to work on an equal footing with customers, often because the other party is the customer (investor), so the demand engineer will always have some pressure. The phenomenon is relatively common. There are two main reasons for this phenomenon.
1) Problems of software vendors
In the software industry, software companies, and even programmers, the problem of "emphasizing coding and neglecting requirements" is common, and there is a lack of correct understanding of the role of requirements engineers, and people who are engaged in requirements research work often also exist Because of the problem of relatively low ability and unprofessionalism, there is also a lack of professional training for engineers in schools and social training.

2) Customer problems
Customers are generally unfamiliar with the construction process of information systems. They think that demand engineers are "spoken" to development engineers (programmers) and are small workers. They do not understand demand investigation and analysis are important early stages of software design and development. Work (but they are fully aware that designers are absolutely No. 1 in the construction and manufacturing industries), so there is often disrespect for demanding engineers.
The best way to solve the above problems is to improve the ability level of demand engineers.

■For demand research and analysis instructions, please refer to Li Hongjun's "Three Stages of Demand Acquisition: Demand Background, Demand Research, Demand Analysis", "Basics of Analysis Methods" and other series of blog posts.

■The next article in this blog post series: Requirements, Requirements Engineering and Requirements Engineer — 6. Design Ability Requirements

For a detailed description of the ability in the research phase, please refer to the book "Dahua Software Engineering—Requirements Analysis and Software Design".

Insert picture description here

Guess you like

Origin blog.csdn.net/lihognjun/article/details/114777000