Thursday, 28 July 2016

Rational Unified Process

By,
Nikhil

RUP & Its Phases
a.Stands for "Rational Unified Process.
b. It is a software development process from Rational which is a division of IBM. And is included in
    the IBM Rational Method Composer (RM C) product which allows customization of the process.
 
c. It divides the development process into four distinct phases.
d. Each phase involve business modeling, analysis and design, implementation, testing, and
    deployment.

e. It was developed in 1996 with additions made in 1997, 1998 and 1999. As a result of which
    RUP now consists of Test, business modeling and configuration and change management
    and project management disciplines.

f. The following are the building blocks of RUP :
 i. Roles (who) – A Role defines a set of related skills, competencies and responsibilities.
 ii. Work Products (what) – A Work Product represents something resulting
                                                from a task, including all the documents and models produced while                                                  working through the process.
 iii. Tasks (how) – A Task describes a unit of work assigned to a Role that provides a meaningful
                                 result.


The four phases of RUP are as follows :
1.Inception –
  The idea for the project is stated. The development team determines if the project is worth   pursuing and what resources will be needed.
Scope of the system is determined to finalize the budget and initial costing.
Business case, a basic use case model, project plan, initial risk assessment and
project description are generated.

If the project does not pass this milestone, called the Lifecycle Objective
Milestone, it either can be cancelled or repeated after being redesigned to better
meet the criteria.                             

2. Elaboration –  
a) The project's architecture and required resources are further evaluated.
     Developers consider possible applications of the software and costs associated
      with the development.

Produces
 i) Use case model with almost 80% completion
       ii) Executable architecture derived from the rough architecture with its necessary use cases
       iii) Risks are revised along with the business case.
       iv) Development plan for the whole project.
        v) Prototypes for mitigating technical risks
       vi) Preliminary user manual.

This phase needs to pass the Lifecycle Architecture Milestone by ensuring the  following things :
i.                     Vision of the product is stable.
ii.                   Architecture is stable
iii.                  Major risk elements are addressed and resolved
iv.                 Construction phase plan is sufficiently detailed and accurate
v.                   All stakeholders agree that the current vision can be achieved using current plan in the context of the current architecture.
vi.                 Actual vs. planned resource expenditure is acceptable 
vii.                If the above answers are not satisfactory then the project can still be cancelled at this stage.
3. Construction
a) The project is developed and completed. The software is designed, written, and tested.
b) Main focus is on the development of components and other features of the system.       
      c) In case the scope of construction is huge then this phase could be divided
   into several smaller phases each producing a deliverable. Thus the whole
   phase is completed in several iterations.
      d) Produces the actual, tangible released software.
      e) This marks the Initial Operational Capability Milestone.

4. Transition –
a) The software is released to the public. Final adjustments or updates
     are made based on feedback from end users. 

b) Thus the transition is of the software from the development phase to production
     phase where it is used/tested by the end users and reviewed.
      
      c) One need to conduct training of the end users and maintainers and beta testing
   of the system to validate it against the end users' expectations.

      d) Development team also needs to check the final product against the quality
    levels set in the inception phase.

      e) If this phase is successful then we can say that the Product Release Milestone is achieved.

      f) Successful completion of this phase marks the end of development cycle.