Sunday, January 19, 2014

Rational Unified Process (RUP)

This is a software development methodology that is used worldwide by many organizations. It is considered t be a methodology that covers the entire life time of a software development project. This methodology is currently owned by IBM. They assistant many IT companies to implement this methodology to their company’s project management.

As indicated by IBM ( 2014) the RUP methodology is a disciplined approach to assign tasks and responsibilities within a development organization. Some key concepts in this are :

  •  Provide each team member with easy access to a  knowledge base with guidelines.
  •  Emphasizes the development and maintenance of models rather than large amount of documentation.
  •  It is a guide for how to effectively use the Unified Modeling Language
  •  It is a configurable process that is founded on a simple and clear process architecture that provides commonality across a family of processes

The 6 Best Practices

As indicated by IBM (2014) the RUP is based on a few approaches known as Best pratise.These describes how to effectively deploy commercially proven approaches to software development for software development teams.There are :
  • Develop software iteratively
  • Manage requirements
  • Use component-based architectures
  • Visually model software
  • Verify software quality
  • Control changes to software.



The RUP Model description 























As indicated by IBm (2014)the process can be described in two dimensions placed along the horizontal and vertical axis. The horizontal axis represents time and aspect of the development process or project process as it is enacted. There are:
  •  Cycles
  •  Phases
  •  Iterations
  •  Milestones


While the vertical axis represents the static aspect of the process. Using:
  • Artifacts
  •  Workers
  •  Workflows.

 The RUP disciplines

RUP discipline
Description
Business Modeling
This is to ensure if the customers and the developers have a common understanding about the project at hand and the various targets. Its is also for the developers to get a clear understanding about the customer’s polices and to understand the problem.
Requirements
To gather the business requirements of the customers for the system and establish system boundaries.
Analysis and design
Design system addressing the requirements and establishing the system architecture.
Implementation
This is to implement the design elements.
Test
Testing the software for bugs
Deployment
Making the software available for end users
Configuration and change management
Identify configuration items and make necessary changes.
Project management
Managing the project aspects like the plan, staff and risks
Environment
Provide process and tool needed for th software development

Phases and Iterations

The RUP divides one development cycle in four consecutive phases. Each phase is concluded with a well-defined milestone.
Inception phase
Elaboration phase
Construction phase
Transition phase

Inception phase

According to IBM (2014) during the this phase :
  • Business case for the system and project scope is established( like success criteria, risk assessment, and estimate of the resources needed)
  • Identify all external entities with which the system will interact (actors)
  • Define the nature of this interaction at a high-level.
  • Identifying all use cases

Elaboration phase

According to IBM (2014) during the this phase :
  • Analyze the problem domain
  • Establish a sound architectural foundation
  • Develop the project plan
  • Eliminate the highest risk elements of the project

Construction phase

According to IBM (2014) during this phase all the system components and application features are developed and integrated into the product. Through this phase the following should be accomplished:
  • The  features of the system should be thoroughly tested
  • The software product integrated on the adequate platforms.
  • The user manuals should be designed

Transition Phase

According to IBM (2014) during this phase transition the software product to the end user is done. This includes:
  • “beta testing” to validate the new system
  • parallel operation with a legacy system that it is replacing
  • conversion of operational databases
  • training of end-users 
  • product is given to the marketing, distribution, and sales teams

Analyzed strengths and weakness of RUP

There are many strength and weakness to this methodology and some points that were discussed in class are:
Strengths:
  • It’s a complete system
  • Phases are simultaneous to each other which reduces time and improve utilization of resources
  • Focuses on user involvement, mapping requirements throughout the project and supporting the architecture required for the solution.

Weaknesses:
  • It’s a heavy weight methodology
  • Cannot skip ant phases or documents
  • Extensive dependency on documents can cause bottle neck
  • If not applied wisely can be time consuming.

No comments:

Post a Comment