Thoughts on software process improvement (original)

Source: Internet
Author: User

Preface

The point of view in this article may be somewhat biased. In fact, I also admit that many Western management models are very good and have indeed achieved some great achievements. But why have we migrated them to China, there will be many qualitative changes. Why do we always like to do some face-to-face engineering, instead of actually doing some basic work and truly meaningful work?
At the time of writing this article, many students and netizens have helped me a lot. In order to better elaborate on my point of view, this article also cited the opinions and explanations of some experts, thank you first. At the same time, I sincerely hope that our software industry will have a better tomorrow!

Body

After learning software process improvement, I often think about a problem, that is, when you mention software process improvement, it must be CMM cloud, it seems that software process improvement is CMM. In fact, as a discipline, software process improvement involves many aspects. CMM is only one of them. I personally think that software process improvement is very beneficial to the improvement of China's software quality and development progress control. Why do we say this? I can give an example in our real life. I don't know whether you have eaten western food or not. If you have eaten western food, have you found that no matter how many times you have eaten it, it seems that it tastes the same. Let's compare Chinese food. Do you dare say that every time you eat it is a taste? Especially when there is a change of chefs in this restaurant. Why does a Chinese restaurant affect its business or even shut down because of the departure of a chef, but not a western restaurant. Careful analysis is not difficult to understand. This is because the western restaurant has formed a standard for how many dishes, how much oil, salt, sauce, and vinegar are used for each dish, the operation habits are formed, and it will not be unable to continue because someone leaves. However, our Chinese restaurant is not like this. It only relies on a few high-level chefs to support his operations. It is easy to imagine how much influence these people will have when they leave, but if they are less, they will have an impact on the business, or even close the door. Are we even less likely to see this? Let's look at the software industry in our country, and the operation methods of Chinese restaurants are quite similar. Do we only lament that we know today when we get to the gate ..., it's late.

Someone may ask me, so we can also adopt CMM like in Western restaurants (many people talk about it, and they are very intelligent, in fact, the purpose of CMM is only a little bit of knowledge.) to manage our company, will it solve the problem? This is more like a patient asking the Doctor with hope: "When will my illness be good ?". Here I don't want to combat the enthusiasm of many enterprises preparing to implement CMM. I just want to say, "Do you want to see if CMM is suitable for your company? Does your company have the ability to implement CMM ?". Speaking of this, let's take a look at the actual situation of small and medium-sized enterprises in China: weak management foundation, insufficient resources, high survival pressure, lack of a unified and powerful culture, and poor personnel quality. In this case, is it true that the implementation of CMM can make a great effort to save your company? I am very skeptical.

Some people will say, don't you be so pessimistic? Do you think our country does not implement ISO9000 well? Don't worry about it any more. When I hear this, I can't help but ask, "Is Our ISO9000 really well implemented ?". Please allow me to tell us another story: "A person selling oil tea outside the East Gate is excited and told people that the oil tea I sold has passed ISO9000, come and eat. ", I think everyone may be scared away by him. Who dares to eat his oil tea. First of all, I want to declare that I do not mean to insult ISO9000 here. I just want to say whether ISO9000 is rampant in China. I remember a unit I once worked, in order to do everything through ISO9000, in addition to self-deception, there is nothing left, I don't want to say anything more, maybe this kind of thing too many are strange, numb it. To be honest, I don't want CMM to be the same as ISO9000.

In fact, we all understand that what is the purpose of implementing CMM and ISO9000? Isn't it our hope to improve the quality of our software? In many cases, we forget what the real purpose is. I think the biggest goal of an enterprise is to make a profit. If we don't win, we can't survive, because we cannot survive. Do we need to consider some face engineering? "Maslow's hierarchy of needs theory" I think everyone knows that survival is the biggest requirement, and it is the basis of other needs. Everything that leaves existence is empty. I think this is quite understandable. When you have problems with your survival, will you consider other issues? I don't think so.

Let's turn the topic back to software process improvement. As long as a software enterprise is developing a product, it must have a software process. When this process is not well adapted to the requirements of the development work, it is necessary to improve the software process, like productivity and production relationships, when production relations cannot adapt to the development of productivity, reform is necessary. In fact, for the software industry, software process improvement is not very difficult. Because it neither requires us to write an operating system nor is it as technically difficult as designing a microprocessor. Therefore, our own efforts may soon be achieved.

So how should we make improvements?
First, we will compare the status we want to achieve with the current status to find out where the gap exists. Next, we should decide which gaps are to be changed, whether they are all or some, and to what extent. Then, we must formulate specific action plans, including implementation, implementation in stages or at a time. The last step is to execute the plan and adjust the plan as needed during the implementation process. As long as there is development, there will always be improvements. Therefore, we must sum up the experience of this round of improvement and start the next round of new improvements.
At the same time, a software development organization must understand the level at which it is located, and then be able to solve relevant problems based on the special requirements of the level to get twice the result with half the effort. When any software development organization is committed to improving the software process, it can only evolve from the hierarchy to the next one. That is, the evolution of the software process is gradual, rather than jumping. In addition, when a certain mature level evolves to a more mature level, the existing capabilities at the original level should be maintained and carried forward.
After talking about this, I must make it clear that software process improvement is never achieved overnight. It is a long-term and arduous process, and its implementation needs to begin from strengthening the enterprise's own management, there is no good parent, and it is no longer excellent in excellent things. Let us understand this sentence well. "The establishment of an enterprise's software engineering process will not be perfect at the beginning, and the internal and external environments of the enterprise are constantly changing. therefore, the software management process must be constantly improved. Without process improvement, the best system will gradually become outdated and inapplicable, and it is even less likely that our software development capabilities will gradually mature ."
In short, whether an enterprise uses ISO9000, CMM, PSP, TSP, etc, I think how to effectively plan and manage the project development tasks it faces, in addition, it is most important for the development team to always complete the work in the best state.

The "Software Crisis" still hangs over us, so we cannot relax. I firmly believe that as long as we stick to improving the management of software engineering and sum up the appropriate experience in practice, we will be able to achieve good results.

 

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.