Subscribe by Email


Showing posts with label RUP. Show all posts
Showing posts with label RUP. Show all posts

Sunday, October 19, 2014

How is Agile Unified Process (AUP) different from Rational Unified Process (RUP) ?

Agile Unified Process uses Agile Modelling, which is used for describing the modelling and documentation process based on agile disciplines. The Rational Unified Process (RUP) is also an agile methodology. Here we highlight the differences between the two. Both of these processes are divided into disciplines or workflows, which are carried out in iterations. Agile Unified Process (AUP) is derived from RUP, and we can say it is a simpler version of it. There are 3 disciplines followed by RUP i.e., Modelling, Requirements and Analysis and Design. The AUP being the simple version combines all of them into one discipline. It is because of this that it is easy for the RUP teams to migrate to AUP if they want to. Thus RUP is very flexible and can be merged with agile modeling practices.

> Active stakeholder participation: In RUP projects, stakeholders including customers, users, managers and operators, are often involved as a part of the project disciplines. It is necessary for the team to assign modelling roles like requirements specifier, business process designer etc., to the participating stakeholders. The activeness of the stakeholders is related to less requirement of feedback in the Agile Unified Process.

> Agile Modelling Standards: A significant part in AUP is played by the UML (Unified Modelling Language) diagrams. For maintaining its agility, the agile teams often blend the standards and the guidelines together. On the other side, in an RUP project, the guidelines to be adopted by the teams for creating modelling artifacts are included.

> Gentle application of the patterns: The AUP teams get the full freedom for choosing which modelling patterns to use. However, in RUP, these patterns are defined by the product depending on the modelling disciplines being followed. This practice has led to an enhancement in the performance of Agile Unified Process by easing the way to apply patterns. But, this concept is not as explicit as it should be.

> Application of the right artifacts: The advice for creation of various types of models is provided by the AUP and it is one of its strengths. The recent version of the RUP also provides plenty of advice on creating non – UML artifacts (UI flow diagrams, data models etc.).

> Collective ownership: This concept of Agile Modelling is used for making enhancements in the projects developed using AUP. But, it has to be assumed that the open communication is supported by the team culture. Along with supporting this concept, AUP lays strong stress on issues concerning configuration management. Therefore, the change management processes sometimes can be a hurdle in path of development.

> Parallel creation of several models: This is an important concept of UP. The team is required to check the activitiy diagrams corresponding to each discipline and see if they are being worked up on in parallel. But there is an issue with UP which is that the flow diagrams do not explain this well.

> Creation of the simple content: The simplicity is assumed by the developers. The team needs to adopt the guidelines stating the use of simple models and also the customers must be happy with this. However, many organizations often find it difficult to adopt this culture.

> Temporary models should be discarded: The AUP team is free to decide which models to discard and which models to keep. Travelling light also helps in maintaining simplicity.

> Public display of models: Models should be displayed publicly for facilitating open communication. This way all the artifacts will be available to all the stakeholders


Thursday, December 13, 2012

Construction Phase - One of the phase of Rational Unified Process


There are 4 phases which together constitute the rational unified process namely:
  1. Inception phase
  2. Elaboration phase
  3. Construction phase
  4. Transition phase
For representing the process at a high level, it is necessary that all of the above mentioned four phases should work together just as it is done for the water fall styled model. But here the key difference is that the primary key to the process is nothing but the development iterations that are involved in each of the development phase. Each of the above mentioned phases is driven by the objective and ended by milestone. The RUP hump chart gives the visualization for all the above 4 phases. 

Here we shall talk about the third phase i.e., the construction phase. 

About Construction Phase of Rational Unified Process

- The construction phase is driven by the primary objective for building the software system or application. 
- The primary focus of the construction phase is taken up by the components development as well as the development of the other features of the software system or application. 
- A bulk of coding is carried out in this phase only. 
- For developing a large project, it is required that several construction iterations are carried out in order to make an effort for dividing the use cases in to the segments that are manageable and that can be used in the production of the demonstrable prototypes. 
- The software version that is released in this phase is its first external release.
- The elaboration phase is concluded with the initial operational capability milestone. 
- The major thing with which the construction phase is concerned is moving the executable architecture that was created in the elaboration phase to the operational system. 
- Therefore, a beta version of the software system or application is ready to be evaluated by the project team. 
- In the elaboration phase the software product resides on the architectural baseline.
- Here, it is moved to a system that is so complete enough that it can make transition to the end users’ community. 
- The architectural baseline is grown enough to become the completed operational system via the refining of the designing in to the code. 
- This phase acquires the largest part of the whole rational unified process. 
- The remaining part of the software system or application is built on the foundation that was laid earlier in the elaboration phase. 
- Short and time boxed iterations help towards the implementation of the features of the system where an executable release of the system or application is released at the end of each iteration. 
- In this phase, writing the full test use cases becomes customary where each one marks the beginning of a new iteration. 
- The elaboration phase makes use of certain UML (unified modelling language) diagrams which are mentioned below:
  1. Activity
  2. Sequence
  3. Collaboration
  4. State i.e., transition and
  5.  Interaction overview diagrams
