Do you know how to analyze project requirements?

Source: Internet
Author: User
Keywords Demand management demand analysis project requirements
Tags .mall analysis business company core functions cost course customer

1. Preparation before requirement analysis

In the process of software development, requirement analysis is one of the core tasks. It's a matter of no doubt, it's like a fleet that's about to sail, to reach the directory at a specified time, so they need a proper route to reach their destination, but if the route is wrong, they will arrive in error. Not even going back to the place will never arrive, like something so important, many teams in the country is very missing, although I have done some, but when the project is completed, when we look back, I found that in fact we did a lot of unnecessary things, and therefore wasted a lot of time, manpower and material resources, and to ensure that these mistakes are reduced in future development, I will now record some of the problems.

In order to understand the requirements of the system, you can start from the outline of the requirements, and then refine the requirements, requirements analysis must be prepared documents, before writing the document we must do a good job of seeking the scope of analysis, summed up as the following points:

1.1 What kind of system to do

This does not say, I want to do software development people know that, after this, all can expand, such as we want to do a commercial mall, to sell mother and child supplies, know these, we can find the site now some of the website to do the reference, Analysis system architecture, system functions.

1.2 What kind of environment will the system be

The last time I experienced a system, is to use ASP.net to send a business mall, but there are some prerequisites, the previous company has a website, is developed with Java+mysql, but we developed a new system must be compatible with the previous data, such as customer information, commodity information, and some resource information, and also compatible with the Google,baidu included in the address path, and the original ERP communication and other conditions, so that our development is very limited, these requirements is so, you can not change, so in the design of the new system you must consider, take time to understand the previous system functions, interfaces, etc., if you do not understand, When you have developed the new system to find the system out of the company's original business processes, so that the company can not operate, it represents your development of the system is no value, I think this is not the result we want.

1.3 What problems to solve

Developed software system is to solve the customer needs, a consumer website is to sell goods, mainly by customers, goods, shopping carts, orders of the composition of these core functions defined well, I think other accidents will not affect the entire system process.

1.4 Possible changes in the future

In the face of future development, we may not fully consider but with the company's strategic development, you can think ahead, how much you can think of how much, the more the better, we develop a system is not only to meet the current needs, if the vision is only placed in front of you, then you this system will soon be eliminated, the function may not need to realize now, But the interface has to stay, otherwise it is very difficult to improve, if a small need to move the system structure, I think the system will become increasingly unstable, as a system analyst, this piece is also critical.

1.5 The system can maintain the task cycle is how much

The system cycle is closely linked to the company's strategic development. A system can not function with the changes in the society, can always meet the needs of the market, in the design of the system, you will be able to understand the company's strategic development, such as the company within three years to make what kind of customers, the number of Web site, you can do the assessment, So consider the problem of system architecture, and you start to build a big fat guy, but now the demand is simple, in the actual operation, the speed is slow, in fact, the more complex your structure, the more slowly the system runs, although now many large systems run very well, but to think about, other people's servers, network architecture is what kind of, You can not make your system a gleam of such a good environment, even if there is, the cost is too large, the general company also unbearable.

1.6 system implemented in several phases

In the early stages of development, it was not possible to perform all the functions of the system well, in order to speed up the progress, in order to the system can be online as soon as possible, we have to be like building a building, staged, phased implementation, if we are only to sell goods online, then we have to customer management, commodity management, shopping carts, Order management These pieces of implementation, to put a system in place, everyone wants to make their system the most powerful system, but this idea is almost impossible to complete, if we put the foundation, and then to improve the above, add bricks to add tile, according to customer or market needs to improve, I think that this system will slowly become a successful system, for the company of business, can achieve the needs of the enterprise, can let the process of smooth, that is a good system, there is no best system, only the most suitable system.

Phased implementation, can have cost savings, can also speed up the implementation speed, whether as a company's managers or developers, can see the results as soon as possible, will improve confidence, for example, in the design of a business mall, we in addition to customer management, commodity management, shopping cart, order management, but also to join the advertising management , promotional management, CPS, statistical management, user points, virtual coins, gifts, logistics, interface and some other functions, if the development cycle of only two months, four people, from the system design to the system on-line, how to do? If your team doesn't have access to a system like this, it is difficult to develop, in such cases, we must implement, grasp the backbone, the core of things completed, the system can be online, although not ideal so strong, but at least it can make money, another two months can be customer management, commodity management, shopping cart , order management These pieces of the main functional improvement, the company's business can be carried out, the back of the function although very necessary, but also can be divided into successively, the system on-line, can give you see things, can use, the suggestion will be more, for the system optimization, this is endless, if there is no such basic things, Every day there will be someone in your ear, when you are online ah, did so long, how to do, let your team heart under a lot of pressure, even if you in two months to complete the development task, that your test pass, the more functions, the more problems, in the later maintenance problems more, finally annoying, no way, refactoring, That's not a big loss.

