1 Introduction
For a long time, the high failure rate of software projects has been plaguing people. Research shows that there are two main causes of software project failure: one is the complexity of application projects; second, lack of qualified software project management talents. Practice has proved that the lack of effective project management is the direct cause of software project loss. The reason why software development risks are high is that the software process capability is low. The most critical problem is that the software development organization cannot manage the software process well, so that some good development methods and technologies cannot play the expected role.
As an advanced thought and effective tool for modern enterprise management, process management has become an effective tool. As the market environment and organizational model change, in the context of modern social informatization based on computer networks, the power and utility of modern society have become increasingly apparent. Process management is not only a management technology, but also a reflection of modern management ideas. The focus of process management is to clarify and manage the relationships between all the main and supporting processes so that they can coordinate each other to play its due role. Process Management increases the transparency of departments. management objects are not the concepts of "departments" and "department employees", but process processes as management objects, focus on each process and efficiency in the process, as well as the relationship with the upstream and downstream processes. management focuses on the integrity and smoothness of the overall process.
Using process management methods and technologies for software project management can effectively change the chaotic situation of software process management. Firstly, it defines the software project development process effectively and standardizes. Secondly, during the software project development process, all activities are performed according to the logical relationship of the activities specified in the process and the implementation method of the activities, so that all activities can be orderly and controllable. Third, by clarifying the operation process, allow project team members to quickly integrate into the project and development process. Fourth, pay attention to the "Results" of each process, so that all work products of the software project can be effectively saved, ensuring the integrity of the software products.
2. Concept of the process and its role in software project management
A process is composed of activities. A basic activity is done by an individual or a group and does not need to be converted into other basic activities. Each activity in a process has a specific flow. It contains a clear starting activity and terminating activity. Therefore, it is a dynamic concept. In terms of structure, the process has four basic components: Activity, logical relationship of activity, implementation method of activity, and bearer of activity. The process is closely related to concepts such as "a series of activities or events" and "results. Process management is not only a management technology, but also a reflection of modern management ideas, the original functional administrative management based on control and tower organization cannot fully meet the needs of modern enterprise development and market competition. The development of management has been following the division of labor theory for hundreds of years, now we have to re-return to integration and system.
A series of development processes in the software project lifecycle are various process activities. The process of software project planning, system analysis, summary design, detailed design, program coding, testing and maintenance is a process activity. Develop a software project management process, focusing on the following:
1) The process can guide the project to a successful stage;
2) The developed process can be applied to the software development process;
3) The developed process can guide the project development activities and facilitate the management of the project development activities;
4) The process can be expressed in an intuitive flowchart, so that the project team members can clearly understand the software development and management processes and their relationships;
5) the start and end conditions in the process are clear and standardized to facilitate control;
6) The work products in the process are clearly defined and measurable, and the evaluation standards and methods are specific and operable.
3. Overall Software Project Management Process Design
In the process of software project development and management, efforts should be made not only to achieve the scope, time, cost and quality objectives of the project, but also to coordinate the entire project process, to meet the needs and expectations of project participants and other stakeholders, software project management becomes more and more difficult as the scale of software and the fields involved continue to expand. Looking at all failed software projects, the basic reason is that they cannot manage their software processes. In an undisciplined and chaotic project State, organizations cannot benefit from better methods and tools. Rigorous software process control and management can not only review and correct project deviations at each stage, identify software project risks, or even stop the project decisively, in addition, the adverse effects of talent flow can be minimized. For effective process control, the software project management process must be clarified.
The overall software project management process is designed to be in five major stages: Project search, project initiation, pre-sales, contract generation, and contract execution, which are represented by P1, P2, P3, P4, and P5 respectively; five milestones, including project initiation, contract signing, Function Definition, software development, and project acceptance, were designed, respectively, represented by TM1, TM2, tm3, TM4, and TM5, as shown in 1. In these processes, the contract execution process is the core of software project management. The main processes include product definition, software development, test execution, internal acceptance, project implementation and acceptance, and project maintenance.
Figure 1 overall software project management process
4. software project management overall Process Analysis
4.1 project search
Project search is the foundation for project establishment. The main tasks in the project search stage include market information collection, user demand tracking, and analysis and screening of potential projects.
4.2 Project Initiation
The main task in the project initiation phase is to confirm the reason for the project initiation, propose project initiation suggestions, provide appropriate funds and resources, and make the project proposal a formal project.
4.3 project pre-sales
The pre-sales phase starts from the project establishment to the completion of the project contract signing. The main tasks are to develop a communication plan with the customer and learn the background information of the customer in detail, understand the reason, purpose, and expectation of the customer's startup project, prepare the project proposal, and prepare the contract blueprint.
4.4 contract generation
The main tasks in the contract generation phase include evaluation and determination of the Project Scheme, agreement, evaluation and signing of the technical contract and commercial contract.
4.5 contract execution
Contract execution is the focus of the software project management process, which can be divided into five basic work processes: software development and testing; internal acceptance, project acceptance, and system maintenance.
4.5.1 Software Development
The software development phase is divided into: demand research, system analysis, system design, coding, unit testing, and other processes. It is mainly managed in three aspects:
1) develop a project plan. A software project plan is an operational document used to coordinate all other plans to guide project execution and control. It reflects the understanding of customer needs, is the basis for carrying out project activities, and is also the basis for software project tracking and monitoring.
2) determine the development process. Establish a stable and controllable software development process model based on the actual situation of the software project and project team, and develop the software according to the process.
3) Strengthen process control. Process control includes process management, change control, and configuration management.
4.5.2 Test and execution
The purpose of the Project test is to check whether the system meets the requirements stipulated in the project contract and task book. Project testing: Integration Testing and System Testing, it mainly performs function testing, robustness testing, performance-Efficiency Testing, user interface testing, security testing, stress testing, reliability testing, installation/reverse installation testing, etc. The testing process is carried out in the simulated runtime environment.
4.5.3 internal acceptance
After the project completes the integration test and system test, the internal project acceptance can be completed in three steps: 1) document preparation. The Project Manager submits the internal acceptance plan, Project Development Summary Report, and product release list. The Finance Director submits the project financial budget report. 2) internal acceptance test. Although the content and method of the internal acceptance test are basically the same as those of the system test, it should be carried out from the perspective of user acceptance, because it is the basis of the test run, make full preparations for user acceptance. 3) internal review. Reviews all submitted documents and test results internally, and completes the Project Development Summary Report.
4.5.4 project trial run and Acceptance
The main task in the trial run and user acceptance stages is to confirm all work products to the user. Main Tasks: 1) preparations before acceptance. The project manager is responsible for inspecting product integrity, including documents, media and intermediate products, to ensure on-site implementation success; responsible for on-site installation and debugging of application software, and completing the installation and debugging summary report; prepares the user acceptance plan and receives confirmation from the customer. 2) The user performs acceptance testing and system trial run, and transfers documents and systems. 3) confirm with the user. The project manager is responsible for coordination with the customer to assist the user in project acceptance and form the user acceptance report.
4.5.5 project maintenance
Maintenance of software systems can be divided into two categories: one is error correction maintenance, because early testing cannot expose all potential and hidden errors in the software system, the process of diagnosing and correcting these errors is corrective maintenance. The other type is perfect maintenance. during normal use of the software, users will constantly propose new requirements. The activity of adding software functions to meet new requirements is called Perfect Maintenance. If the demand changes significantly, the improved maintenance will be transformed into the development of new software versions. The purpose of system maintenance is to improve customers' satisfaction with software products. Ensuring the normal operation of the system is the fundamental purpose of system maintenance.
4.6 software project management milestones
Project assessment and review are the foundation of software project management process control. Five baselines are set in the entire process, namely, five milestones, namely, TM1: project completion; TM2: contract Signing; tm3: Product Function Definition completed; TM4: Software Development completed; TM5: acceptance passed. 1. The main entry conditions and corresponding work results of each stage are important signs of milestone achievement.
5 conclusion
The overall software project management process and related technologies designed in this article have been successfully applied to the development and management of software projects. By applying process management to software project management, the overall software project process is set as the main line to determine the main processes and milestones of each stage, the evaluation index system and a series of templates and tables are used to control and manage the software project development process, significantly improving the software project success rate.
Practice has proved that, based on the actual situation of enterprises and projects, the software project operation process is determined, software work products are defined, the entry and exit conditions of each stage are clearly defined, and effective process control and management are carried out, this greatly improves the efficiency of software development and the success rate of projects. (Source: xisai Network)