- The purpose of the rational unified process is to provide the industry tested practices for the development, implementation and delivery of the software system or application. 
- It also provides a comprehensive frame work for the effective project management. 
- This process is actually one of the many other processes which are contained within the rational process library of the IBM RMC (rational method composer). - This makes it easy to make selection and deploy the only components that you need for your process. 
- The rational unified process is adopted for 1000s of the projects nowadays worldwide. 
- It lessens the burden of inventing a new thing again and again rather it focuses on re-usability. 


Tuesday, December 11, 2012

Inception Phase - One of the phase of Rational Unified Process


There are 4 phases which together constitute the rational unified process namely:
  1. Inception phase
  2. Elaboration phase
  3. Construction phase
  4. Transition phase
This article is dedicated entirely to the first phase of the unified process i.e., the inception phase. The major development takes place in the iterations of development which are carried out within each phase. All of the above four phases have their unique key objective as well as milestones.

The accomplishment of the objective is denoted by the milestone. An RUP hump chart is used for the visualization of all the four phases of the rational unified disciplines and phases over the time. 

Objective of Inception Phase

- The primary objective of the inception phase provide adequate scope to the software system or application as a basis on which the validation of the budgets and initial costing could be done.
- The inception phase involves the establishment of a business case which is inclusive of the following:
  1. Business context
  2. Success factors such as the market recognition, expected revenue and so on.
  3. Financial forecast
- In order to complement the business case, the following things are generated:
  1. A basic use case model
  2. Project plan
  3. Initial risk assessment
  4. Project description which in turn includes the following:
    a)   Key features
    b)   Constraints and
    c)   The core project requirements

- Once the generation of the above mentioned sources is complete, the verification of the project begins against the following criteria:
  1. Stake holder concurrence on the following:
  a)   Cost estimates
  b)   Schedule estimates and
  c)   Scope definition
  1. Understanding of the requirements as per the evidence obtained by the fidelity of the use cases.
  2. Credibility of the following:
  a)   Cost and schedule estimates
  b)   Priorities
  c)   Development process and
  d)   Risks involved
  1. The depth and breadth that was developed for any architectural prototype.
  2. Establishment of a base line using which the planned expenditures and actual expenditures can be compared.
- If for one or the other reason the project is unable to pass the milestone (commonly termed as the life cycle objective mile stone) then there are only two possibilities after redesigning the program (for meeting the criteria in a better way) as mentioned below:
  1. It can be cancelled or
  2. It can be repeated
- This phase is involved with launching the project. 
- A proper business case can be developed for the project. 
- It is by the end of the inception that the development team comes to whether to carry on with the project or not. 
- In inception phase, one can see a core idea being developed in to a vision for a product. 
- In this phase may reviews, discussions, etc. are carried out regarding the business case involved in the project. 
- The scope of the project is delimited in the inception phase and also the product feasibility is established. 
- This is perhaps the smallest of all the phases of a project and also according to its ideal nature it should be short. 
- If the duration of the inception phase is too long it indicates that there has been an excessive up – front specification (even though this goes against the spirit of the rational unified process.).


Friday, December 7, 2012

What are Rational Unified Process building blocks?


Whenever we talk about iterative software development process frame works, the first name that comes to our minds is of the rational unified process. It is not just a single hard coded prescriptive process rather it is quite an adaptable and flexible process frame work. 

This frame work comes with several facilities, the best one being that your organization can tailor it according to their needs. 

What is Rational Unified Process?

- Unified process when specifically implemented is called as the rational unified process. 
- Rational unified process is counted among the best products of IBM and the credit for its development goes to the rational software division.
- The RUP comes with a hyper linked base consisting of the descriptions of several types of activities and a few sample artifacts. 
- A part of the IBM’s rational method composer (RMC) is occupied by the rational unified process.
- It allows the users to customize the process as per their needs. 