1.7 Confirm the first phase to solve those problems

In a new environment, a new team, what kind of system do you say you want to accomplish in a certain time period how do you let the leadership believe you, let the company believe you, a larger software system, less a few months, a little more on the Yinianbanzai, they can wait, and they do not understand the code, not every day with your butt behind ask you , what about the system, do what, even so, I think you also into the madhouse, so we do the system to play a good first shot, so that will get more people's support and understanding, if you can not understand, to see the Shang reform in the "acts of wood lixin" allusions.

As for the first phase of software development to do what, this should be based on a system of core functions to understand, only the establishment of a framework, not too eager to rush, no good, the foundation played well, and then how to package, are not difficult.

1.8 Who the system development team consists of

A good team, must be to play the strengths of everyone in the team, in the development team, not your technical ability is strong, you are the most valuable person, I believe that in the development team does not have a beginning to end can support the capable, not no, is I do not think there may be, perhaps I say some people are not satisfied, In fact, I have a reason to say so, a person may have the opportunity to experience each part of the team, and can be in-depth, but definitely not an opportunity, if there is, that is a person's development, a person's development I do not want to call the team, sometimes, a person can do anything, more than one person, nothing to do well, But in the face of big projects, we have to work as a team.

My company, when I went in, I got a project assignment, I started a bit guilty, because some of the work I have not contacted, but have to do, but I was very surprised, our team has a project assistant, her presence so that our team coordination and management has been well implemented, planning tasks, Can do well in the platoon but tracking management I can collect allocations but after assigning to people, I find it hard to see progress because I have a lot of work to do, I started deploying project management systems, collecting requirements and bugs, and assigning to people, but feedback is often not timely because I sometimes go up every other day Then I gave the project assistant the job to manage it, I found that she did well, she and I only spent a few minutes every day to check, the accident occurred to me to resolve, her presence of me and the team of each developer's work to connect, so that project management to implement smoothly.

Who is the development team, which is based on the strength of the company, the project schedule and the size of the project, now say several jobs, can be flexible distribution:

Project Manager: The decision-making of the project positioning, a function to do and not do, the leader said

Architect: Control technical issues, solve technical problems, analyze and evaluate assigned tasks, feedback to project manager, and make sure

Project Assistant: Record the content of the team meeting and coordinate the daily affairs in the work

Development team Leader: the deployment of development team members, the auxiliary group of developers and supervision of member work, generally by the main process as

Developer: Responsible for writing code, accomplishing tasks on demand

Testers: Testing Functionality

If you work on each project here to individual, I would like the development team to manage the best coordination.

1.9 What is the operating environment of the system

In the system architecture, according to the needs of the definition, System architecture, program environment, network environment, such as the consideration of distributed storage, daily average traffic, system security, cost budget and so on.

The cost of asp.net development is lower than that of Java.

The operating costs of SQL Server are low for Oracle, but Oracle is superior to SQL Server in large data processing, and I think Oracle will be better off if it is a SNS station.

Choose what kind of environment, in the absence of specific requirements, according to the status of the team to consider I think it is almost.

We have a destination to sail, then we need nautical charts, the ship, the captain, the helmsman, the sailor, the water and the food, though we can guarantee 100% to complete the task, because no one in the sea will know, but our ideal is that we can arrive safely, if the conditions are not allowed, even if we know the destination, out of the sea, We will face a difficult and adventurous journey.

2. Collect demand

The collection of requirements is a tedious process, collection is not enough, the development process will be a lot of changes, especially after you have a demo version, start others have no opinion, a look at your demo, you have a lot of comments, such a problem I think in many projects have appeared, So first in the collection of requirements and customers or related departments to confirm one by one, we consider the need to consider from the two kinds of perspective, one is the user's perspective, the other is the developer perspective, so when talking about the need, we must chat and write, if you are afraid of omission, you can record, and then the way to use the document to express , analyze the proposed requirements and make a technical assessment, if there is a special problem can advance the developers to do technical research, in the assessment, the need to implement the implementation of the section, the planning, and then to ask for the personnel to confirm the requirements of the document function can write more points, according to the development of enterprises, can consider the consideration, This can be in the system architecture, positioning System life cycle, give more reference, in the demand for the stage, we have to immediately implement the function of the current, to be strengthened, refined, repeated, when conditions allow should do some demo to confirm.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.