Explore demand conversations
Pan Jiayu Xiong / translation
This article published on the June 2004 "Programmer" magazine, copyright, unauthorized, banned any form of reprint, violations!
On March 19, 2004, Mr. Winberg was invited to make an exchange of "exploration requirements" through remote audio and developers, many developers benefited much. To this end, we translated this exchange record, we can understand the idea of the master.
CMM is just a standard, UML is just a tool for recording requirements.
Can CMM help us?
I want to answer this way: cmm can help you, you can harm you, just see what you expect to it. In the United States, many people benefit from CMM, and they are also beneficial from UML. Many times, many people have not benefited from CMM or UML because they do not properly use CMM or UML, or it is expected to get too much. Therefore, these tools should be applied properly.
Let us say CMM first. CMM is a list of things that should be considered when developing software. If you don't consider these things, you may be committed to a big mistake. Although it is not enough to do these things. In many US companies, you pay money, they will fill in the CMM form, then you will reach a level. They do this because only when your certification has reached a level, certain US companies and government agencies will sign up with you. They are doing this wrong, and the CMM level cannot guarantee anything. If you use other ways to achieve your goals, CMM is useless. CMM is just a standard, making some people think that you are better software engineers, better than actual levels. To help CMM help you, you have to understand the meaning of each practice, develop your own method to make an implementation. CMM does not clearly tell you how every practice must do. Instead, it tells you more to complete what, no matter what method is completed, it is good.
We found that Stakeholder does not understand our UML map.
This issue is also very common in the United States. UML is a tool for technicians, helping technicians to accurately capture demand. It is largely technical, and it is tailoring to most customers or people. Many people can't understand it, but don't need to understand it. You must translate them. If you want your public to know UML, you misunderstand the UML tool and how to use UML.
How to use cases to capture your needs?
UML is a method. Of course, it is not a method of capturing the needs, but a method of recording the demand. You should understand the difference between the two. The process of capturing the demand can only occur between people and people, there may be many people, a large group of people. They use natural language, for example, you use Chinese, we use English. If you can't be proficient in your own language, UML will not provide you with any help in capture demand. We have seen a lot of cases: engineers believe that they should know UML, but they are not, so they blame people who don't understand UML. This is of course wrong. The crowd is a customer, you should provide services to our customers, not let them serve you. Your job is to serve customers.
How do you think about "software crafts"?