Requirement collection
Demand collection truly reflects the needs of the market and user-driven. Interviews, surveys, brainstorming, competitors, and product analysis are all methods to collect requirements. To collect requirements, we need to clarify the real needs of users and the deep-seated problems behind the problems so that we can provide data for the mining needs. The process of requirement collection should be streamlined, and the collection needs should be classified and archived. The requirement collection activity must be viewed as a structured process or process to truly promote the collection process and the effectiveness of the collected data.
The collected requirements should be prioritized in the demonstration analysis, and the validation of priority should introduce value engineering, that is, we should realize that the importance of a demand should be reflected in its short-term and long-term value-added to the product value. To understand this, we must consider whether the collection needs are universal or special, whether they are core business needs or secondary business needs, whether it is frequently used or occasionally used. We must have a clear mind to analyze whether users' urgent needs must be higher priority.
Users often get used to asking us what functions they want the system to implement. These requirements are often the user's requirements after conversion, rather than the original requirements. When users encounter business problems, they often assume an implementation method. If the problem is incorrectly resolved as a requirement during the requirement collection process, then, the original requirements are ignored. The focus of requirement collection should be on the collection of real problem domains and problem scenarios.
The business background and experience of requirement collection personnel often have a great impact on the effectiveness of requirement collection. The interview process of requirement collection is not a simple process of listening to users, but a process of asking users to tell their real problems. Through our active communication, users can truly express their real thoughts.
Requirement collection is the source of software product development and an important activity for determining the product direction and positioning. A large error in requirement collection activities will be a major error in directionality. If the product we developed cannot truly meet the user's needs and gain user recognition, the product itself will not be able to create value. in a timely manner, this product has good quality, ease of use and functions, this product still fails.
Requirement Analysis and Development
The requirement analysis should be aware that it includes business analysis and system analysis. Business analysis includes business process analysis, organizational structure and role analysis, object analysis, and data stream analysis. The focus is on describing the current situation. The focus of system analysis is to convert requirements into software requirements that can be implemented by the system. Therefore, we must consider the feasibility of requirements. For object-oriented analysis, we should focus on Case Analysis and Business Object Modeling, business Rule Analysis. System Analysis is best performed by people with software development experience and business background. Here, the focus is to match the mature analysis modes and models in software development with the actual business.
Software products must be able to adapt to changes in requirements, not only to the scalability of the software architecture, but also to the needs of users in the demand analysis phase. Abstract The requirements that users may change frequently and introduce standard configurable models, such as permission models and workflow models. One of the main points of software requirements for business needs and user needs is to consider the changing needs which need to be converted to flexible and configurable requirements.
Users do not know what they want or the frequent changes in user requirements should facilitate our process of improving demand analysis and development. At this time, the system analyst's development experience and business background will play an important role. A change in demand is often an inevitable situation for software development, but how to control the scope of its changes and how to implement the change in demand is not to modify the design and code, it is implemented through flexible configuration.
An important process in the process of converting collected user requirements into Requirement Specification is requirement analysis and development. In this way, the key content of some requirement analysis work is well organized. by identifying the priority of the requirement, project resources and progress can be better arranged and targeted. By classifying, merging, and abstracting original requirements, a general requirement model is extracted. By identifying non-functional requirements, the robustness, performance, and ease of use of the entire system are increased. By dividing the units of the requirement module, describing the process and rules, the function analysis creates conditions for the project schedule and progress tracking. Therefore, it is the responsibility of the requirement analysis to match the business and system modes.
Demand management
We should first see that the purpose of requirement management is to first serve the Project Management Service. The structured requirement management enables the project management to be truly visualized, and the demand management serves the user, effective demand management can better meet user needs and improve user satisfaction. Finally, demand management provides support data and basis for subsequent projects, because the content of demand management is structured and documented, which are important process assets of the project.
To manage requirements, our requirements must be structured and documented. Otherwise, we will not be able to manage requirements. Therefore, requirement management involves configuration management. At the same time, in order to quantitatively describe the effectiveness of demand management, our needs must be measurable, and the granularity of demand function points should be within a certain range. Requirement Specification is an important object of requirement management. It must be documented and used multiple times throughout the entire software development lifecycle.
The focus of requirement lifecycle management is the requirement status management. The requirement raised by the user is whether it is realized, at this stage, you need to manage and track the status of your needs. Therefore, the entry of Demand Function Points in the demand analysis phase is the focus of demand State management, and the demand state tracking process is exactly the process of tracking the project progress and status. If the project management status is well monitored, the requirement status management can also be well performed, and the split requirement Status Management provides the foundation for incremental and iterative development, with this, project Earned Value Management can be effectively implemented to better apply the 0-Principle in Earned Value.
The importance of demand change control is reflected in the true importance that both parties attach to the scope of commitment. Only when there is a common benchmark can we truly reflect user satisfaction. At the same time, demand changes truly reflect the seriousness of the project plan and ensure the control and strict implementation of the project plan. If the demand changes, the old project extension is a manifestation of the demand change failure. For software products that have been developed, we need to have a structured change request process, and implant the impact analysis of changes into the process to ensure the stability of the entire software product.