General Software Project Development Process Specification (5) -- Conclusion

Source: Internet
Author: User

 

Summary

 

Figure 8-1 Project Phase

 

Software Project development goes through multiple stages. Each stage contains multiple tasks, and each task generates corresponding artifacts. Corresponding quality assurance measures are required to monitor the task and ensure the execution of the task. After the task is completed, you also need to review the task to ensure the quality of the task.

All these tasks are performed by the development team and relevant personnel according to the workflow. Therefore, a reasonable role task allocation and communication system is an important guarantee for the success of software projects.

Figure 8-2 lists several common roles and task division schemes:

Figure 8-2 roles and task division plan

 

Unclear responsibilities and roles are often an important cause of confusion in the management of software project teams, A good software team must clearly divide the roles and positions of project members based on the size of the team and the characteristics of the project, in this way, each member of the team can have clear responsibilities and goals.

No matter which type of lifecycle model and development methodology is used for software development, the entire process includes requirements, design, development, testing, configuration management, and other activities. These activities correspond to different roles in the project. After job division in the project, each job member can have multiple roles in part-time. Form a matrix of relevant roles and positions.

 

Solution 1Project Owner Overview

For software development teams in small workshops, a project owner can view the overall situation. The project owner undertakes all the work from user requirements to software requirements to the overall design. At the same time, it is also necessary to implement the entire team's progress planning, quality assurance, configuration management, communication and coordination. Therefore, the small project team has high requirements on the business, technical and communication management skills of the project owner. The project owner is the overall solution validator and architect of the project. The ability and skills of the project owner often determine the success or failure of the entire software project.

The small team we refer to here is not a single project, so it is best for the project owner not to be involved in module design and coding activities, instead, we should focus on progress control and quality assurance. Project owners generally have strong technical capabilities, so project owners can undertake research on some new technologies to be used in the project, and solve some difficult problems in the project. The project owner should also designCodeReview and confirm with the project members about issues such as detected normalization, performance, and reuse, and write them into the project development specifications.

 

Solution 2Separated project owner and Development owner

Under such a scheme, the project owner and the Development owner overlap in terms of software requirements and architecture. The personnel in both positions jointly confirm the overall project plan and architecture. The project owner focuses on project management and communication with customers. Only by identifying first-hand user requirements can the project owner develop software with high user satisfaction. Many small projects are often started when the user needs are not clearly understood. The project members are completely working on the system based on their own feelings. During the process, they do not pay attention to timely feedback and iteration with users, the developer is responsible for the entire development process, including further splitting of tasks on the progress objectives confirmed by the Project Manager, arrange subsequent incremental and iterative plans. Solution 2 focuses on emancipating the project manager for the first time. The core of the architecture is moved to the development owner, and the Project Manager only participates in the discussion and review. After the development owner is separated from the Development owner, the development process can be better tracked and coordinated. The development owner focuses on the project, avoiding excessive communication and coordination with external stakeholders.

 

Solution 3Test Specialization

When the project team develops to 5-10, the testing work in the project must be completed by dedicated testers. Generally, four to six developers need to configure a dedicated tester. Testers conduct system tests from the perspective of third parties and simulated users to better discover system bugs and problems and effectively ensure the quality of the system.

The work of the Project Manager in solution 3 is further clarified, and the project manager is not responsible for software requirements and architecture. The focus is on communication and coordination inside and outside the project and the arrangement of the entire project schedule. At this time, the project owner is responsible for the overall design scheme and architecture of the entire system, and the design owner will not participate in the design and development of specific functional modules. The design owner focuses on the development and overall design of software requirements (such as case modeling, case analysis, architecture design, and component interface reuse in RUP ).

 

Solution 4Separation of Project Manager and requirement role

When the scale of the project team has grown to 12-20 people, the project team can basically be considered as a small and medium project team. At this time, the project manager is fully dedicated to project management. Including project progress planning, project tracking and monitoring, risk analysis and control, and project measurement analysis and decision-making. Set a dedicated demand engineer position for demand activities to complete demand development. At the same time, a dedicated architecture designer is set up in the project, and the architecture designer is no longer responsible for the development of requirements, but focuses on the determination of the overall system design scheme and the analysis of the system's 4 + 1 view, at the same time, the architecture personnel should consider the identification of the entire system integration solution and the integration of specific functional units and modules.

Due to the expansion of the project scale, the configuration items of the project are more complex. The project also needs to start multiple branches, such as development, testing, integration, and bugfix. Therefore, you need to set up a dedicated configuration administrator to manage project configurations.

When a new version needs to be developed for a project and the released maintenance version needs to be improved, special maintenance personnel should be set up in the project. Maintenance personnel are responsible for improving the project's small functions and fixing bugs. In this way, new version designers can focus more on developing new functions.

 

(Full text)

 

Codeproject

Related Article

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.