Tuesday, October 12, 2010

RUP anti-pattern


Introduction
Anti-pattern is not doing anything: some activities, practices or methods seem valuable, but is ready to complete what has not helped. This article discusses the various RUP anti-pattern collection from Black Diamond Software guidance RUP users in a variety of different sizes, composed of technical, environmental and industrial project experience. This article discusses the nature of each type of anti-patterns, and how to avoid measures.
Anti-patterns
1. Waterfall RUP
"We demand the current iteration is the next iteration is the design"
Those who have been following a strict waterfall development process of the people concerned, waterfalls RUP is one of the easiest mistakes. Waterfall RUP is the anti-mode reason is simple: it does not help reduce the risk, but risk reduction is a fundamental principle of the RUP. RUP iterative development requires that each iteration should be an application of the "small release." Each iteration a small demand, design, development and testing links, and to hand over the application of a running part. Using this approach, demand, design, implementation and testing issues in each iteration have been "washed" and demanded to solve the problem the sooner the better (to solve the problem the sooner the less the cost of their consumption).
If not converted into iterative waterfall stage, what will happen? Function block will be iterative, use case as a functional "piece" basis. RUP usually indicates the priority of use cases, but also the risks inherent in the decision shows how the use case is divided into iterations.
2. Ready - set-RUP
"The company said that everyone should follow the RUP, so let us begin"
Decided to adopt the RUP as a methodology is usually from the top leadership. CIO, CTO or other senior technology leadership decided that all new projects must follow the RUP. Then decide how each department will apply RUP to their projects, so they purchase the methodology and believe that they are ready. The first project group to accept certain RUP training started in full swing. Strict as far as possible the implementation of the methodology requirements, but it seems somewhat difficult to tolerate-RUP too large so they are trapped in the disciplines, artifacts, milestones among the lost. If the project completion date approached, but they still fall into the mire of methodology, they despair, they will return to their original RUP known but not the way to solve the problem. The project team used to have good intentions, but to be able to complete the task before the last date of the final return to their original understanding of the best way.
RUP is a very big way, and handle it alone is a difficult task. The RUP methodology has to adapt to different organizations, such as waterfall model, the first of a RUP project is a great challenge, beyond the typical project challenges. When it is fully implementing the down, you will find the reasons for the adoption of RUP, RUP's effectiveness will be found, so return to the original method of treatment can not be accepted.
That next step should do? The next step is to implement organization-wide RUP. Try to establish a support structure, the purpose is to enable the project team members do not often deviate from their goal. You may find that you need other people with the help of rich experience in RUP, which means that recruitment of an employee background RUP or RUP have access to help from outside the channel. In fact, you really need is to decide how to apply RUP to a specific project, and how to use RUP related technologies, such as use case development. Sometimes a little guide will help you go the many detours.
3. RUP-the sum of all the tools
"We have Rational tools, we have been ready to start"
This is another "ready - set-RUP", is a distorted understanding of tools. In this anti-pattern, the project team has RUP methodology and Rational's tools, they are ready to start a RUP project. The problem is that not all tools and RUP. These tools can help facilitate the implementation of the RUP's many activities, but the use of these tools do not ensure effective implementation of the RUP. Do you know the application of these tools are ready to do something? Do you know how you can do for software development process? As an example, if you use the Requisite ProTM to demand management, then you know how to ensure the needs of the entire project team to share information is it? How will the needs of Requisite ProTM is collecting feedback to the users? Know how to use Rational tools are very important, but understanding of the activities supported by these tools as well as the correlation between these activities is necessary. In short, the implementation of RUP may drive you to use these tools, not because of the tool to use tools.
Be familiar with the concept of RUP. To think about these ideas before you familiar with the concept of what methodological similarities and differences. Be familiar with the Rational Tool Mentor, the guide for you to use Rational tools to implement the RUP to provide many valuable suggestions.
4. IT is an island
"IT follows the RUP, it was enough, right?"
In your IT organization has decided to use a RUP implementation projects. Project team members received training in RUP, but have the necessary tools, and hired an expert with extensive experience in RUP, it is now ready for implementation, right? Are you considering external factors on the RUP implementation of the IT impact? RUP every step of the system requirements are used to describe the use cases, the best is based on information provided directly by the user. But your users ready to spend time to establish and review the use case yet? Cases that they know what is it? Your DBA has received training in RUP it? They are prepared to use iterative methods to accept data model / table change request? So let all the members know how RUP is affected, and know how to help RUP project success is very important.
5. When will we start coding
"Use case is too time-consuming, so we encode it once"
Use case is time-consuming. Indeed. But through non-stop coding, coding, and then encoded to find "hidden" way to not take the time to demand it? The development needs arising from the frequency of what? Although the use case can not be established to ensure that all needs are covered, it may not be able to meet the needs of all users, but using this method than the "get a little demand for encoding" to more efficient, because after all, before the development of this method is requirement analysis, and in the development of the price adjustment needs are enormous.
Project managers more eager than the end of the developer use cases and start coding, it is not surprising. Developers often say, "now has a lot of information," and at a time when the project manager will check his schedule, concern about being able to complete the project. After the establishment of complete use case to complete the user business objectives of the user / system iterative model to exist. This use case model for developers in addition to system requirements, but also can be a test plan and training materials, an important input material.
6. When completely better?
"We need to start doing all the iterations of a project assessment and evaluation throughout the project will adhere to"
How many times have you been asked to do less for your accurate assessment of the project, assuming that there are loopholes in the assessment is based on very limited information and may carry out the project in great changes, and no matter how wrong they are, These assessments will always be retained? Conservative to say that, to some extent, we all did.
RUP is aimed at eliminating this practice, it requires the global project to do the initial assessment, requires that each iteration should be evaluated prior to implementation. Begin to understand when the information is still relatively low, the may be a "low resolution" in project evaluation, project information with the understanding of in-depth, it can be modified. From each iteration, obtained knowledge of assessment are entered into the next iteration of the evaluation or the overall assessment. Another "time box" (time-boxing) can manage the scope. This approach advocates not finish within the budget time to cut or delay functions, and not to delay the budget time.
This method work? The answer is that this method only the company's senior leadership, and when users are in favor of the RUP can be implemented, because they decided to approve or reject the project budget, project completion date of the application of project delays and changes. We stress again that "IT is an island" anti-model, external factors have a tremendous impact on the success of the project team.
7. Recipes RUP
"RUP, where the rules? I need handholding"
RUP provides recipes the same way as a right, "RUP recipe" for each recipe corresponds to a different project? The answer is no. RUP provides guidance only and does not need to follow rigid rules, because any one item is different. Specific user groups, as well as problems associated with the current team's core competencies are dynamic, and even change the physical location of project members are not the scope of any one recipe can be fully identified. So it simply can not exist a universal recipe.
So how do you implement your project? The first step you need to spend some time to customize your specific project RUP, the next step for your project set up for development. Established in the initial stage of this piece describes how to customize the RUP to meet the specific needs of the project.
8. RUP is omnipotent
"We follow the RUP, so all project management, team and organizational issues will be resolved"
RUP for the management and implementation of the project provided valuable guidance, but it is not a panacea. It can tell how to become effective managers, a good programmer, a useful or efficient organization team members. For example, RUP project management wizard can RUP methodology to explain how to organize, plan and implement a project, but project managers need to know how to manage their duties, members of the completion date. RUP provides design and construction of the guide, but programmers need to know how to program. RUP has been adopted for the organization need to know how to integrate and support the new methodology. Not all of the organizations, projects and team members have the power to do so. But this does not mean that RUP can not be accepted, but implies the need to face a painful and tortuous process of learning, or need additional help.
9. Too - the force of the RUP
"We must perfect and complete establishment of all of the RUP artifacts"
Consequences of doing so is that you never finish your project.
And, like many other methodologies, RUP also contains a lot of activities and artifacts, these activities and artifacts within a reasonable time can not be completed. RUP does not require that the project must follow the definition of all its activities and artifacts. In fact the new project, RUP first task is to establish development case - used to determine the need for all the work piece. The organization of the project here, different factors such as skill level to determine which parts are important, such as when the design, you need to create a sequence diagram, collaboration diagram, class diagram and state transition map? Perhaps unnecessary. Maybe you in each use case is really needed is the development of class diagrams and sequence used to represent complex logic diagram; maybe you're developing a workflow project, describe the state transition information is very important when you need state transition diagram . In short, that each project has its own focus of the piece needs.
Decision in a particular subject (disciplines) to select or exclude parts which may be very difficult. The key here is that you have to understand the needs of project organization, part of the reading and complete project tasks; also need to understand the parts needed, iterative process can be used as factors. Project team once or several times during iteration, the need to consider increasing the number that is not important in the initial stage, but now appears to have the necessary parts.
In addition, create jobs while some bitterness, but not very difficult. Level of detail of each piece and the amount of information and artifacts have to solve the problem of complexity, and adaptation. For example, a need to take 2 months to complete the project, the business use cases as possible so comprehensive enterprise-wide project - such as SAP.
We have discussed some of the anti-RUP model, follow the RUP methodology attempts to avoid them. We have already discussed to overcome or avoid the practice of these anti-patterns. To remember is that the new method takes time, and try and error is often the best way to learn. Not very important in a number of projects implemented in RUP, learn from experience and share it with it





Recommended links:



ASF To MPG



MP4 to WMP



embedded software PARK zhongshan troops



MKV To WMV



No comments:

Post a Comment