[Report by CCID] There are more and more software companies. to benefit customers and gain business, many software companies develop customized software services based on customers' needs. To be honest, this is a very difficult technical activity. I think it is not suitable for small companies, but large companies are eager to do these thankless tasks, that is, the pricing is high. However, some small companies often get the project at a low price because of their low HR costs. Despite the low cost of human resources in some small companies, the level of management is not high, the training is not in place, and the level of human resources is not satisfactory, you cannot make any money.
There are too many reasons for this result. One reason is the project demonstration problem. Today I will talk about another reason. Correct the incorrect description.
1. When the project encounters internal conflicts with the customer, resolutely say "no ". I once met a talented project manager who is a postdoc. I admire him and learned too much from him. But I think he is still responsible for not being good at saying "no" in a failed project. This project was originally a very challenging cutting-edge technology. The customer is also a powerful company. Originally, such cooperation should have been combined. However, at the initial completion of the project, the customer changed the project user, that is, the customer moved the middle-level cadres. Originally, this transfer was routine and not intended for this project, but it has had an extremely negative impact on this project.
Although the project is being tested, the new owner of the customer puts forward a lot of requirements, and these requirements make the project algorithm change from non-np to NP. In fact, the background of these problems is that the new project owner of the customer does not want to work along the original road map. He has his own work ideas and methods and needs to achieve his own achievements. Before that, he has developed a similar project and made some local work after learning some documents of the project. However, our postdoc project manager did not have a deep understanding of this meaning. As a result, he tried his best to reach these requirements. During that time, the project manager told me that he could not stay up all night and lost a lot of hair every day. Looking at his hair, I felt it was really difficult for the project manager. At the same time, I also felt that his high level had affected him, and he had no idea how to solve the problem because he had lost more hair.
However, even if the problem is solved, the project becomes much more complicated and the system running speed also decreases. The problem is not over yet, and the customer raises a new question. This has not been completed for a long time. Finally, there was no way. The project manager had to leave.
To be honest, at first I didn't realize that the customer didn't want to adopt a new project, but was forced by the pressure of the General Manager to reject it directly. These are also analyzed afterwards, but we have some more adequate basis. In the end, this project was disabled due to lack of maintenance, but the customer did not use another one or did not develop it at all. There was no winner in the end of this project.
What I want to say is that if such a problem occurs, the project cannot win, but the timely suspension of the Project Manager can reduce the loss of the Project Manager (and the company in which the project manager is located. At that time, the project manager was able to take only a decisive exit and had a comprehensive conversation with the General Manager of the customer to explain the situation and wait for the future to mature. I believe that although the general manager does not necessarily agree with you, it generally respects your decision, because all your decisions are based on a contract. "Two harms are the only right choice compared to taking them lightly. This is a tragic result, but not all in reality is comedy. In the project process, once an uncontrollable customer internal disagreement occurs, our project manager should only retreat in time (at least temporarily.
2. The project manager should promptly say "no" to the requirement that cannot be completed within the specified time ".
There are many uncertainties in custom projects, and it is difficult to accurately determine the completion time. However, I think it is worthwhile for our project manager to take time to figure it out. Otherwise, you may get stuck.
For example, your project is to design a raw material procurement workflow. So what you think of is not as simple as reporting for procurement, review, approval, and procurement. Who can declare? Who can review it? Who can approve? Is it approved by one person? How many people are competing for approval? And so on. These can also be thought of by designers at the beginning. What's more, is everything one report and one person's approval? Or should we treat them differently? If you want to treat them differently, can customers give you a clear classification? What if the customer wants to add a category in the future? Of course, raw material procurement involves suppliers and prices. Do you want to approve the prices and suppliers? Should the approval of suppliers and prices be classified? If necessary, can the customer provide a basis for accurate description of the supplier and price categories? Is there a problem of adding or re-classifying a category? If the project manager fails to figure out from the beginning that the raw material procurement process may include much more content than this, and some customers may not be sure or clear it, you don't know how long it will take to complete this project. To be honest, the customer is not an expert. It is impossible to clarify these problems with you at one time. People who have worked as project managers should know that, at this time, the customer is toothpaste. If you squeeze a bit, he will say a little. In fact, this cannot blame the customer, because it is impossible for the customer to still have time to plan your project. First, there is no time, and second, they really don't understand.
Therefore, the difficulty in saying "no" is not to say "no" itself, it is necessary to know the customer's stated requirements and the potential requirements to be fulfilled in order to fulfill the customer's stated requirements, and how long it takes. This requires the project manager to have a strong grasp of the project and be very familiar with the business.
3. You cannot say "yes" or "no" for customer requirements ".
Some project managers began to casually accept the requirements of the customer, and then found that they could not do it. If this happens, you can forgive me. If this happens, I am afraid the problem will be big. The customer has doubts about your capabilities and then the strength of your company. A good project manager should not do this once.
4. You cannot say "no" to the customer's detailed requirements ". If some content is committed to what the customer should do, then some detailed modifications requested by the customer should be met no matter how difficult it is. These details are generally problems such as Operation details, Operation habits, and operation efficiency. If you do not perform a major function, the customer will not be able to use it at best, but if you do not do it well, the customer will be disgusted with you once upon every use, it means you have invested in making negative advertisements for yourself. You hurt not only your own reputation, but also the reputation of your company.
There are still many questions about "no" for the project manager, but I don't have to say too much, because most of them are clear and everyone knows. For example, the Project Manager cannot say "no" to "5s.
I want to analyze the underlying causes of these problems. There are two main reasons for these problems:
First of all, some of our software companies have nonstandard management and low personnel quality. General foreign software companies and large software companies do not encounter the above problems, because of the management specifications of large companies, staff training in place. It is not in the human resources market that anyone can recruit can be a project manager. The project manager must undergo rigorous training. Some small software companies do not have any internal training, that is, they do not know what to train. If such a company does not improve and does not introduce real talents, it will collapse sooner or later. If a customer signs a contract with a company like this, at least the project is inefficient or even fails, and both parties are injured. Training for project managers is a big topic, and I really want to write this content well when I have time.
Secondly, our customers are not mature and need to be trained. The customer hopes to make a small amount of investment and get more returns. As a result, these small non-standard companies can get orders, while those large companies are too high because the quotation is realistic, the order is lost. The final losses include our customers. Some customers still lack experience in communicating and cooperating with software companies, which is also a problem. The customer's inmaturity makes it possible for us to protect our interests only by giving up some orders. The key is to train the customer to identify the eye of Venus.
In general, I do not advocate the customization of software, it should be made into a standard version. Customized products require software companies to understand all the customer's business processes and company culture in a short period of time. This is almost impossible, so the input-output ratio of customized software is generally not high. Software Enterprises must have their own products and rely on their own products to survive and develop. Software companies can make software products as easy as possible to adapt to various possible situations through simple configuration, rather than temporary design of software.
However, in the current situation, customized software is inevitable, and the market is still large, so it is worth exploring. Therefore, for some small software companies that are not well-managed, you can achieve a career by practicing internal skills.
(Responsible editor: Cui Ping)