"Column sound" steady 12 steps
Small god 2002-4-12
We have already discussed a lot about transformation and change, I don't know if you spend time, how do we change to a new technology or a new platform?
The transformation of past technology or development depends on software development processes and practical design and developers, often depends on ultimate developers, which will be the test and transformation of individual development individuals. The consequences of transitioning success or failure in this case are basically these developers, and there will be some flowers to his previous level, develop organizations or companies. However, interesting is the process of this transformation and the final form of the final, the same is different from the thousands of different words, and the smoothness of the gliding is the same, from a hill head to another mountain; and the painful image is in the quagmine, practice swimming, Not only is full of sludge, the deeper the swing.
Today, enterprise-level development needs to have a team of synergy and support, each individual's strength and will need to adjust the subject and strategy for the entire team. A new technology application is now in an enterprise development, but also means that the entire development team needs to respond and adjust together, some of the team declares that it is meaningless to start using a new type of technology. So steering a new development model or use new technologies to become faced with the entire development team, even delayed to a higher level, project organization or company-level adjustment or change.
When you know this possible fact, we may need to accept your frustration first. Regardless of the process of transition, it is no longer a transformation, and the transformation will no longer be transformed. The transition not only happens in individuals and needs to mix together throughout the team, technology and non-technical.
According to the team requirements and the spirit given, this transformation has the result of consistency and predictability. So we won't debate whether there is too long to change for too long, reduce the error of all projects to adapt to all projects, and will not rank the project to adventure new technologies. After depression, we still got a comfort of the team because shifting together means working together to form a good guideline. Everyone can evaluate the technology itself with an objective consensus method, see if it can accept or refuse, or adjust it. It may further develop into a mechanism that makes technology or transformation itself a positive force to be controlled and used by most people in the team.
One of the key here is to understand, understanding or understanding, not only personal understanding, but also the entire team also needs this understanding. We not only need to understand the technology itself, but also must understand why this technology is used. Understand the final understanding, only to form the correct concept. It is understood that it is in order to obtain the correct and clear concept.
I don't think the transformation of new technologies or new platforms can start and develop or hand over the project management in the project management. In fact, some projects have failed from the beginning, and the project itself hides the transition to new technologies or new platforms, and most of the entire project group is unclear and unprepared. Failure itself is a blow to new technologies, because it is impossible to see the workload of the proceeds, and technical reasons seem to make a possible disclosed interpretation of this secret.
With the right concept and early awareness, what do we do, how to start?
The conservative approach is to see the previous experience and standard rules and steps. The standard principle is like a recipe: "If you want to be a cake, then you must first prepare these raw materials, then follow the steps below ...." An a recipe does not guarantee that you must make a cake because the whole process Individual experience, judgment, and personal feelings, etc., but this is better than you turn around you. In fact, this change in the software development process has taken place once. The following article describes how to turn to an object-oriented 12 steps, we must trust the change in the change, at least we can get inspiration and thinking from it. Today we face how to turn to WebService or the DOTNET platform and other new technologies and platform transformation problems will not turn to turn it :) If successful and failure is two parallel straight lines, then we have The correct concept and effective principles and strategies, we can say that we will be more close to the success of the success, and it is more far from another; it seems that this is the final result I think.
Turning 12 steps
Edward Yourdon & Carl Argila
<< Case Studies in Object Oriented Analysis & Design >>
Good management includes telling ordinary staff, how to work out.
John D. Rockefeller
Many companies have discovered them from current traditional software development methods to the current traditional software development method. As most customers have confirmed, the truly difficult part of the steering-oriented method is in a large number of non-technical processing.
Here are 12 steps to help you turn your project to object-oriented methods. We can't guarantee that these steps are easy to implement, but if you are very serious, you will receive good results and reduce the risk of this transformation.
Step 1: Accepting the inevitable things
Undoubtedly, our views seem to be in the near future, and object-oriented methods share an important role in various software development methods.
Accept these inevitable things, build the correct concept in the ideology, we think this is the most critical factor to success. All staff participating in the project should clearly realize this, and there is no back to the road. We either use these objects in proficiency, or eliminate the era!
By the way, this does not mean abandon all the things all things. A good project is based on the previous basis and bring them to the future.
Step 2: Understand, understand, understanding or understanding
When any new technology is introduced in a commercial company, this technique must be able to bring interests in business, such as making products cheaper, faster, and better performance. This should be understood why this change is going on!
We not only need to understand this technology, but we must understand the reasons for using this technology. If our purpose is just to get the income in front, then do not use an object-oriented method. Because it will be disappointed. The benefits of object-oriented methods are obtained in the next project, maybe it may go to the next project!
It is sufficient to understand this change in an object-oriented method. If we have always used the top-down, according to the functional decomposition method, you must figure out that the object-oriented method is a completely different way, very different. Now establishing a system to consider from the middle, starting from the synergy of the object. This can bring a lot of effect, not only on the system development, but also how to organize and build these systems.
There are two views on the steering object-oriented method: one is slowly gradually evolved; the other is a new change. You must understand which method is more suitable for your company or team. For most customers, completely abandon all previous results and starting from beginning to be a stupid approach. But for some companies, this step in this step may be better. The above content is studied thoroughly, helping to systematically clarify the direction after completion of object-oriented conversion. Now, write it down with paper, clearly write your own intend to send all members of the project. Of course, this should be short (one page or less), which allows people to stick to the wall of the office.
Step 3: Sit down to conduct a reliable assessment of current stages and situations
Now to assess our software development process. If you don't need a formal professional organization, just look at the situation in our project. If we are still the first-level organization of SEI, the object-oriented conversion may not be the same as the third level of SEI.
When evaluating software development processes, it is necessary to identify and distinguish work products and artifacts. Work products typically refer to the results of delivery or collaborative activities that should be provided in a specific project. On the other hand, artifacts are not deliverable, usually it is generated by individual staff, not based on the scheduled plan, it is just the result of daily work activities. (For example, data flow chart, structural diagram, module specification, etc.) Once identify the artifacts to be established, it is possible to consider how these artificial products become part of an object-oriented process.
We must also evaluate our human resources. Undoubted human resources are the most important property. When learning successful project organization, Constantine and Lockwood pointed out that "as long as there is excellent personnel, and establish a good organization to improve the productivity and quality of their work, good management can produce the best software." Strange, it is very very strange! What kind of artifacts have you created? How do this skill support our object-oriented process? How to deal with those lost calves? - Those technical cowburs, those who are not disciplined, and any other people who make them adapt to this process?
After evaluating our resources, it is best to write it down, to form a transition plan, identify our new object-oriented work product, identify the artifacts that support these working products must be completed, and will associate these During the current process.
Step 4: Start a "Symbioject)
Now enter the most difficult part of the class. In our experience, if there is not a good understanding of a new or another different technology, it is carried out in a negative in a negative of the project, organizational and personnel. This approach is very reckless in the project of important tasks. The experimental project is the best tool to learn a new technology, but most of the trash can be implemented, very small technology transfer.
The answer is that an experimental project we said is always a syndiotics with projects with important tasks. This relationship usually shows a part of an important task project, which is an experimental project. Instead of achieving an important way to achieve the project, it may be called an experimental project. The ideal time period of this type of project is 12 to 18 months.
Step 5: Establish a valid indicator to monitor
Research on the life of the National Defense and Commercial Software Project found an interesting project success factor. In a successful project, it is expected that the percentage of work is very close to the percentage of actual completion work, which means that successful projects can be monitored. The key to good monitoring is what we say "micro]. The microassivity is effective for progress, quality, efficiency, and the like, and based on artifacts (not working products). We have a colleague to be a software project administrator. He thinks that a good metric is the number of compilation requests per person time. When the module developed is close to the end, this measure is close to zero. If the development process of the module does not follow this rule, you should pay attention. In fact, this manager is very good at this, he has a monitoring of compilation requests every day. We have found that some good microsurizons can distinguish the success and failure of the project. Of course, the success of the project must be used to use some microidal amounts, and these microidal amounts should be used in these microefficient environments (this means you have to find and determine microence metrics in your project, but these micro] Metrics are not necessarily scientific or certain standard definitions)
Step 6: Ready to use some tricks
Ah, we are interested in anything - policy strategy! ! ! Each software development project has its established policy strategy. But when we turn to object-oriented, this policy strategy is more complicated and subtle. No matter if you are willing, you will always play some wrists, more and you can't ignore this. So may wish to design some. It has been studied for each method to make a successful factor for a successful implementation of a project. Here are some of our common methods:
Try not to show your proactive initiative. ("We can't complete ... why ... why ............................................................") We often say this because there are some research committees. The composition is in company level. The task of this committee is to study or develop a "Ten Deli" CASE tool, what is other. The problem is that these committees are always in non-stop research, research, research ... It seems that they will never give a suitable conclusion!
Another means hidden with the above hidden proactive initiative is what we usually say is dissatisfied. ("Do you want an object? Ok, I will give you an object!") This is a more uncomfortable means, because the people doing this have not known the failure of the project.
These two means have the same root source - fear. Sadly, in today's our software development team, all people must be a strong person regardless of men and women. I don't allow anyone to say: "I am afraid, I am not very confident about this object, and I can't guarantee that I can learn it, you can skillfully use it. I need help. Just ask you."
Hidden active initiative and malicious succumber can not solve fear. But you can do what the means we use. In short, this solution is to discover some security fields and stay in these areas. Especially need to excite those confidences of escapeors. Through good training (this can expand their security field) and individual counseling (this can provide them with security), they will become a positive support.
Step 7: Countermeasures for the complexity of n power growth
One of the Murphy Guidelines is: "If the two computer technologies have interactions, they will interact, and their way they interact may be the most unbearable." We turn projects to object-oriented, often Some other new technologies will be introduced. These technologies include: new platform, operating system, database management system, architecture, protocol, international normative, network, programming language, there may be more!
Each introduced a new technique, it is non-linear with the number of possible interactions between all other technologies. This amount is growing in n power. This complexity of this interaction is extremely rapid, so that you can't concentrate anything well. So, the sure is simple! We believe that if there must be some new technologies in a project, even if there are only two new technologies, it is best to introduce them separately. It may be introduced into a concurrent experimental project. Then, after all of these technologies are fully grasped, they are integrated. Step 8: Avoid learning to walking
Have you encountered such a person, maybe you are also this: he went to a new city to travel, because he is too conceited, not willing to ask the road ("I have not lost, I know where I am!") An address, one person has no destination to the street. We won't do this, because all training and consultation in our lives will not be But we didn't have any reason for the purpose of trying to turn to objects. Successful projects always take to experience in other projects.
For a troublesome project investigation, it often discovers that training for staff is just a textbook for each person. Another good practice is a person in the first-fair company to participate in object-oriented training, and then train other people. In our opinion, training and individual counseling may be the best investment in management, which guarantees successfully turning to object-oriented methods.
Step 9: Seeking help for the first information model
If you have turned to use an object-oriented method, but you can't make the foundation for future reuse, then you will completely lose the meaning of object-oriented methods. The concept of reuse is simple, but it is very difficult to establish a good reusable object collection in a given application area. Objects must not only be reused, but also should be reused. They must be able to lay the foundation for future systems to simplify future establishment of systems. They should also package some of the provisions of some rules and applications, making the system facilitates maintenance, supporting expandability, and improving reuse.
If you don't consider the special part of the object-oriented method used, you will find that all object-oriented methods will have this type or that way. This model generates a basic object collection. Perhaps we use the motivation of the object-oriented method vary, but we believe that this initial information model should be used to seek the opinions of others. The wrong information model, that is, the wrong object collection, it is impossible to manipulate it at the time. They may have to be discovered in the next few years, can be discovered when modifying or upgrading the system.
Step 10: Strictly follow the progress of the first project
You may be difficult to control your first object-oriented item. Therefore, we recommend strictly follow the progress of the project. If necessary, you can reduce the scope of the project, reduce its complexity, but don't advance the delivery date of the project. Spend by the expected date of your first project is completely considered on morale - doing you to improve your credibility and increase strategy investment.
Step 11: Start establishing a reusable class library
Although it is reused to be reflected in the next item (or next) project. But now you should establish the most basic mechanism for reuse in your business environment. Keep in keeping in reuse not from the object! Instead, start in common agreement, the next project will reuse objects!
With our company, you may find that many of the regulations within the company are reused. The attention of each project is centrally reused. In order to improve reuse, many reward measures have been developed, for example, to the subject developers with high compensation, to use reuse users with red envelopes, and give the project responsible person with special rewards. From this, it can be seen in the company, reuse is a never-time topic, you can talk about it. The reuse should be measured with practical methods. The measure of the analysis, design, test, code, etc. of reuse should be included in an important indicator statistics in each project.
Step 12: Stringent post-examination check and summary
Finally, in the summary part of this transition activity, all the parts involved in the project will conduct a serious review and evaluation. What is correct? What is wrong? What is the need to improve in the next object-oriented project? Here we list some of the possible problems: After completing the first object-oriented item, you will find that the organizational structure change in the strategy is in order. You will realize that your institution needs to be divided into two basic groups: a group is an object creation, and they are responsible for producing each object. These people are experts in realization. They don't care how to use objects, they only pay attention to technical challenges. Another group is the system creator. These people are experts in the field of application. They focus on understanding the transaction process, and integrate the object synergy, and build a system.
You will benefit from the requirements of the change company mechanism. This requirement has prompted everyone to pay attention to reuse, rather than reducing the degree of importance of reuse. Obviously reuse mechanisms exceeds the mechanisms that overcome any project or project manager. In order to make a real role in reuse, the company-level coordination is required. This has produced demand for reuse standards.
Finally, your satisfaction of the object-oriented method will continue to increase. You will be confident in the ability to carry out the next object-oriented project. I wish you all good luck!
Special Note:
This article is non-9CBS official column articles, so the view in the text is that the author is sent, it does not mean and reflects other people's point of view.
This article is originally created, 9CBS started, such as non-authorized other people, please do not use for news or commercial purposes.
Citation from "Practical Object-Oriented Software Engineering Tutorial" Chapter 22 1998.6. Electronic Industry Press
If there is any other omission, no longer