Requirements, requirements engineering and requirements engineers — 4. Requirements for consulting capabilities

What are the requirements for the capabilities of the requirements engineer? Before answering this question, he must first define his scope of work and position. In the software industry, the scope of work of a "requirement engineer" is uncertain. For example, in a large software company or a large software project, his job is "requirement research", and he is only responsible for transferring the collected customer requirements to the software design. Teacher; but in small software companies or small software projects, his scope of work may range from pre-sales consulting to software design, and he plays the three roles of "consulting, research, and design" at the same time. At this time, his work determines the content of the system , Form, even the size of the system value, and the level of customer satisfaction.
Therefore, the ability that an engineer must have to determine the demand needs to be determined according to his company and job definition.

Here, regardless of the scale of software companies and software projects, we start with the definition of "broad demand engineer", and explain the abilities required for three different jobs (consulting, research, and design) that demand engineers may be involved in for reference. Since the content of these three tasks are different and the required abilities are different, first define the scope of work of the requirements engineer. The whole process of software development is divided into two stages, from contacting customer consultation to completing all designs, called the first stage, and from coding to testing, called the second stage, see Figure 1.

Insert picture description here

Figure 1 Schematic diagram of the scope of work of a demand engineer

In the first stage, the demand engineer undertakes most of the work, including:
1) Consulting (pre-sale consultation, proposal proposal, etc.)
2) Research (requirement survey, analysis, etc.)
3) Design (planning, architecture, design, etc.)

Since there is no uniform standard in the software industry, you can think of these as three different independent positions (consultants, analysts, designers), or you can understand them as the three necessary abilities of a demand engineer. It can be seen from Figure 1 that, generally speaking, the focus of most software enterprise requirements engineers' work is before and after the "2. Research" position. If the requirements engineers work harder, they can approach the position of consultants and move backwards. After learning, you can approach the position of the designer. It can be said that there is a lot of space for the career development of the demanding engineer. The following explains the content from the perspective of three abilities that a requirements engineer must possess.

The following three blog posts respectively explain the reference requirements for these three parts of work abilities, and describe each work from 4 dimensions: work purpose, production function, necessary ability, and deliverables.

The first article introduces the requirements for consulting and consulting capabilities.

The first requirement for demand engineers is "consulting ability", which is ranked first in the consulting stage of software engineering, as shown in Figure 2. Because consulting requires a relatively comprehensive knowledge and experience as the basis, it usually requires more than ten years of practical accumulation to have the ability to deal with it freely, so the consulting ability is the most demanding of the three abilities.

Insert picture description here

Figure 2 Location of consulting work

1. Consultation purpose

Consultation, strictly speaking, is also a part of demand research. Usually, the exchange of understanding of the system introduction background before signing the software development contract, high-end interviews with customers, and introduction of software company capabilities is called consultation (or: pre-consulting, sales). Pre-consulting, high-end consulting, etc.). Through this consultation, the software vendor and the customer can conduct preliminary communication and exchanges, and mutually ascertain the purpose and intention of each other. Through this consultation, both parties can determine the following content (not limited to this)

  1. Software vendors have a preliminary overview of their customers: the company’s business scope, industry status, and future development directions.
  2. Customers to software vendors: the size, strength, experience, industry status, trust, etc. of the software vendors.
  3. The customer put forward the purpose of the system: what problem to solve, the content of the system, the approximate budget and time, etc.
  4. Software vendors respond to customer goals: put forward their own basic ideas, ideas, ideas, plans, etc. to respond to customer goals.
    The purpose of consultation can be summarized in one sentence: mutual understanding, determination of trust, and preparation for signing a contract.

2. Advisory role

1) The role of consulting work
Before entering the stage of software development, the purpose of all communication and exchanges with customers is to obtain requirements, especially for large projects. In the high-end consulting stage before signing the contract, the Software Chamber of Commerce Send "expert" people to take charge of the customer communication at this stage. The consulting work at this stage has several characteristics:
□The contract has not been signed, and the content of the specific information system has not yet been determined. Whether the contract can be signed depends on the result of the consultation.
□At this time, customers are mostly the decision makers involved in the introduction of the system, such as operators, senior managers, and IT supervisors.
□Customers' needs are mostly the system's target needs, business needs, etc., and rarely talk about the system's functional requirements.
□Demand will involve the company's development strategy, existing major issues, and the company's expectations for informatization.
□The content discussed in the communication may be more abstract, and the needs are mostly hidden needs, such as corporate management concepts, development directions, and strategic goals of operators, etc. Engineers need to guide, explore, identify, and confirm behind these abstract content Real needs.
□The two sides explored and tested each other to confirm each other's bottom line: scope of requirements, system effects, development capabilities, cost-effectiveness, construction period resources, and comparison with potential competitors, etc.
■It can be said that consultation and exchange basically determine the value of this system to both parties.