What are building blocks of Rational Unified Process?

In this article we are to talk about the building blocks of the rational unified process.
- These basic best practices of the rational unified process were developed as a result of the combination of the experience of many companies. 
- The building blocks are:
  1. Iterative development with risk as its primary iteration driver.
  2. Management of the requirements.
  3. Employment of an architecture based up on components.
  4. Visual modeling of the software.
  5. Continuous verification of the quality.
  6. Controlling the changes
- These best practices are used in the following two ways:
  1. For driving the development process of the rational’s products.
  2. To be used by the rational’s field teams so as to assist the customers in improving the predictability as well as the quality of the software development efforts.
- The task involves the assembling of the explicit process framework for the field of modern software engineering. 
- The delivery mechanism developed by the objector was based up on the HTML and employed in accomplishing this task.
- This task resulted in the creation of the rational unified process. 
- A set of content elements or the building blocks form the foundation for the rational unified process and give a description of the product that is to be produced and the required necessary skills. 
- They also give a detailed step by step explanation for achieving the specific development goals. 

Now we shall list all the building blocks of the rational unified process and discuss them in detail:
  1. Roles: This building block can be defined as set consisting of related skills, responsibilities as well as competencies.
  2. Work products: This building block gives the representation of thing that would result when a task would be completed inclusive of all the models and documentation produced during the course of the completion of that task.
  3. Tasks: This building block gives a description of the units of works that are assigned to an element from the role which will produce a result that would be meaningful.
There are 9 disciplines in to which the tasks are categorized within each iteration. There are 6 engineering disciplines and 3 supporting disciplines which together make up total 9 disciplines. The 6 engineering disciplines are:
  1. Business modeling
  2. Requirements
  3. Analysis and design
  4. Implementation
  5. Test and
  6. Deployment
The following are the three supporting disciplines:
  1. Configuration and change management
  2. Environment and
  3. Project management
The organization and the management of the above mentioned building blocks need to be solid and flexible in order to make the rational unified process a success which otherwise cannot be achieved. 


Tuesday, December 4, 2012

Explain Rational Unified Process (RUP)?


Rational Unified Process development framework was developed by a division of IBM known as the rational software corporation. Rational Software Corporation has been a part of IBM since the year of 2003. 

About Rational Unified Process

- Rational unified process is a single process that has a concrete prescription.
- It is a process frame work which is adaptable to a large extent and can be tailored by the organizations and development corporations as per their needs. - They can select the elements of the process that they want to be present in their development approach. 
- The rational unified process or RUP is a product that is used to process other products. 
- This product is built on a hyper linked base of knowledge consisting of detailed description about a lot of activities along with some sample artifacts.  - Rational unified process constitutes a part of the IBM’s RMC product or rational method composer.
- It is used for customizing the rational unified process. 
- All the companies combined their experiences and declared 6 best practices that are known to drive the rational unified process. 
- Those 6 best practices are:
  1. Iterative development where the risk is taken as the primary iteration driver.
  2. Management of the requirements.
  3. Employment of an architecture based up on component.
  4. Visual modelling of the software system or application.
  5. Continuous verification of the quality.
  6. Controlling of the changes.
- The above mentioned 6 best practices are followed by the rational’s field teams in order to assist the customers in improving the predictability as well as quality of the efforts that they put for the development of the software.
- The resulting rational unified frame work had the following three main strategic characteristics:
  1. This process is tailor-able for the effective guidance of the development process.
  2. Consists of tools that are used for the automation of the process.
  3. Involves services that accelerate and make the adoption of both the tools and processes easy.
- Rational unified process came into existence on the acquiring of the objector y process in the year of 1996 that was written by Ivar Jacobson. 
- This original process consisted of the content from the following three things:
  1. Object modelling technology or OMT from Jim Rumbaugh,
  2. Booch approach by Grady Booch and
  3. UML 1.0
- Later the year of 1997 saw the addition of the test discipline and requirements to the approach. 
- Below mentioned are the additions to the approach that were made subsequently after the year of 1997:
  1. Year 1998 saw the addition of two new disciplines namely configuration and change management discipline and business modelling. Other things that were added included the following techniques:
