Author: Leo, Morning of my classmates (Leo) is currently working for a software company. Before a while, under my proposal, I interviewed him with a private identity. We have exchanged multiple times in Mail. The following is the finished conversation, main content covers: project management, cmm, documentation, version control, etc. I hope this article from "first-line" will bring you inspiration, you also welcome everyone to discuss together, and give money. In the following article, M represents me, and l represents my classmates. Disclaimer: This article is copyrighted by Leo and Morning. This article has earned earnings to the author's personal homepage, welcome everyone to visit: http://morningspace.51.net [Open] [M] Can you make a brief introduction to your current software development? [L] First, our company's goal is software outsourcing, because the timing is not very mature, or there is still no powerful market competitiveness, so we have to do domestic projects as a transition. And our company is a resource company. The so-called resource company is also a short or long-term to provide customers with certain human resources. For example, an item of IBM suddenly requires a lot of people, but they don't want to recruit themselves, so they will come to our company. As for the fields I have, mainly the establishment of channel sales networks and maintenance, which belongs to e-commerce. Most of them are some projects for specific situations within the enterprise. [M] How is your Team Work size? [L] The biggest project group that I have experienced after I entered the company is 5 people. In our company's general projects are 5-8 people, the small project is basically 1,2 people. [M] In Team Work, what is your duty, what role? [L] is both Coding personnel and also serves as the role of the project manager. [Project Management] [M] What is the main responsibility of programmers in a Team? [L] As a programmer, the main responsibility is to keep the project manager allocated on time. In CMM, you emphasize everyone's overall participation, project process documentation. Therefore, as a programmer is implemented in the process of implementing CMM, it should not be just a Coding role, but also to participate in the documentation. Because the project process documentation is a big workload on the project manager in the CMM, a part of the document must be handed over to the programmer, so the programmer has more work, writing, and maintenance. work. There are also programmers to participate in the overall design of the project manager, as well as the design of the design of the framework structure, and it is necessary to realize that if the project manager's wrong responsibility is in him, the direct increase in workload is the programmer. As a programmer, you should pay attention to the code specification and the writing of the comment. [M] So, what is the main responsibilities of the project manager in Team? [L] As the project manager, the main responsibility is to complete the project on time in a certain amount of time, and reach the customer, the company is satisfied. In the project group, it is necessary to treat this project with a positive attitude. If you have to work, if you overtime, the project manager must come, even if you come, there is no too much use, you will have a heart. To oversee the progress of the project, this is a crucial point. For example, in the project management system we have finished for a long time, although I am a project manager but I am can't be breathed by the code, therefore There is no time to come to the REVIEW programmer's code and work, and my Owner did not do this. Although the project was completed on time, I felt a great hidden danger. The project manager should also use it. Pay attention to the accuracy and complete project documentation.
The project manager plays a coordinating resource between the project team and the company, as the project manager is in contact with the project management department, and the progress of each other in a timely manner is to do things according to the company's standard. If the process is found in the process, there is not enough time, and the human hand is not enough, and it is necessary to reflect to your leadership to reflect the increase in human hand or deprivice. The project manager also plays a coordinated role between the Development Department and the Test Department. To help the test department build a test environment, to allocate Defect submitted by the Test Department to monitor the completion of DEFECT. The last most critical is the responsibility between the project manager in the company and the customer. The project manager plays a bridge between the company and the customers. It is necessary to explain the company's recent situation to the customer, but also timely and accurate customers. Reflection to the company's leadership. Therefore, it is necessary to pay attention to your own speaking tone, what is the method of doing things, etc., otherwise the consequence is to leave, like my Leader. When I encounter customers, I must report it to the leadership when I can't hold it, because in case the company's relationship is stiff, this responsibility is not affordable. Treating customers is not humble. [M] What role you said is what role? [L] Owner's concept, may be a characteristic of our company in the IT industry, because our company's project manager is very young, there is no experience, so the company will allocate a project manager, then assign an Owner, in the project Manager management this project. However, Owner generally has no effect. Most of the work is completed by the project manager, but Owner may play an absolute effect when the project process has major changes. This Owner should be equivalent to the role of the company's department manager. [M] In communication with customers, have you or your colleague has an unpleasant experience? How to deal with this situation? [L] I think it is necessary to do it in contact with the customer, and for the needs of the customer, there is no revision of any complaints, if the scope needs to be bargaining. However, there is a problem with one way. I don't have good to do it, but I need to exercise slowly. For example, we have just completed projects, after we installed delivery, customers need to modify certain things. My Leader directly said that this is a need to change, and my Leader is very proud, talking, not paying attention, so being complained, the customer is very stiff, and the final end is the company's removal. So now I have encountered demand changes, I will never agree, I'm talking back to the company to find a leader. Of course, I really look for the leadership. If the leader says let me tell the customer to pay, I will say a change, may charge, if the leader said, I do it. Anyway, there is any problem with leadership. If the customer's relationship is very stiff, it is necessary to flexibly. For example, often call the software operation, the speed of the bug update is fast, etc., let customers feel that the company value them. I have to pay attention to the customer, I have to show 200% power. If you mobilize the company's technical masters to solve a problem, there is still no result, it may be necessary to consider replacing another way. [M] In your company, it seems that there are more requirements for project managers in technology. Some companies seem to be more important to management and resource planning, and some may not know much about technology. What do you see about this? [L] It should be said that our company's situation is more special, or China's mode is like this. The project manager is generally starting from doing technology, slowly contact management.
Our company's project is generally relatively small, and sometimes the staff is compiled, which leads to the project manager being responsible for managing and resource planning, and participating in part of Coding, technical work. Moreover, project members have encountered technical problems, and the project manager must do our utmost to help him solve it, so the project manager must have a certain technology. However, our company is also slowly changing this situation. First, the project manager is assigned to consider the various problems that may be encountered in the project, and then their Coding work will be relatively small, most energy is placed in management and resource planning. And the resources planning and management of the project manager are gradually become bigger, and the experience is also slowly increased. However, I have never been real myself to lead a team, and the ability to manage and resource planning is not very good. The company's role is also slowly weak, specific with the customer's interaction, coordination with other departments of the company, collaboration with the test department, and the current project manager is a single person. [M] Does the project manager must understand technology? How do you see this problem. One of the cases I have encountered is to arrange a project manager and a technical person in charge in a Teamwork. Do you think this way is it feasible? [L] Personally think that the project manager is still better, but if you really say a project manager and a technical person in charge, it doesn't matter if the project manager understands the technology. There is also a situation that is like our company's workload assessment, such words managers can do not understand technology. I think the starting point of the project manager's appropriate technology is that the project manager needs to consider a certain module when doing the plan. If the module work has been estimated, the project manager can arrange the plan directly according to this workload. Many times, the project manager is estimated to workload in the module, so if the project manager does not understand this technology, I don't know the technical difficulties of a module, and the time to solve this difficult point, it may be Will not be accurate. However, our company now allows project managers to do not understand technology, because the workload assessment is the weighted average of many people. Our process is generally estimated after the project demand confirmation, this time you ask the project manager to split a lot of different function points in accordance with the demand function. In theory, the worse the split place, the more accurate the workload is. Everyone has an optimistic value for each function point, a pessimistic value, a possible value, and the three numbers of weighted average is someone's workload for a certain function. Many people's weighting average of a function point is the workload of this function. Finally, the offer to the customer is also reported in accordance with the workload. The project manager can formulate the project plan in accordance with the efforts of the company. Of course, encounter technical problems can be found to find the project management department to let them help find someone to solve. [M] In the small development team, do you think that members of the members are more blurred, or they have interoperable crossings. Personnel make up for each other, and it may be small to Leader. In such an environment, personal freedom and discipline specification are a pair of contradictions, how to deal with this contradiction, how to grasp this degree? [L] In fact, in the development team I have contacted, the responsibilities of members should be said to be more clear. One module is made, how time delivery is very clear, and the module with a function of function cannot be handed over to many people, unless the workload is large. As for the specific duties, I think the project member should be to ensure your code, the quality of the document, of course, he must also have a certain sense of responsibility. In the development team, people compensate each other for the entire project, so that the project manager does not have to help coordination technology, there will be more time to manage the project. In the development team, individual freedom and discipline norms are very sharp contradictions. For the grasp of the degree, it is more difficult to measure, I think as long as it does not affect the progress of the project, it does not affect the quality of the project, complying with the company's various norms, some issues are Can be introduced.
In fact, the key to development is a problem of Professional. It is within the scope of work, there is no reason to complete at time; it is not a problem within the operating range. However, the definition of the scope of work may be a problem. In fact, you can also understand this, if your programming is strong, only 2 days, complete the 5-day workload of the project manager, then what will you do in the rest of the 3 days? Continue to write the following code? Still study? I think it should be learning. You can't write the following code, because you don't know the follow-up work after the project manager arranged by the 5 days, maybe he wants to test a mid-stage test. But because you are eager to drive, therefore, the test can't be executed in his mid-stage test. Also, project members should be unified to develop languages, our company has an EPSON project, in addition to other members of others use delphi5, only this programmer uses Delphi6, can you say that the project manager is not angry? [M] What kind of institution is you mentioned earlier? [L] The project management department is a specially paid departments of the company, and chasing the project manager all day :). In fact, they are responsible for monitoring the entire process of monitoring projects, especially now to do CMM, but also the project management department. Because SQA, SCM, etc., all of which are always running throughout the project, and also play a more important role (see after SQA, SCM, please Therefore, the work of the project management department seems to be more important than before. And our previous project source code, documentation, etc. have backed up in the project management department, if you accidentally lose, you can also find the project management department, if they are lost, the responsibility is big. In short, the project management department is the process of supervising the project, controlling the quality of the project, and the participation of the project management department is required like a change. [M] Can I think that the project management is produced under the premise of the project team is not mature enough, it does both dominate the role, and the department, and the department is responsible for all the company's project groups? [L] The main job of the project management department is to track, manage the entire process of all projects. Special in CMM, I think it exists even more. In fact, it should not be said to be produced under the premise of the project team, maybe it should be said that as the project team is mature, with the company's norm, it may have to play an increasingly important role. [M] Why do you think the project management department matures with the project team, with the company's norms, will it play an increasingly important role? [L] I feel that with the company's standardization, various issues, processes, and solutions in the project process will have a good accumulation. The results of accumulation cannot be limited to a project group, a project member. In other words, it is impossible to have this accumulation, but should be the company's accumulation. The company needs to summarize this experience, save it, the project management department can play this role. Summary of project experience and supervise the implementation of the project, but also provide some experience to tend to take less. In CMM, the various operations of the project have strict definitions, and the project manager may not be very mature, or there is not enough time to cope with a variety of work. At this time, if other project managers are not very good, the project management department can send personnel to the project group and supervise the implementation of the project's specific phase. [M] How do you do what to do for the Review programmer's code and work? [L] So far, I haven't led a team to work alone.