How do I implement this project? -- Why are we programmers always so tired and so bad? Reply in the article

Source: Internet
Author: User

Why are we programmers always so tired and so bad? I listed a small case and left a tail at the end. Here is a answer.

In fact, the above small case shows a combination of some real projects, which is basically consistent with the actual situation. In my opinion, let's talk about this case. The obvious problems in this project are: no developer is involved in the project in the early stage; the project is relatively casual to start, and there is no formal kick-off; the project owner lacks the project management capability; the scope of the project is too unclear; there is no full communication with stakeholders; the plan is too poor; there is no project work tracking and monitoring; and so on.

This case looks like a small case, so we will not include all the nine pieces of PMI.

To put it simply, if I want to do this project, I will focus on the following:

1. Identify the main stakeholders of the project and fully communicate with each other

Stakeholders of this project should not be very complicated. I am most concerned with the product initiators of this project, such as Party A, end users, and project team members. The purpose of communication is to grasp all the people involved in the project and their ideas, such as what Party A and end users really want (in my experience, it is often different from what the presales or marketing staff tell me); the current situation of each member of the project team. I have a deep understanding of all aspects of the project (more popular, haha ).

2. risk identification and response

Risks cannot be specified for this project. However, I think the risks should be considered by all large and small projects. Some people may say that I have never done risk management. In fact, many people do not do risk management consciously, but actually do it (it is very important to do it from being unconscious to being conscious ), for example, I would say: Boss, Will Mr. Smith leave in the past few months? What if I leave?

Project managers should think about the risks that may lead to project failure based on their own experiences and experiences, and communicate with the boss to get help and solutions from the boss. Try to remove some potential obstacles, or say hello to your boss and find a solution if you cannot avoid them. In addition, risk management is carried out continuously during the project process. The project owner should always observe and feel that there is something wrong and there may be adverse factors for the project.

This is very important. If something goes wrong, you can't say "I thought it was like this" or "I didn't expect it to be like that" to the boss. The boss doesn't like this.

3. clarify the objectives of the project and determine the scope.

In this project, what should I do with my members? What is not required? You have to think about it first, instead of just thinking about it. Many immature project owners often make such a mistake: after talking to him about a project, he immediately showed up in his mind that he was dragging controls and writing code. In this way, the project progress estimation will be too optimistic because of incomplete consideration, and the last thing to do will be flustered. As a result, it will be too late or too late to handle the problem.

Scope determination should avoid discussing requirement details; Scope determination should be taken into account at the project manager level. The common problem is to consider only a few functional modules and program source code, and even forget the test.

My advice is to refer to other mature project WBS, which can help you think of a lot. If not, you can only think about it yourself. You can follow the following ideas (the basic idea is to do WBS ):

(1) How many stages do I have to spend on this project? Anyone who has learned something about software can speak out (what needs, design, coding, testing, and installation ).

(2) What should I do at each stage? In the initial stage, should we gradually establish a demand model, build a technical prototype, and communicate with customers? In the next phase, should the system architecture, implementation mechanism of some system problems, development standards, and preparation of development devices and environments be integrated? We will not forget the encoding. Then I want to test it? Then defect and regression testing should be repaired. If a trial is installed for the user, will the deployment file be installed with the installation package? Do you need user manual and user training?

(3) Let's see if the above-mentioned items need to be divided into finer items. For example, the requirement model may include the case description, non-functional requirements, and data requirements. The implementation mechanism may include the object persistence mechanism, Exception Processing Mechanism, and data cache mechanism; testing may include training testers, designing test cases, and executing tests.

(4) Let's see if you can estimate the time to complete these jobs with confidence. If you are not sure about the next split, "the next one cannot be removed.

(5) show the project scope that you think you have already considered to be comprehensive to the project team owner, the project team owner, and other project managers, and check whether there are any missed items. If yes.

(6) The last thing is what you and your project team need to do. What? What should I do if something else is missing? Then there is no way to do it. It can only be used as a lesson.

In fact, the scope also has a lot to do with the development process of the Organization. If there is a clear development process (such as RUP), there will be less to forget a lot.

4. Determine the project milestones and project completion time;

Milestones divide the project's overall goal into milestones for completion. Milestones are the time baseline of the project. Generally, milestones can be developed based on the model of the development process. For example, there are four major milestones (initial phase completion, essence phase completion, build phase completion, and delivery phase completion) in the RUP ). Simply put, we will implement it in stages based on what we have figured out above. What do I need to accomplish and what do I need at each stage and every stage.

