Almost no university project is completed by time. It is time-consuming and time-consuming. Each time the teacher preliminarily estimates the time required for this project, my head subconsciously thought (the teacher estimated the time * 2, * 3, or more), and the worst project was estimated to be one month, it took a year to end. The actual time = estimated time * 12. My day, it was estimated that it was done in a place like a school. After the enterprise arrives, it is normal that the actual time is two to three times the estimated time. This is still the case where the demand is clear to more than 85% and the demand is unclear, it's time.
At the beginning of the project, the customer briefly described the requirement and developed it to make it easy to speak for a while (sometimes the demand analysis cannot be completed at this time). The intermediate customer changed the requirement, the developer claims that "It is definitely not a problem" (the customer needs to meet the project's human feelings, relationships, and so on, and the customer needs to change points. Generally, it is not very easy to say that it is time to add time, A lot of work is not done yet (the project team has been working on the night shift for several days). Let's demonstrate to the customer and tell the customer about it, then let's improve it again (the customer will also ask for new requirements), so we don't know when to perfect it. When the project was mentioned, the developer scolded the customer and the customer scolded the developer as an asshole.
I do not know how to estimate the time for the moment when the demand is unclear (I do not know how to estimate the time. I would like to share some tips ). But why are we two to three times or more estimated time when the demand reaches 85% or above? I want to blame ourselves for this situation, in my summary, there are two types:
1, Say "harm" to yourself I got a requirement or a technical difficulty. I looked at it and said, "This is easy, but it can be done in two or three days." This system is simple and can be used for a month ", it was really difficult to get started. It took n two or three days, or it took n days to get it done.
2, Others say "harm" to me or the entire group This person usually refers to market personnel. In software companies, there is basically a competition between the market and technology. In China, due to various reasons, it is often dominated by the market, market personnel feel the time required, and the technical personnel must follow suit. You say to him, "there is not enough time." generally, they will reply, "add overtime and seize the necessary time ", he often estimates the number of days, that is, working on a 24-hour basis is not enough (even more out-of-the-box). Besides, the market doesn't understand technology, it is not surprising that the actual time is often three or four times that he estimated. You directly told him that your estimation time = his estimation time * 3. Will he accept your superior's IQ from the aspect?
After a while of suffering, I still have a little bit of experience, as shown below:
Problem 1 is easier to solve, because it is much easier to change ourselves than to change others. At the beginning, we may boast about Haikou. With the wealth of experience, estimation of your own time will be slowly around the corner, and that's what I do. When I first graduated from college, I got a task and looked at it to estimate the time (usually very short, in order to express myself, plus strong energy). I couldn't finish my work, I just need to work overtime (there is nothing to do). I also know how many hours it will take to complete the task.
However, when I first started to bring a group, I got a task and I estimated the total amount of time I would spend, and the number of people in the group would be me, estimated time = the total time I need and the number of people in the group (so stupid, don't you have to talk to the team members about the task? Are all members of the team me? It's better than me. At most I had to finish the rest, but it was a little too much trouble.) As a result, there was a lot more time. Later, I learned the lesson. After getting along with the people in the group for a long time, I had a deep heart. Who is better than me, how much is better, who is weaker than me, and how much is weaker? (It is best to make energy, so it is difficult to rely on it ), In this case, we can calculate the approximate time, and then talk about the task with the team members. The basic estimated time is no less than 10.
Problem 2 is quite troublesome. superiors (non-technical personnel, market personnel, and so on) usually estimate that the time of a project is far from the standard. It is said that the project leader is frightened, I usually call this a satellite. In the face of Satellite placement by superiors, it is necessary to persuade superiors to adopt our time or let their superiors accept this time (in special cases). If the superiors are non-technical personnel, they generally estimate the time based on their feelings, therefore, do not try to prove others' feelings of time with the time they feel. (Why are you right? I am wrong. My superiors certainly won't adopt it. Instead, they will make your superiors feel that you are not active in doing things. They want to take time, be afraid of hardship, or fatigue, and bargain for tasks, I also made such a mistake in the early stage and left a bad impression on my superiors.) I summarized it and found that it was necessary to persuade my superiors.
1, Well-founded, speak with data . When there is a big gap between the estimated time and the estimated time, the superiors should not express their estimated time in a hurry (this can easily lead to direct opposition, the subsequent exchange meetings will be very stiff). You can first describe the basis for the launch time and the data support, then, in front of the superiors, we can calculate the estimated time based on this basis. The old saying is "Cloud": "Yu is better than words." Certainly, the superiors will accept it with pleasure. (After all, everyone is trying to do a good job)
Experience:
There is a project (information system with clear requirements). After the database design is complete (more than 120 tables), my superiors (market personnel) told me: "This is simple. It takes up to 15 days. What do you think?" At that time, I was so angry when I heard it. At that time, I estimated that the time was 45 days (three times worse ); first, I expressed the gap between my time and his calculation (but I didn't directly talk about my time), and then I listed several information system projects that I have done in the previous company, as follows:
Project A, 3 persons, 60 days, 140 database tables, 0.8 tables per person per day on average
Project B, five people, 30 days, 110 database tables, 0.7 tables per person per day on average
....
Then I told him: now we have improved our efficiency, and the project is tight, so we will get off work. In the big budget, each person will process one table every day. There are 3 members in the group, that would take 45 days. Finally, I laughed and made a joke with him: our group worked 24 hours a day for 15 days, and it was a little stubborn! (At that time, all of you laughed ). At that time, my superiors thought about it and then adopted my 45-day plan.
2. assign tasks to team members, ask the superiors to communicate with the group, and rely on the strength of the masses to persuade the superiors, in turn, each team member promises the development time in front of his superiors, which is also a spur and encouragement to himself and is conducive to the completion of tasks on time. the group leader separately told his superiors that he was under pressure at the top of the government, and he was a little scared. Invite him to the group, and naturally become more brave and strong. I will show everyone's development tasks to Him, and everyone will talk about their views on their own tasks. What is the difficulty, how long will it take to complete the process (refer to the first article, which is well-founded and uses data to speak), pay attention to the control atmosphere, and try to chat as much as possible. Don't get stuck in the atmosphere, and finally make a summary by yourself, confirm the total time. When the superiors face the power of the masses, they will generally agree with your estimation time.
in special cases, if the upper-level team is responsible for his estimation of the time (there may be many reasons, he thinks that he is right and the customer is damaged ), it is impossible to persuade the superiors to use their own estimation time. It may take several days to add more, but you must have a project estimation time in mind, even if this time is 10 times the time specified by the upper-level personnel (it is better to have a relatively reliable and reliable time), I always think that the time for completing a project is much, it's not because my superiors have been pressing for a short period of time. (I found that I can't do much work overtime, but I don't know how everyone feels ?), Many times, superiors would rather you last extend or drag n times his estimated time, and do not adopt your N-X times more reliable time (a little helpless ). If you don't know what it is, it will be very depressing (because every delay, the whole group will feel very tired, it may be because of a sigh of relief, and then decline, three and exhausted; the more delay, the more people in the group will get tired.) in this case, you can secretly follow your own plan and keep the delay until the estimated time is OK (this is the estimated time for putting satellites, if the gap is not big, you can hurry up and work actively.)
Finally, let's summarize the estimated time: reasonably estimate the time and persuade the superiors to use it. When encountering a satellite-style project, you must have a bottom in your mind and cannot blindly follow the scenes.