a)   Performance testing
b)   UI design
c)   Data engineering
Further the rational unified process was updated to 1.1 version of the UML.
  1. Year of 1999 saw the addition of the project management discipline and techniques that supported the real time development of the software. Also the rational unified was again updated to UML 1.3.
  2. From year 2000 onwards most of modifications were centered around the adding tool mentors, adding techniques along with a basic guide containing step by step instructions up on how the rational tools are to be used and how the customization of the rational unified process can be automated using which customers could customize their own process and at the same time incorporating improvements in the following releases. 


Friday, May 25, 2012

Unified process as a heavy defined process VS an Agile unified process approach


Unified process is another process in the list of the iterative and incremental processes apart from the agile processes. There are so many refinements and variations of the unified process as mentioned below:
  1. RUP or Rational Unified Process: A refinement of the Unified process developed by the IBM/rational software.
  2. RUP- SE or Rational Unified Process - System Engineering: This is a version of the rational unified process developed by the rational software for catering to the needs of the system engineering.
  3. AUP or Agile unified process: It is a lightweight variation that was developed by Scott W. Ambler.
  4. OpenUP or Open unified process: It is the eclipse process frame work software development process.
  5. BUP or Basic unified process: It is also a lightweight variation but developed by the IBM. It is kind of a precursor to Open UP.
  6. EssUP or Essential unified process: Another light weight variation developed by the Ivar Jacobson.
  7. EUP or enterprise unified process: It is an extension of the RUP or the rational unified process.
  8. OUM or oracle unified method: A development and implementation process developed by the oracle.
So you see that the agile unified process is a refinement of the unified process! So what is the difference between the two? This is what we have discussed in the article. Actually there is a subtle difference between the two in the way that they categorize the project work flows and the disciplines. 

Disciplines addressed by RUP


There are nine disciplines that are addressed by the rational unified process as mentioned below:
  1. Business modelling
  2. Requirements
  3. Analysis and design
  4. Implementation
  5. Test
  6. Deployment
  7. Configuration and change management
  8. Environment
  9. Project management
9 disciplines is a big count! The agile refinements of the unified process simplify the whole rational unified process further and reduce the above mentioned nine disciplines to a lesser count making the whole development process simple and short. 

Points of Comparison between RUP and AUP


- Unified process though being quite an advance process for developing the software but it provides quite a heavy approach. On the other hand the agile unified processes are quite light. 
- These processes provide a way of streamlining the rational unified process by minimizing the number of the expected artifacts and simplify the whole work flow. 
- The UP and the AUP also vary in their specifications of what happens after the completion of the transition phase.
- In the agile unified processes, the transition phase is followed by a production phase rather than by a new inception phase in the case of the unified process.
- There are countless numbers of the unified process refinements and variations. 
- There are 4 phases in a unified process namely:
  1. Inception phase
  2. Elaboration phase
  3. Construction
  4. Transition
In addition to the above 4 mentioned phases, the agile unified processes go through the two additional phases namely: 
    1. The retirement phase and
    2. The Production phase.

The below mentioned are the philosophies up on which the agile processes are based:
  1. The development knows what is being done.
  2. Simplicity is maintained.
  3. The whole process confirms to the principles and values of the agile software.
  4. Focus is on high value activities.
  5. It is tool independent.
The agile unified process makes use of two types of iterations namely:
  1. Development release iteration: deployment to the quality assurance and
  2. Production release iteration: deployment to the production area.


Wednesday, May 23, 2012

What is meant by Rational Unified Process?


RUP or rational unified process - refinement of the unified process has been categorized among the most popular and commonly used iterative software development process frame works. The rational unified process has been a trade mark of the IBM Corporation since the year of 2003 when it was developed by the rational software corporation. 
The rational software corporation has long been recognized as a division of the IBM. 

What is a Rational Unified Process?


- Rational unified process as it sounds is an adaptable process frame work rather than being a single and concrete prescriptive process. 
- The rational unified process serves as a frame work that can be tailored according to the needs and objectives of the software development organizations and the project development teams who are responsible for the selection of the elements of the development process that fit their needs. 
You can call the rational unified process as a specific implementation of the unified process since it is absolutely right. 
Rational unified process is a kind of software process product which was acquired by the IBM from the rational software corporation. 
- The rational unified process forms a part of the IBM RMC (rational method composer) using which the whole development process can be customized. 

Based on the experience of the implementation of the RMC for various projects, the below mentioned 6 practices were declared as best practices for modern software engineering:
     1. Iterative development using risk as the primary iteration driver.
     2. Management of the requirements.
     3. Employment of an architecture based on components.
     4. Visual modelling of the software system or application.
     5. Continuous verification of the quality.
     6. Keeping the changes under the control.

