Reincarnation in software development
Wu Yu
Taiyan Network Studio
Buddha said: software development is hard to survive. Reincarnation is the source of public difficulties.
BrooksSaid: there is no silver bullet.
I said: it is useless to believe in any brother that has never appeared on the other side.
(1)
"First pollution, then governance"It is often used by backward regions to develop the economy. For officials eager to show their political achievements, if pollution hasn't reached an intolerable level during his term of office, then pollution will be good. Whether or not governance is required. The next official will handle the issue based on the situation.
Unfortunately, this is the vast majority of software development efforts. Why should we "pollute" first? For most of the reasons, you may want to cross the river by feeling the stones, but you do not expect the river to get deeper and deeper. Or you may want to know which ones can be solved first, and what the burdens and problems will be discussed in the future, however, I did not expect that the cost of dealing with these problems would be too high.
In fact, I have taken over many such projects or programs. After profound reflection, I felt that software development is actually a complicated system project. It is really not difficult to build a dog nest, but it is necessary to think carefully to build a tall building! Basically, this kind of thing is because you think too little at the beginning, and then it will become a situation that no one can control.
(2)
Technology is not a problem, but demand is the key.The interests of project stakeholders are too complex, resulting in unclear requirements, rather than technical implementation. This is particularly prominent in the past ERP implementation. The conflict of interests between different departments is determined by the technical staff. If it is a number, it can be greater than 0 or less than 0, but it cannot be greater than 0 and less than 0. Software Implementation cannot resolve conflicts of interest.
A few days ago, I also encountered a situation where such a requirement was not clear. Someone came to me and said that some data with 0 should be filtered out, and some data with 0 should not be filtered out. I told him that there is no technical problem, but the rule should be given by the demand side. He replied, well, I'll go to the project manager. Then the project manager never looked for me again. In my opinion, if I do what he says, it may not be time to jump out of a person to say that I did not do anything.
(3)
What do big leaders pay attention to and what can they do well.This sentence is a tearful Summary of colleagues in the industry. Two peer-to-peer departments are still quarreling, and multiple departments are simply arguing. Either the problem is not fixed, or the process gets worse and worse. Some middle-level cadres will leave problems to the future in large quantities for the benefit of their current term of office. If many solutions are temporary, but they will not be sorted out in the future, the "Broken window theory" is the best summary of the project.
The advantage of a leader is that he can coordinate the positions of all parties and balance the interests of all parties so that the project can be promoted normally. Once the work is on the right track, most of the subsequent things are well resolved.
(4)
Rational computers and willful programmers.I interviewed a programmer two days ago and said, "C contains pointers and references in C ++. The other party will immediately answer the question: C can also be referenced. My head was big at the time, not to say that I could not answer the question, but to say that the other party was confident and confident at the time, simply suggesting to me how smart and professional it was. I found that some technical staff are very conceited about their own knowledge, and even dare to talk about what they do not know at all. Technical personnel should be smart, but the purpose of technical personnel is not to prove that they are smarter than others.
I asked a programmer to complete a task a few days ago. Then I asked him what difficulties he had with the task. As a result, he transferred me a bug and said that the problem was very serious. After reading the bug for a long time, I found that there was no connection between the bug and his work. I asked: this bug has nothing to do with this task. He said, yes. I said, what are you going to do with me? He does not speak.
I thought about it for a long time. I guess he just wanted to cater to me, but he didn't take the bug seriously.