in a blog "in front of me to write how to write their own satisfaction code", readers in the comments referred to the user demand uncertainty resulted in the overall design stage is always without problems. Demand analysis is, of course, very important, even in some cases more important than the overall design. So, how do you understand requirements analysis,


Google keyword, "needs analysis", the Internet has many related articles, and many have written like textbooks, as comprehensive and accurate, but also provides some of the best practice classification methods. I’ll talk about my experience in personal experience.

first of all, the most important question is why to do the requirements analysis, or the meaning of the requirements analysis, and everyone may have different experiences about the problem. My view is that the meaning of requirements analysis is to accurately and unambiguously express the products that the project needs to deliver, and obtain the approval from the demand side, so as to establish a benchmark for the whole project. Don’t expect the demand change is almost impossible, whether developers or the demand side are possible with the progress of the project requirements, so demand analysis (and change management) goal is not a definition of demand will not change, but from the beginning to the end of the development of the project, the need for both sides (including after the change the cognitive) are consistent.

might be a little abstract, so we can come up with an example.

For example,

needs analysis project formed in the early stage in such a description: "the application system can be personalized according to predefined templates, for each user’s data periodically and automatically generate the corresponding PDF report file, and sent to the user information in the preset e-mail."

in response to this requirement, developers have found a plug-in that automatically generates PDF files that read a XML template and then generate PDF files based on incoming data. After some time, the function is done, the user’s project manager looks at the generated PDF feel good, and the project goes well.

but when the acceptance stage, users organized a trial period, the function we all feel satisfied, because the average user cannot edit the XML template, feel very troublesome, but also prone to format error. It is also natural for users to present an edit interface that allows users to edit templates in WYSIWYG ways.


problem is: developers think this is the demand for change, the demand is not mentioned to do so it will cause the interface! Project schedule and budget needs to be adjusted, maybe some people will ask users to increase development costs. And the user will think that this is the development of the work is not done, how can you do a function out, let users edit their own XML? One hundred users, it is difficult to find a user to know what XML is, let alone edit it. So both sides will ask in this question