Rational unified process contributes greatly in making improvements in the quality of the software system or application and in predicting the software development efforts.

Aspects of Rational Unified Process


The rational unified process is characterized by its following three aspects:
     1. It can be tailored according to the needs that will guide the development process.
     2. It is a tool that can be used for the automation of the whole development process.
     3. It is a service that serves for the accelerated adoption of all the processes and the tools involved.

Rational unified process was actually developed in the year of 1996. The year of 1997 saw the addition of the requirements and the test discipline to the rational unified process. In the year of 1998 again two new aspects were added to the process namely the business modelling and change. Apart from these, some techniques were also added that included:
     1. Performance testing
     2. UI design
     3. Data engineering

With all these techniques the rational unified process was updated to the UML 1.3. the rational unified process constitutes of some set of building blocks that describe the functionality which is to be produced. 
Below mentioned are the main building blocks:
     1. Roles
     2. Work products
     3.  Tasks

Nine disciplines governing the tasks have been defined:
     1. Deployment
     2. Implementation
     3. Requirements
     4. Business modelling
     5. Analysis and design
     6. Test
    In addition to these nine disciplines there are 3 additional disciplines:
    1. Environment
    2. Configuration management
    3. Project management
    
   Like the normal unified process, the rational unified process also consists of the 4 phases namely:
     1. Inception
     2. Elaboration
     3. Construction
     4. Transition

The RMC product has proved to be quite an effective tool for configuring, authoring, publishing and viewing processes with rational unified process incorporated in to it. The above mentioned 6 practices are now recognized as a paradigm in the field of software engineering for designing any software and increasing productivity. The development cycle is said to finish when the product release milestone is reached. 


Sunday, September 9, 2007

What is the Rational Unified Process (RUP) ?

To simplify and make the strategy of iterative software development, the rational software corporation came up with an iterative software development process framework, now popularly known as the rational unified process or RUP. The rational software corporation has been a division of IBM since 2003. RUP has been developed as a process framework that is adaptable rather than being a rigid perspective process. One of the advantages of this process is that development organizations have the freedom to tailor it for their needs. The required elements of the process can be selected by the software projects teams as they think is appropriate. 
The product comes with many sample artifacts and a number of detailed descriptions for a number of activities that are supported by the RUP. It has been included as a part of the IBM’s RMC (rational method composer) allowing the easy customization of the software development process. The RUP lays down six best practices which evolved by the combination of the experience of various companies. These six best practices are:
Ø  Iterative development driven by risk. Risk is the primary iteration driver.
Ø  Management of requirements
Ø  Employment of component based architecture
Ø  Visually modeling the software.
Ø  Verifying the quality of the product continuously.
Ø  Controlling the changes
All these practices are employed by rational corporation for the development of their products. They are even used by its members for helping the customers in making improvements to the predictability and the quality of the development efforts. The RUP can be tailored for guiding the software development. It comes with all the tools that are used for automating the application of the RUP. It also offers services for accelerating the process’ and its tools’ adoption. All these three things form a strategic tripod for the implementation of RUP. The foundation of the process is based up on certain building blocks and elements which describe the thing that has to be produced and how it is to be produced and what are the requirements. Following are the three main building blocks:
Ø  Roles: This defines the skills required and who should take what responsibilities and has which competencies.
Ø  Work products: This represents the result of an activity. The result includes all the models and the documents produced during the process.
Ø  Tasks: The work assigned to the roles is described by this element. The work should be such that it should provide a meaningful result.
Many iterations might be carried out. In each iteration the tasks are divided in to a total of 9 categories:

Ø  Six disciplines of engineering:
-          Business modeling
-          Analysis and design
-          Requirements
-          Test
-          Implementation
-          deployment
Ø  Rest are supporting disciplines:
-          environment
-          configuration and change management
-          project management

There is also a tool that you can use for configuring, authoring and viewing the processes. Processes can even be published. Certification for RUP i.e., the IBM certified solution designer – rational unified process 7.0 was released in the year of 2007. The earlier version was the IBM rational certified specialist – rational unified process. The new version of the exam focuses on both the RUP content and the process structure elements. For passing this certification examination, the test you have to take is the test 839: rational unified process v7.0 in which you are given 52 questions to be done in 75 minutes.


Facebook activity