Current location - Education and Training Encyclopedia - Graduation thesis - Software development process management
Software development process management
I found one online, and you can learn from it. It's too tiring to write such things. Please adopt those who are satisfied. thank you

Discussion on Software Process Management in South China

"If you don't know where you are going, you can choose any road. A map is useless if you don't know where you are. " This is the prologue of software process management. Their deeper meaning is that everything has a direction of development, and you should be good at controlling it to make it develop in a favorable direction as much as possible, rather than letting it develop. There is also a saying that we should know the direction and state of things, so as to guide the correct development process with tools and wisdom. After nearly ten years of software development, I often get lost in the complicated process of software development. I always feel that there is a broad road to wisdom, but I don't think I really found it in the search.

If you carefully observe the development of southern software in recent years, you will find that what we have been trying to improve is our software development and process management model. Whether it is to establish a software development process or to implement ISO, it is to make our software have better quality and make our development and market work more rational and scientific.

Here, I simply share my views and thoughts on the software development process with you. What we usually call software development is actually composed of two processes: development process and management process. The traditional idea of software engineering is to develop software based on the idea of engineering. It pays more attention to the application of software development technology, methodology and tools, such as how to obtain requirements, then analyze requirements by what method, and finally export a requirement analysis document that everyone can understand, and then how to smoothly transition to various stages such as design, coding and testing. These processes have corresponding methods, models and tools. However, only relying on engineering ideas can not solve all the problems in the process of software development. With the development of technology, the complexity of software is getting higher and higher, and more and more people are involved, so it becomes more and more difficult to cooperate in the development process. This leads to the software management process. Everyone works together, everyone has different life experiences and knowledge backgrounds, and we all have our own behavior habits and expressions, but we still need to communicate, understand and coordinate with each other, which requires unified standards and codes of conduct, which leads to management systems, management organizations and management processes. Through the above management process, we draw the software development management process. When many people develop the same project, they must have the same understanding of the project's requirements, contents, tasks, ultimate goals and time limit, so they must work together with unified technical specifications and standard processes.

At present, the goal of our software development process is to establish a standard process, and constantly improve on this standard, so that this standard process can play a practical role in improving quality and efficiency and reducing costs in future software development work, thus achieving the purpose of improving efficiency. I still remember the words that the general manager described the import and export department at the end of 2006, "So many people in the import and export department have produced so much output value in one year." This is high efficiency, which is the goal that southerners should pursue, and also the goal that we software people should pursue. At this point, I think I have probably understood where to go. So how to do it? Let's analyze the current situation of software process management and the work to be done. I am more concerned about the following four aspects.

First, demand management. Requirements change all the time, and it is this changing demand that makes the waterfall model in software engineering difficult to adapt to the current software development. The primary goal of demand management is to control the changing demand, give priority to developing more stable parts, and reduce the risk and impact of demand change through iterative development process. Another goal is to coordinate the development process and system requirements. This can be achieved by using a requirements tracking table or tracking matrix. Simply put, it is to make a list of requirements to be realized, check your work regularly to see if you are doing the work needed by the software, and compare the requirements tracking table to see if there are any omissions.

Second, the project plan. We have made many project plans, some of which are quite good. The purpose of making a project plan is to establish a reasonable and implementable plan so as to coordinate the work of the participants. To make a plan, we must first estimate the scope, scale and workload of the project. Distance estimation can use WBS decomposition function. Scale estimation can be based on the results of WBS, so that each member can estimate the number of code lines or classes and objects required by each functional module or component, and the project manager can set each member to weight and average the familiarity coefficient of the project. Workload estimation is to replace the result of scale estimation with adult/day or person/month. Just break down the WBS work and arrange the workload into Gantt chart according to the time required by the project. Improve the accuracy of planning by accumulating project experience. The more plans, the more experience and the higher the accuracy.

Third, project tracking. Our tracking of the project is mainly based on weekly records and logs. You can know whether the project status is normal through Zhou Zhi. Through the log, you can calculate the actual workload and main cost of the project. In project tracking, we have collected a lot of data, which can be used to improve the future process to improve the accuracy of project planning and risk prediction. Another function of project tracking is that the project manager can compare the project plan through the tracking results, and when the actual work is found to be seriously deviated from the plan, he can take some corrective measures or change the plan in time to re-coordinate and synchronize everyone's work.

Fourth, configuration management. Configuration management includes four parts: version management, configuration control, change management and problem tracking. Version management is the version history control of various files that make up the software, so that even if we modify the files wrongly, we can restore all previous versions. In version management, we have used some management tools for a long time, so the code management is very good. We are currently planning and establishing solutions for configuration control, change management and problem tracking. Configuration control is simply the same software, because there are different customization and upgrade requirements and different configuration methods are needed. For example, the customer of XX software in Beijing requests to add a special function, and our name is XX Beijing Edition. Customers in Shanghai want to add another function instead of this function. Our name is XX Shanghai Edition. At the same time, this XX software has to be constantly upgraded. These are all based on different versions of XX software. How to manage so many different versions? Configuration management is to identify which files and versions are used in the Beijing version, which files and versions are used in the Shanghai version and which versions are used in the upgraded version in the file library of XX software. In this way, we can configure different versions of the software according to the requirements, which is convenient for the delivery, recovery and maintenance of the software. As I said before, demand is constantly changing. In fact, in software development, not only the requirements are changing, but also the design and code will change. The so-called change control means that there is an appropriate processing flow when the change occurs, and different processing methods and approval levels are adopted according to different situations. We can't eliminate software changes, so we should try our best to control these changes and minimize the negative impact of changes on software quality and project implementation. Problem tracking can be regarded as the lightest project tracking. Once the change request is approved or a software defect is found, who will solve it, when, what kind of audit method will be adopted and the status record of the results will form a simple problem tracking process.

All the above are some views on software process management. In the process of software development, there are requirements analysis methods, software design methods, testing methods and so on. Correctly applying these methods can improve software quality and development efficiency at a specific level. Regarding the software development process, our company has many authoritative technical experts, so I won't go into details here. With the help of Qi Xin from the south, I firmly believe that the software in the south will get better and better!