2) The role of requirements engineer When the role of
consulting work is clear, then the requirements engineer engaged in consulting work should realize:
□You represent the highest professional level of a software company, and you should be the "business card of a software vendor."
□You are a "preacher" who comprehensively explains and publicizes the ideas and propositions of the software vendor for the project.
□ If the starting point established through consultation is high, the starting point and total value of the entire project will be high (for both the software vendor and the customer).
□Use your own knowledge and experience to act as advisers and consultants for customer decision-makers, and guide customer decision-making.
□The key point is to communicate with the decision makers of the client's project, acquire the goals and expectations of the client and other target needs;
■It can be said that the person in charge of the consulting work is the key person who decides whether the project can be completed and the value of the transaction.

3. Consulting ability

After clarifying the purpose and role of consulting, let’s talk about the requirements for the "consulting ability" required by engineers at this stage. Of course, the more abilities you have as a consultant, the better. When communicating with the customer’s senior management for the first time, time is often limited. How to make a good impression in a short time and seize the opportunity to lay the foundation for the next contact is very important. Let's talk about it from two aspects: necessary ability and professional knowledge.

1) Necessary abilities
Let's take a look at the necessary abilities in terms of listening, speaking, seeing, reading, doing, and thinking.

(1) Comprehension ability (listening)
The first ability of consulting work is communication ability, and the first step in communication is to be able to understand. Can you understand the main points and hidden needs of the customer’s senior executives? Can you look at the problem from a high-level perspective? . The level of management and senior management of general enterprises is very high, and their needs are often expressed through content and language at the level of concepts, ideas, propositions, expectations, and strategies. They are concise and concise, and many key information is hidden in them. At this time, the engineer needs to be able to immediately hear the main points and react and give a response, so it is very important to "listen".

(2)
Can the language ability (speak) show the software vendor's ideas, advantages, proposals, and service capabilities? If you can't show it, you can't express the software vendor's claims. It is important to note that your ability to communicate with the general staff of the client does not mean that you have the ability to communicate with corporate executives. The abilities required by the two are different, and the latter is a special ability that you must have as a "consultant." You can use "big vernacular" to communicate with general customers and employees, which shows that you are grounded, but you can't use "big vernacular" to communicate with customer leaders. This will show that your level, level, and ability are low, which requires engineers to have Certain language training.

(3) Observation ability (seeing)
when communicating, especially when speaking, always observe the listener’s expression and changes in the environment, be able to "watch the words and colors", judge the effectiveness of the communication and whether the content is appropriate through observation, and quickly decide what will be described later Do you need to change the content of your speech in the hope that your speech will always attract the listener’s attention and maintain interest. Remember not to follow your own pre-determined thinking to finish your own opinions at all costs. If the listener is not interested in your speech, the communication may fail.

(4) Reading ability (reading)
Reading mainly refers to the ability to "read out the effective information" from the collected customer background materials. Before conducting the first consultation, you must read all the background materials in detail. Find out the key points from the data, which is the guarantee of being confident and able to grasp the interests of customers in face-to-face communication. The so-called "preparation" of "not fighting an unprepared battle" refers to reading background information.
Note 1: Reading and observation are both "seeing with eyes", but the required abilities are different:
○Observation: Seeing a dynamic object, do not know what changes will be made in the next step, and react quickly without being negligent.
○Reading: You are looking at static objects, you can carefully figure out and think over and over to establish the main line of communication, logical structure, and key nodes.

5) Copywriting ability (doing)
communication methods are not limited to listening, speaking and reading ability, but also need to produce visual materials, such as paper materials, PPT, etc. for presentation and communication. This method can be both qualitative and qualitative. Be quantitative, which involves the ability of textual expression and graphic expression.
□ Writing ability: You can "write out" your propositions, logic, etc. through writing.
□Graphic expression ability: By drawing pictures, you can "draw out" your propositions, logic, etc.

