Project management is a key part of software engineering, and the balance principle adopted in project management makes the relationship between each factor coordinate with each other, so that the goal result reaches an "optimization" degree. How to take measures to achieve the so-called "balance" as far as possible is the objective of our discussion.
I. What is balance
When I see the balance between these four factors in project management, the first thing I think about is the following relationship:
Combined with the reality of life, we can actually use the popular language to describe the six relations: the need to improve the resources we consume will increase, we completed the duration of the user's needs are linked to the user is not too late to deliver the project, at the same time, the user needs to include the quality of the high and low, compared to, To ensure a good quality requires us to devote more resources, to complete a duration, at the same time a high quality products, is not a period to complete. This also requires us to actually consider the effect of achieving the optimal value of a multivariate function y=f (demand,resource,time,quality).
Before discussing the balance, it is necessary to know the project management, the goal of project management is not only the 4 factors mentioned above, but also includes risk management, configuration management and so on, it is a comprehensive and complex task for project management, understanding requirements management, resource management, time management and quality management, We will also find that the so-called balance principle may have penetrated into it. This time we take the balance principle of several important principles: decomposition, priority, efficiency, cooperation as an example to discuss.
Two. Decomposition principle
The so-called "global planning, distribution implementation, step-by-step results", in order to our management more level. In the requirement management, the classification management should be carried out, the level of software requirements should be divided, and the emphases, description and management methods of different level needs are different. For example, the demands of top leaders are targeted, and the needs of middle managers are specific to the business process, and the demands of the operators are focused on operational requirements. This also reflects our overall planning, where top-down work needs to be carried out in an orderly fashion.
Here is a structure for working breakdown: WBS (Work breakdown Structure) structure. Creating WBS structures is the process of breaking down project deliverables and project work into smaller, easier-to-manage components. The basic definition of WBS is that the project elements are grouped by deliverables, which summarize and define the overall scope of work of the project each descent represents a more detailed definition of the work of the project. This decomposition makes each part more effective in its implementation. is a building example of a WBS
The use of WBS also requires attention: The top level represents the final goal, and the sub-structure generally represents the different departments within the Working Group; The elements in all the WBS do not need to be defined at the same level, and one work block is independent from the other working blocks, and it is best not to exceed 10 days.
Three. Priority principle
The priority principle in software engineering is that we solve the problem of primary and secondary contradiction. We can properly apply the Pareto rule (28 Law): In practice 80% of the problem can be solved with 20% of the investment, while 20% of the secondary problem will cost 80% of the investment. In a software project, if there are too many requirements, it usually leads to a project exceeding budget and scheduled progress, which ultimately leads to a failure of the software project, where the priority of the requirement may be more important than the requirement itself. For example, the domain expert responsible for software requirements lists a very long feature sheet, but the final cost and duration are unacceptable. At this time we need to cut demand, prioritize requirements, a good project needs, must have the priority of demand, easy to carry out the overall project balance.
Time management also has the same problem, to divide the work into 4 kinds, urgent important work, important not urgent work, urgent unimportant work and not urgent unimportant work, urgent task demands immediate implementation, The second and third placement is the result of the fact that the project team is often in a state of exclusion between urgent tasks and important tasks, that urgent tasks are required to be implemented immediately, that the project team has no time to consider important tasks, and that the constant pressure exerted by the staff in time will put them on hold of important tasks, and thus lead to more serious long-term consequences.
Four. Efficient principles
Keeping the project at an efficient time is not only possible in one way, in terms of staffing, target selection, and timely communication will affect the speed and quality of our work. What is efficient? I think in a short period of time to complete high-quality tasks is efficient. Here, the management of resources, especially human resources, is very important. "It is difficult to find the right people at the right time in the IT industry, and it is difficult to properly organize and retain talent, and it is difficult to properly use and nurture talent." As in the project team, the first to select elite members, but also to make their respective roles. For example, I can't arrange for a program to be programmed by someone who is good at planning.
The human resource allocation of software projects is roughly in line with Norden-rayleigh curve distribution. So what is the Norden-rayleigh curve?
The horizontal axis represents the entire duration of the project, the ordinate represents the number of human resources needed, and the dashed rectangle shows the problem caused by the average use of manpower: the initial stage of manpower surplus, resulting in waste (1 regions); Manpower shortage (2 area) for late development ; Later compensation time is too late (3 regions) It may even be the case that Brooks the law: "Appending a new developer to a project that has been postponed may lead to the completion of the project later".
Essential Communication Management: Communication Management is the collection, storage, release and final processing of various information generated during the project process, consisting of communication plan preparation, information transmission, performance report and the end of the phase. Communication, not only involves the communication of the project team within the programmer and project manager, but also needs the customer to ditch the project team. Lack of communication can lead to lower efficiency. For example, when a customer examines some of the results of a project phase, it points out that a product feature that was requested was not included, and the project manager knew nothing about it because the client was verbally reflected to the team members but the member forgot about it. Also, the module architecture described by programmers in the design review is very different from the architecture of software development, which is due to the lack of communication between the project manager and the developer, and the communication of the team.
About personnel Assessment: by evaluating we can motivate people and ensure performance. Good performance management can reflect the performance of the project members at a glance, all with data to speak, but also to reflect fairness. Performance appraisal sub-project performance and personal performance two parts, project performance from project cost, profit, completion plan, project quality, specification level, document level, technology, product and sharing degree evaluation project effect. Personal performance is assessed by employee self-evaluation and the combination of Project Manager assessment, professionalism, responsibility, personal skills, personal contribution, teamwork, work efficiency and completion. It is important to note that the performance appraisal is completely fair and difficult to achieve, so we should take encouragement as the principle, constantly improve the performance system, as far as possible to quantify the indicators to reduce the interference of human factors, and correct treatment of the failure of the project, the key to do is to carefully summarize their experience and lessons.
Five. Principles of cooperation
The development of a project, a project obviously a person's strength is far from enough, a team to build the completion of not equal to the completion of team building. Team building can promote mutual cooperation among members. First of all, for a good project manager, he needs to be an excellent project team builder, in order to ensure the effectiveness of the team, can be considered in the following aspects:
1. Be patient and friendly to team members;
2. Solve problems rather than blaming people, focusing on behavior and helping others to solve problems;
3. Holding regular and effective meetings, focusing on the achievement of project objectives and producing effective results;
4. Limit the number of persons in each working group to 3-7;
5. Plan a number of social activities to help project team members understand each other;
6. Emphasize the unity of the team and create the tradition that the team members like;
7. Recognize the performance of individuals and teams;
The communication management described above is also a part of the cooperative performance, and the learning organization atmosphere should be trained in addition to this. In the process of implementation of the project, the customer's demand is gradually clear and improve, functional requirements more rational and reasonable, not only requires the flexibility of the system, adaptability and scalability, the project members themselves to improve the desire is one of the motivation of learning organizations. Through the full participation in the learning atmosphere, combine the collective interests and personal interests, excavate the potential and wisdom of the whole project team, and enhance the competitive advantage of the project team.
Six. Conclusion
The author thinks that the project management in software engineering is a different knowledge than pure technology. There are a lot of knowledge in the field of management, which reflects the complexity of the system, as we have been learning to practice. At the same time, this is the embodiment of "people" on the one hand, the object is no longer just the machine and binary code. How to coordinate the relationship between people and the relationship between human and machine resources is the content of project management. As a good project manager should have a lot of such "humane" considerations, but also enable the task to complete efficiently.
The principle of balance in this discussion is a general principle that is followed in project management. Of course, more broadly speaking, the so-called "balance principle" is embodied in the management of various factors, such as the separate demand management, resource management within the balance principle is limited. Considering the "principle of balance", we should consider these factors in a comprehensive way and then plan an effective strategy.
Of course, project management is a practice, a kind of experience, only from books and literature content is not enough to let us really grasp the essence of it, these theories are summarized from the general examples, management theory from practice, and return to practice, when we really experienced a project development, management of a project, We can truly appreciate the existence of project management in the art of software engineering.
Reference documents
[1]. Roger S.pressman. Software engneering A Practitioner ' Sapproach
[2]. Shengzheng, Xu Wenhua, Han Yi, Tangjing. Software project Management, Tsinghua University Press
[3]. Liu Fenghua, Ningsio technology. Software project Management, China Railway Press
[4].http://www.workbreakdownstructure.com/work Breakdown Structure
[5].http://baike.baidu.com/link?url= Sfe2-opns4whqpeto8gd79on5hdmh0sdx5g533yjw1sj-tlhrxgt0of19vkrud9wedeuh6pjropkjw-3tvzt3913_cezsxyjjd1imklu_-_ WBS (Work breakdown structure)
[Some principles of 6].http://blog.csdn.net/bamboolsu/article/details/43918821 software project management
[7].http://wenku.baidu.com/link?url= FOLWC31SYBKG3MKPUNDALASNBHS9F-QKLEB7ZX7DMNQCMAKE1P8NPUZQCN9N6DOQBGJY2UKOJPJVUZS6KMFMNUI3FMIHBCHMJPYODHF3PSS Baidu Library The balance principle of software project management
On the balance principle of project management