What are the software requirements?

Sorting out software requirements

Requirements are divided into three levels: user requirements, product requirements and software requirements.

User demand is the power and source of product demand. Sources are: competitive product analysis, potential customer surveys and information, surveys, suggestions and complaints provided by existing users, which are often collected by marketers, salespeople and customer service personnel. Sometimes, users' needs are not clear, because users themselves can't describe clearly what they need.

Product demand is a collection of requirements sorted out from users' needs, which can give full play to the company's advantages or conform to the company's strategic development direction. When determining the product demand, we must admit that the resources and capabilities of enterprises are limited, and it is impossible to satisfy everyone and do different things. This is the job responsibility of the product manager.

Product requirements, expressed in business language, are basically understandable by users, and are usually expressed as a list of functional requirements, that is, a list of features.

According to the product requirements, the software requirements are analyzed and sorted, supplemented by preliminary architecture design. For each requirement item, user scenarios of various user types, normal processes, optional processes, abnormal processes and nonfunctional requirements are described. It should also include performance requirements, various quality attribute requirements, interface requirements, etc.

User demand collection

User demand collection is continuous. At any stage, products need to continuously pay attention to user needs. Different users have different demand weights and different demand priorities. Generally speaking, the market or sales will feedback the needs of users, and new competing products also need to be studied. User requirements should be collected to the product manager, who will organize personnel to analyze requirements, cut requirements, and determine which version supports new requirements or changes existing requirements. There is also information from customers, but technical documents, such as interface documents, can be directly handed over to the development team as external interface documents. Need to manage user requirements, such as using knowledge base. If the company has many products, and it is difficult for customers, sales or markets to distinguish which product is responsible, the company can also arrange a product assistant who collects requirements to communicate with the product manager.

Product demand analysis

Product requirement analysis is the starting point of software products. The input of product demand analysis is user demand, and the output is product demand specification PRD.

A qualified product manager is not a simple transmitter of customer needs, but a comprehensive consideration of various user needs, combined with the company's strategic development direction, resource advantages and limitations, and the business model adopted by the product to determine the product demand set.

The product manager's understanding of the target market and target users determines the quality of product demand analysis.

The product demand mainly considers the following situations:

Usability, so that users can't use the product substantially because of some missing functions or performance obstacles.

What types of users are there, and what are the demands of different types of users? What are the pain points in the current situation?

What advantages of competitive products must be retained and can they be further strengthened?

Don't change users' habits easily. Be prepared to pay the cost of market education if necessary.

The value demonstration of characteristic function should be enough to improve the usability of characteristic function.

Study what business models there are and what impact they will have on the demand for software products.

Feasibility analysis of product demand

Cut user needs, analyze and sort out product function requirements, that is, function list.

For each product characteristic requirement, it should be stated that:

What is the user type?

What value is provided or what problems are solved?

Priority of requirements

What are the restrictions?

Are there any existing technical obstacles?

How big is the implementation code?

Are there any legal risks such as patents and supervision?

When necessary, the product manager can organize pre-research work to verify the technical feasibility and remove technical obstacles.