The particularity of the software project makes it more difficult to develop, the enterprises and teams are facing more and more risks, which leads to the low success rate of the domestic software project. For the existing problems in the project, the major impact of the following areas:
1. Insufficient planning and process tracking
In development activities, the project plan is the first major event after the project is launched, but it is often overlooked or not given the attention it deserves.
A project plan is a traffic map of a project that directs the project to the exact goal, even if it is not a formal document submitted to the client and should be a normative document within the project team. But the project plan is often made by the project manager or in the head of the project manager, only the project manager knows. Such project plans are rough and fuzzy, and since the project plan is developed by the project manager, the other members of the project team can only be executed passively. Project managers can neither be a generalist in the project nor be able to work in lieu of other members, so a project plan that is not approved by a member is equal to the absence of a project plan.
Why do you need a project plan for each project, and to form a normative document? This is because:
First, through the development of plans, so that the team members, the project-related matters, such as resource provisioning, risk resolution, personnel arrangements, time schedule, internal and external interface to form a consensus, to form a prior agreement, to avoid disputes after the incident is unclear;
Second, through the plan, some supporting work and parallel work can be arranged in time, so as to avoid the mutual 牵掣 between the sub-processes due to poor planning. For example, the choice of testing tools, personnel training needs to be planned and arranged early.
Third, can make the project team personnel clear their responsibilities, easy to self-management and self-motivation;
The plan can effectively support the management, as the project manager, business Manager, QA Manager, Test manager of the development work tracking and inspection basis;
By making a plan beforehand, you can focus on solving the problem without having to think about what to do next.
The plan is one of the inputs to the project summary, and the project summary is the process of comparing the actual operation with the project plan to refine the experience and lessons. Through planning and summarizing, the experience and lessons learned from the project process become the knowledge accumulation of the company and project team members.
At the same time, many companies often have more elaborate plans, but plans are planned, and execution is performed.
Once the plan is worked out, put on the shelf immediately, or just as a tool to deal with the user, whether in the actual implementation in accordance with the plan in time to implement, whether to postpone, whether overspending, etc., take a step to see a step, where to calculate where the management method.
Practical work to implement project plans often encounters difficulties. Some organizational culture there is a concept that the plan is a constraint, anyway, we have to push forward on the right, there is no need to tie their hands and feet; Another situation is that we do not work according to the habit of planning, although the plan is done, do it by the way, project managers do not have the habit of maintenance plan, the project began not long The project manager was immersed in solving specific technical problems, and the plan was completely put aside.
2. Insufficient control of demand change
As a software developer or software system customer, I believe we have experienced the need to modify the system because of changes in requirements, in general, the customer will ask to change the interface, change the mode of operation, or even change the business, said, I was so asked, but now our business adjusted ... At this point need to interrupt the work in progress, need to verify the past information, need to revise the plan, need ....
Requirements include business requirements, user requirements, and functional requirements.
Business requirement reflects organizational or customer requirements for high-level systems and products, user requirement describes the tasks that the user must complete to use the product. Functional Requirements (functionalrequirement) define the software features that developers must implement. In the software system development process, there are many problems are due to the demand analysis stage did not correctly collect, write, negotiate, modify the product real demand, resulting in a number of reasons for this situation:
First, the understanding of the needs of the differences, when the customer asked the needs of the demand analyst is often expressed in natural language, such an expression for the real needs is a description (or even a description of the angle), far from the assurance that such a description can be fully understood correctly, Perhaps in the first moment of communication with customers buried the understanding of the seeds of differences, to a customer said I want to be an elephant, body like a wall, ears like a fan, four legs like four pillars, tail like a rope, analysts think, oh, wall, fan, pillars, rope these I know, But when it's really done, the customer will of course jump up. This is the problem of understanding the differences, there are customer statements of responsibility, but also reflects the lack of communication between the two sides, the project manager is an important part of the work is "communication." The project manager should constantly organize and coordinate and even participate in and communicate with users.
Second, the system implementation time is too long, the construction of a large and medium-sized system may have to continue for a period of time, when the customer asked, he was not able to see the operation of the system, when the two sides think there is probably no disagreement between the time (in fact there will be a deadline), the developer began to work. When the customer to get almost the product can be tried, he can actually operate, this time he will be on the system interface, operation, function, performance and so on have some personal experience, it is possible to propose requirements change requirements;
Third, customer specific circumstances, there may be a high degree of competition in the customer industry, need to make adjustments and responses, then they will naturally often ask for changes in requirements; there may be customers in the industry operation is not standardized, there are many human factors, this time the developers are required to prepare the contingency It is not possible to circumvent this problem if the development itself requires changes in requirements from the developer's own version upgrades or performance improvements and design revisions.
So even if there is no understanding between the analyst and the customer differences, the actual system will still put forward some personal opinions, even if there is no personal opinion, their own business changes or changes in the environment, these are unavoidable, so we should not dream of customer demand unchanged, When we start a project, we should realize that there will be some changes in customer needs.
After the project is finished, depending on the project log, you can generate the following summary table:
4. conclusion