#项目经理应该有这样的认识:
Internet projects will be scheduled to release a date, however this project has a hidden actual reasonable release date. Because software development is not a direct addition of resources can speed up the process, so the actual reasonable release date is the reasonable use of real resources under the premise of an objective existence of the most likely early completion time. The process of project progress is actually the process of discovering this hidden and reasonable release date.
From the management point of view, of course, it is possible to catch up with the planned release time, or as soon as possible to complete the project. But because of the influence of many factors, project management is a process of waste and haste. If the plan is released earlier than this actual reasonable release date, the more you go to this unreasonable date, the more problems accumulated in the period will result in the late end of the outbreak, the result may not even be reasonable release date. Borrow "Let bullets fly" inside a sentence, step too much, easy to pull the eggs. To the project team to set a reasonable visible small goal, step-by-step, a step-by-step towards the visible and reasonable each small goal, each small target accumulation, in order to ultimately achieve the success of the project.
So a pragmatic project manager should be aware of the following points:
1. The project team can move forward at a fast-paced pace, but the project manager itself must be clearly aware that we are in the obvious of the schedule release date, but the project team's actual goal should be the objective of the reasonable release time.
2. As the project progresses, that objective and reasonable time for release will become clearer. The difference between it and planned release time is also gradually showing. At this point, some project managers often try to shorten the reasonable release time by adding resources. But the real situation is that unless you have an unreasonable resource allocation in the early stage, it is not helpful to add resources to the project in this case. This place does not need to say more, the person who has the question, goes to see "The Human Moon myth" to know.
3. The project manager must have some persistence. Leaders or business departments often have some pressure to get the schedule published and ask you to do whatever you can to catch up on the scheduled release time. In reality, if you can adjust the scope of some of the requirements, you are still in a position. Otherwise, you want to be good news at this time, late ominous, want to be ominous at this time, later not worry. It can be fun to cover up a problem, but it doesn't mean that it doesn't exist.
4. What the project manager can do is actually 5 points:
A. Control of demand; B. Early detection problems, report and resolve; C. Do not appear resource idle state; d. Make use of each resource to do good things, quickly and effectively advance various tasks; E. Do not waste resources to do work that is not helpful to the overall project goals, or some of the requirements that may be overturned later.
Based on this understanding, this article has the following several points:
#项目责任感
The project manager should have this sense of responsibility and you will be responsible for any one thing in this project because it affects the duration of the entire project and you are responsible for the duration.
As an example, I found that the project now has an urgent problem that requires people outside the project team to help solve it. So I sent out the mail and told Wendy to hurry up and deal with the matter.
A few days have passed and Wendy hasn't dealt with it yet. I think I've got the problem out, and then it's Wendy's thing.
The problem was still unresolved and my entire duration was affected.
After the investigation, I said, I have sent the mail, is Wendy not in time to deal with.
Wendy said, "I have so many things, how do I know it's so urgent."
The project duration is affected, who is responsible? Wendy? No, it's me.
As a project manager responsible for the whole project, no one will care more about the progress of the project than you. Let a person who is not responsible to help you advance your project is far less effective than your own heart.
#项目经理是打杂的
Each of the professional members in the project team has an area of expertise and it is their pleasure to do what they are good at. It's not what they're good at, it's a chore for them.
The project manager must have a sense of this:
The project manager is a handyman, helping the team to get rid of the chores so they can concentrate on what they are good at, which is efficient for the project team.
In a simple example, when Tracy tests a feature, she suddenly discovers that she needs an account, while opening certain permissions on the account, and she needs some information about the server, such as the hostname and the path of some of the feature folders. But she does not know this account and permissions to find who open, these server information who has.
Tracy is a person who likes to do tests, but she doesn't like to communicate with people outside the project team, especially to ask someone in other departments. It's a chore for her, and she's not familiar with anyone else in the department. One question is obviously inefficient.
You can help her find the information you need, or find someone who is familiar with it, but you must not let her do it herself.
"Why can't my men solve such a simple problem?" If I were to help with this kind of thing, what would my project manager do? She was a project manager. "This idea is never advisable.
Your goal as a project manager is not to control people, to instruct the person to do what that person does. Your goal is simply to push the project forward.
#控制需求
Of all factors, demand has a minimum impact on the project, at least 50%. If you can control your needs, the project is half done. Control requirements, there are several points:
1. Someone must be able to be a good product manager in this role
In a project group, everyone can influence demand. But the job of managing demand is product manager. If you have a good product manager in your project team, congratulations, the project manager can be a lot easier. But the world is not so lucky, because in real life, not all product managers are so good. As a project manager responsible for the project, when your team does not have a good product manager, you must realize that you have to play at least half of the product manager, unless you are not responsible for the completion of the project.
2. To manage the needs of the people to balance the duration and function friendly degree
Demand actually has two extremes, one is perfect, as far as possible makes the function more friendly, the user experience is better; one is to deliver as early as possible, and all the need for improvement can be sacrificed.
To satisfy the former, the duration of the project may be prolonged, as the workload of many functions is actually optimized in detail, not the completion of the main process. Only to satisfy the latter, there is likely to be a user is very dissatisfied with the product.
A good product manager with experience or product awareness can balance these two points well. If the product manager is not balanced, it has to rely on the project manager to balance it. This, if the Product manager or project manager is not a genius, can only learn through experience.
For example, we are doing a registered page, which has a city input box. The city's input box can be done very friendly. If you want the project to be completed as soon as possible, we just have to let the user type the input box. A better design is a two drop down ring box, a select province, and then select the city. But a better design is to allow users to either choose or be free to enter pinyin first letter in this input box, Chinese characters, and then the system will display their own matching city to allow users to choose. The improvement of the latter two will certainly take time, but if these two kinds of improvement do not do, let the user just input freely, later maintenance will appear user input non-standard city data, if we need the user's city data to do some other functions, there will be the risk of error data.
3. Know how to say no to unimportant needs
If you can't balance the duration with the improvement of the function, there is a point you must be aware of, that is, you must understand the unimportant needs say no. This is simple, you say no to a requirement, as long as this requirement is not a core requirement that will cause other functional dependencies, even if the requirement is later found to be implemented, you can make up for it and the overall workload does not increase. But if you spend the resources to fulfill this requirement, and then find that the demand is unimportant or can be simplified, you have wasted some work. The price of the former is relatively small compared to the cost.
4. Prioritize requirements
The priority of the requirements should meet the following points:
A. Determine unchanged requirements should be completed first, if the project team to complete a number of functions, the results found after the need to change, some of the earlier work has been wasted. B. Requirements that are dependent on other requirements should be completed first, so that the development of dependent requirements is not blocked. For example, the login function, many login pages require the current logged in user information. C. The main process, or core requirements should be completed first, the improvement of the requirements should be completed. For example, the Information list page, many features require the user in the information list to select the records to operate. So the list of information is the core requirement. And in the Information list page, a column shows the beautification of the format, which is an improvement of demand.
#风险管控
Risk control is a very important skill for the project manager. A good project manager should try to put all the risks in the early stages and solve them all at once. A smooth project, from early to late risk points should be inverted triangle, is a lot of early risk, the latter less risk. And the project management is not smooth, then is a triangle, above the risk is less, to later risk more.
The project manager should identify all the risk points as far as possible. Suppose there is a point where you are not sure if he is risky, and even if we value it as a risk point in the early days, the cost is much smaller than when it bursts out later.
We have a very good example in reality. We have a feature that is SSO, let the partners go to call our interface to implement the login directly from their site jump to our site to continue using. Because of the third party, so we have some early fear that this piece will not appear anything uncontrollable.
But everyone is just thinking, not too concerned.
At the end of the project, it is necessary to connect with the third party site to test our SSO interface and the process is available through their site. As a result, the Third-party security controls were so stringent that external personnel could not access their sites. So our test work stalled over there. Behind the chicken flying dog Jump, the two company's it and the architecture group of people discussed to see how this problem can be solved.
The release time ended with delays.
#外部依赖最不可控
Risk management also has a point to keep in mind that the issues that the project team can handle are minor problems. People who need to be dealt with outside the project team are big problems. Because the people outside the project team are not being deployed by you, he does not necessarily expect you to be satisfied with the time, even if you are satisfied with the time, it may not really be able to ensure that the time to complete, even if the real completion, it does not necessarily achieve the desired effect.
#必要的时候, the task must follow
The project manager does not simply separate the task. If your developers are not very experienced, or have strong technical skills, and thoughtful thinking, then you should closely follow up the task you distributed.
1. You should often go to see the extent to which their task has been developed and, if possible, let him run it for you.
2. Ask if there is any problem, what can help him. Because it is possible that he has a problem in the tangle, but in fact you because of experience or learn more background, very simple for him to point out simple solutions.
3. In the course of your examination, you may also find some problems that he may not have discovered, or that are related to the task.
The progress and completion of the task is an important factor that affects the progress of the project. A key function of the project manager is to help each task move quickly.
#做当前, look at the follow-up
When we put the current needs of doing iterations, processes, dependencies, and other questions that allow the project team to move forward, the project manager should not focus on the current iteration, but rather begin to sort out the next iteration, so that when the current iteration is completed, there is no need to suspend it. To wait to comb through the next iteration.
To give an example, the current iteration we are doing user login function, finish this iteration, then we will do the first page display. When the development team is logged in, the project manager also follows the details of churn login over there. When the next iteration begins, the team finds that the home page shows only a prototype, that the UI and HTML have not been made, and that other features are less prepared. The team then had to spend two or three days in the UI and HTML.
#固定的项目组成员
This is a very simple request, but not everyone will take it seriously.
Just as a developer would not be able to speed up the whole project at once, the whole process would certainly be affected by another person.
#组员潜力
Every programmer, tester, art, product Manager is smarter than you think. If you don't have a clear understanding of your team's abilities, you can try to add some difficulty to his task, a little more than what you originally expected. He can do it, you can add some difficulty later. Until he told you directly that he couldn't handle it. If you think you already have a clear understanding, you should also remember, but you think.
We have a project that has a great programmer, joy, who is usually a very low-key person. When the project manager is assigned to a task, give him a few specific modules to complete. He also sticks to his post and does his job well. The project has been delayed for a variety of reasons. But joy was honest enough to do his duty.
Then someone told joy that you should see yourself as a dev lead in the future, and that all the things you developed would be integrated.
Joy was a very low-key person, and he continued to do his part, but this time he was co-ordinating responsibility for all development issues.
Then there's the problem of the project. One after another is quickly resolved, and other programmers get a powerful help to quickly deal with the bugs at hand.
The project progressed quickly to catch up with the original plan.
Are you really good at your team's potential?
#人人看到全盘
It is good that the project manager can allocate the task well and make the team work independently, but it is not necessarily good. Because software development is the work of a group, there is a cross between what people do. I do the function, next will call your interface. You make the page, next go to jump to my.
Bruce does a function that is to display a list of company personnel information. There is an operation, select a person to calculate attendance. The operation was not done by Bruce, who simply called Lisa's page, and Lisa's page calculated the attendance directly and showed it. Bruce knows, he simply pass a person's ID in the past can be.
Lisa does the attendance page because the person is a business person and often runs in a branch office, so he can only calculate his attendance at a certain branch. She thought everyone knew.
And so we are all finished, QA in the test, found in the personnel information list inside point, can not show the attendance page. The whole process is out of the way.
Later found that there are 2 problems have not been resolved, a staff information to jump to the attendance page to pass the current branch information, one is the attendance page to increase the choice of branch function.
One of these 2 problems is QA to detect bugs, one is the need and insufficient. This is a problem that should have been discovered and solved in the development cycle.
The root of this is that Bruce and Lisa did not think about the relationship with other people when they were doing the task at hand. And the 2 of them are not thinking about it, others are not thinking about it.
If Bruce or Lida is doing a task, think about how they connect with each other, the problem itself is simple.
Each person in the project team can focus on the task at hand, but the idea must be in the overall, we should always think about what the whole system looks like, my function depends on what the dependencies are. The project manager usually directs everyone to think so.
#一定要分成每一个小迭代
The pace is too big, you don't know if you're right, you're not fast enough. The project is impossible to step. A large target is decomposed into each small target, and the whole project duration is divided into several short iterations, one by one. Each of the small goals can help you clarify the progress of the project, direction, to help you review the current thinking is right or wrong, error, can also be timely adjustments.
#不做一半的功能
If we do 2 functions, but each of our functions is half done, how many functions have we accomplished so far? one?
No, I finished 0. A feature will never be able to determine if there are any missing features unless it is actually completed and checked by the product manager.
100 completion of 90% functions together, the completion of the function is still 0. You're very excited. There are many functions in your program, but you tried one after another, and found that each function was semi-finished and none of the functions could solve your problem correctly.
For semi-finished functions:
1. You don't really know how much work you have left, because the work that has been "done" cannot be verified to be really done.
2. You can't give a demo to a business unit or customer because these features aren't done.
3. If the business unit to let you pause, the first in accordance with the existing functions to let customers test, you will be dumb to eat lian, there are bitter can not say.
So when we do the function, we need to make sure that the function we are doing is really done, and we go on to the next function.
#不让细节影响你的目标
The team is easily immersed in the details of the feature, wasting a lot of time on friendly displays, flashy features or cool design, forgetting what the ultimate goal of the project is. Other people can put in, but the project manager must be able to get out of the business and focus on the overall project. Immersed in the details is easy to forget the duration of the project, forget the final goal.
Will the color of my message be too light?
Can I move the button 10 pixels to the left so that it looks better?
Would you like to have an automatic prompt in this place to be more friendly?
Do I need to use a gradient for the display of this panel? Will the gradient finish in 1 seconds be too fast? Will the user not see enough?
Will you finish the function first? There's plenty of time to beautify these.
#正确的里程碑要点
We touched a project, and the project manager reported that the current status was development complete. As a result, this is based on the task assigned to all developers, and the developer is identified as complete. So people think that the current development is completed, into the stage of QA testing.
As a result QA complained that the test was not going down, the process was not going through. The product manager went in for a look, and said that many places lacked functionality. cannot be identified as a development complete.
1. A project, or a short iteration, should first list a milestone that everyone agrees on.
For example, the framework design is completed, the requirements of decomposition are already available for development, subtasks are completed, subtasks are assigned and estimated, subtasks are completed, developer integration tests are completed, and product managers are checked; QA Test Passed.
2. The completion of each milestone must be validated in a way that everyone agrees
For example, how can you tell if a developer's integration test is complete, and whether the developer sits together or the development leader goes through all the processes and then discovers that there is no big problem?
#自我管理
So much has been said, it seems that the project manager is very important, missing the project manager the whole project will not turn. If the project manager's staff is fixed, but does not do the same project, then I suggest that the project manager on the basis of completing the project, must consider such a goal:
Set up a set of processes that everyone knows and will follow. This process ensures that the entire project team can operate well without the project manager.
What is the current stage of the project, what is the next stage, what are you going to do at this stage, what tasks to do at this phase, what to do with each phase, and who will handle each task or issue. These are not things that are difficult to learn. It's easy to understand what to do when a member of a project experiences several times. In addition to advancing the project, the project manager will also be able to teach the idea of the process and solve various problems in the process of the project, and define the responsibility of each person to reach the level of self-management of the project team.
A project team that can manage itself is a stable and efficient project team. The project manager can get out and do other things that are good for the department and for the company.
Internet Project Management Highlights View more documents from Seewingel