(6) Logical ability (thinking)
Finally, let’s talk about logical ability. Logical ability is the basic support for the aforementioned ability (listening, speaking, seeing, reading, and doing)! The support behind all content expressed to others is the result of thinking. Before consulting, you must establish a logical framework for the content you want to tell. During the consulting, you can adjust according to the response of the object, but the logic must not be chaotic.
A clear logical framework has an important influence on whether the consultation purpose can be achieved in a short time. Why should we emphasize "short time"? Because if there is sufficient time for repeated communication, the listener will eventually be able to understand what the requirements engineer said, but the reality is that the time for the first communication to the requirements engineer is often very short, and you must express your ideas in a limited time. Ideas, otherwise there may not be a second chance! The improvement of thinking ability requires long and repeated training to achieve.

2) Professional knowledge
Professional knowledge is the support and foundation for all the capabilities of the aforementioned demand engineer as a consultant. The professional knowledge requirements for the consulting stage are relatively comprehensive, and the more extensive the better, the professional knowledge to be possessed can be considered from three aspects.
(1) Consultation knowledge Do
you have a wealth of consultancy knowledge and corresponding methodology, including knowledge of listening, asking, speaking, writing, and comprehensive proposals.

(2) Business knowledge
Whether you have customer business knowledge related to the system, including the business domain knowledge that the customer is engaged in, general management knowledge, etc.

(3) IT knowledge
Are you aware of the latest technology in the software industry, the development direction of enterprise informatization, knowledge of demand research and analysis and software design, and case experience similar to customer systems?
Of course, ability is composed of knowledge and experience. In addition to mastering the above-mentioned knowledge, there must be practical experience corresponding to the above-mentioned knowledge.

■Ability comes from the repeated application, summary and accumulation of learned knowledge in practice.

Note 2: There is a difference between consultants in the software industry and non-software industries.
Although both are very professional in terms of customer business knowledge, consultants in the software industry must provide business optimization results in an information environment (using information systems); consultants in the non-software industry give Business optimization effect without considering the effect of informatization. Since consulting results must be based on the premise of operating in an information environment, software industry consultants must have knowledge and experience related to information construction in addition to professional business knowledge.

Note 3: Dressing as a consultant
is a digression. It is different from general demand engineers. When acting as a consultant, proper dress can leave customers with a sense of professionalism, credibility and knowledge. Dressing too casually will make you look like you. Insufficient respect for others. Reference (men): You must wear a collared shirt (four seasons), a slightly higher-end notebook and pen, a dark-colored computer bag, and a watch (indicating that you pay attention to time) is best.
In addition to professional knowledge, as a consultant, you also need to have considerable practical experience, because knowledge and experience are the two pillars of supporting ability, and experience requires time accumulation, so I won't talk about it here.

4. Consultation results

There are two more important delivery materials in the consultation stage: on-site display materials (such as suggestions and proposals) and document materials (planning documents). Compilation of both types of materials requires the following expression skills
□ Presentation materials: used to introduce software vendors' products, proposals, solutions, etc., commonly used in PPT software production.
□Document-type materials: used in the form of essays, systematically introducing plans, cases, etc., commonly used in Word software production.
Remember: Be cautious to use exaggerated, cool, and big-flag publicity methods, which will affect the experience of high-end experienced customers about your professionalism and credibility.
Please refer to Li Hongjun’s "How to use PPT to compile a program" series of blog posts

■Summary of the consulting stage When the
demand engineer appears as a consultant, he should pay attention to the following content:
1) Consulting is the prerequisite for signing the development contract, and is also the input for the formal demand investigation and analysis. It collects the goals and directions of the customer's introduction of the system, and business operations. The principles and concepts of management, the scope and main lines involved in the system, etc.
2) The consultant is the protagonist of the consulting work, and his consulting results greatly affect the definition, contract, scope, scale, complexity, cost, effect, etc. of the follow-up project.
3) The consultant’s professional level and consulting effect also have a crucial influence on whether the two parties can carry out “relative equality” work in the follow-up research, design, and development process. If done well, the client will regard the software vendor as If "experts, teachers" do not work well, they are regarded as "little workers, code farmers", and they may work harder.

■The next post in this blog series: Requirements, Requirements Engineering and Requirements Engineer — 5. Requirements for Research Ability

If you need to know more about the methods used by requirements engineers when consulting, please refer to the book "Software Engineering—Requirements Analysis and Software Design".

Insert picture description here

Guess you like

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