5. frequent communication with customers during the project process to show our work results

This is very important. There are many advantages to doing this: let the customer know that you are actually doing things; frequently let him see your work results, once you have deviations, it will be discovered immediately; can enhance mutual understanding, do a good job in customer relationships. There is something worth attention in the middle. our communication with the customer should be feasible and effective. This is very important !! What I often see is to write dozens or even hundreds of pages of "requirement documents" to the customer, and then say "you give me three days to confirm the signature ". Who is willing to read dozens of pages of text? There are also many technical terms, and no one else can understand the pictures? Also, based on experience, there are not many people who can write the required documents in a decent manner. Most of the time, the boss told two developers to write it out. What does it mean? The languages required are like novels and essays. I am not blaming developers, but many bosses and development managers have not realized how to enhance training for developers. Such behavior is "not feasible ". Users with good temper may not say anything. "hmm" has passed, but they won't sign it. The bad temper directly said, "you write this I don't understand, you have done it for me to see, where can't you change it "!

What should we do? Such communication is necessary. If you do not do it, it is a very embarrassing trap. I have several suggestions:

(1) with an interface prototype, customers like to see real things. When they see the interface prototype, they often have problems;

(2) In order to increase readability, you can split the entire document into a small article, and you will accompany him to explain it to him one by one;

(3) Pay attention to the consistency and humanization of the layout and style to improve readability. Multiple images should be shown in the document.

It should be emphasized that the interface prototype cannot replace the requirement.

 

6. Determine the approximate completion time of each deliverable;

The more detailed the information, the smaller the Work Package, the higher the controllability. Looking at the completion of a work package, my heart will be step by step, as if looking at a brick base to the wall. If a problem occurs, it is also a small scope, but it is detected in time and the Correction cost is not very high. When estimating the time, pay attention to leave room for proper consideration of the possible rework time.

7. Regular meetings of the project team;

There are many functions and functions for meeting. There are also many kinds of meetings. The project group meetings should be light and simple. Through the meeting, you can understand the performance and running status of the project team. Through the project team meeting, you can also enhance communication and reduce problems. If your skills are good enough, you can also enhance team building and cohesion at each meeting.

Sometimes, you will find that there are no problems without meeting, and you will find many problems as soon as you start. Do not treat everyone as a task bearer with high self-consciousness and initiative. Even those with a strong sense of responsibility are also relaxed.

8. Check the progress and results of completion of each task and confirm that it is indeed completed as standard;

Each task must be tracked. Whether the work is being done and how it is going. When your project team member tells you that he has completed the task, you must check whether the task has been completed. I often encounter such a situation. He ran over and told you: I am done. When you saw it in the past, he would say, "Oh, it's a little worse." "I only need to change it." "That's not working now, but it's changed very quickly. Just two days ago, I encountered such a problem. A new colleague ran over and told me that a module was ready. I used to see the demo. As a result, he said: this part was done by XXX, there is no link. Then I said, you have finished the chain and I will see it again. After a while, he came over and said to me, "That piece has found a big problem and may take two days ". FT!

Eric, bleum's boss, said that if an Indian software engineer told him that the job was okay, he would believe that he would not check the job, but if a Chinese software engineer says the job is okay, he will confirm it.

9. Make the communication hub ready.

The project manager should be the communication hub of the project team. The information of all project teams is gathered here by the project manager, and then distributed to relevant people. If the function of this hub is poor, it would be difficult for this project to do well. How can I say that the project manager spends 90% of his time communicating?

Project managers have to deal with many aspects: customers, project team members, technical support, marketing department, other relevant departments of the company, senior management of the company, functional managers, etc, if it is further refined, you will find at least 20 potential communication channels. It's not easy to do well.

10. make a summary of the phase and the final project.

Frankly speaking, many project teams are busy with people, taking off their hands, and flying when they are almost done. Why? The tail of many projects is not clean. Who has the mind to review and summarize? However, this is an important part. Without this link, we have suffered a loss, and the company's development level is always like this, without accumulation or improvement. The same is true for individual members of the project team. All the mistakes made are forgotten. The hard work you have suffered will be taken the next time.

 

The above is a general discussion based on some issues, and I have mentioned some of my experiences and practices. Right to chew when a person who is at the same heart beats a song ~

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.