Process


For Nova Terra Technologies process is about a 'defined structure' and working within the structure to provide on-time, effective and quality results time and again. With years of experience in defining and implementing processes for various organizations and projects, Nova Terra understands that 'defined structures' need to be stringent, yet flexible and extensible so that they can be customized for specific verticals or projects.


The Rational Unified Process (RUP) for Software Development and Project Management is a popular iterative and incremental software development process framework created by the Rational Software Corporation, a division of IBM since 2002. The RUP is not a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by development organizations and software project teams that will select the elements of the process that are appropriate for their needs.


Nova Terra Technologies uses the RUP as its customizable framework to tailor and select the elements of the process that are appropriate for your solution.

 

RUP Project Life Cycle

The RUP lifecycle is an implementation of the spiral model (A systems development method used in information technology). This model of development combines the features of the prototyping model and the waterfall model. It is intended for large, expensive, and complicated projects.

The RUP has been created by assembling content elements into semi-ordered sequences. Consequently the RUP lifecycle is available as a work breakdown structure, which could be customized to address the specific needs of a project. The RUP lifecycle organizes the tasks into phases and iterations to cover different engineering disciplines.

Following are some of the supporting engineering disciplines which are also the supporting pillars of the Project lifecycle:

  • Configuration And Change Management Discipline

    The Change Management discipline in RUP deals with three specific areas:

    • Configuration management

      Configuration management is responsible for the systematic structuring of the products. Artifacts such as documents and models need to be under version control and these changes must be visible. It also keeps track of dependencies between artifacts so all related articles are updated when changes are made.

    • Change request management

      During the system development process many artifacts with several versions exist. Change Request Management keeps track of the proposals for change.

    • Status and measurement management

      Change requests have states such as new, logged, approved, assigned and complete. A change request also has attributes such as root cause, or nature (like defect and enhancement), priority etc. These states and attributes are stored in database so useful reports about the progress of the project can be produced. Rational also has a product to maintain change requests called ClearQuest. This activity has procedures to be followed.

     

  • Project Management Discipline

    Project planning in the RUP occurs at two levels. There is a coarse-grained or Phase plan which describes the entire project and a series of fine-grained or Iteration plans which describe the iterations.

    This discipline focuses mainly on the important aspects of an iterative development process:

    • Risk management
    • Planning an iterative project, through the lifecycle and for a particular iteration.
    • Monitoring progress of an iterative project, metrics.

  • Environment Discipline

    The environment discipline focuses on the activities necessary to configure the process for a project. It describes the activities required to develop the guidelines in support of a project. The purpose of the environment activities is to provide the software development organization with the software development environment-both processes and tools-that will support the development team.

    • Prepare environment for Project: Preparing the development environment for a project means turning the underlying development process into an enactable project-specific development process. This involves:
      • Defining how the project is going to use the configured development process.
      • Developing a development case describing deviations of the underlying process.
      • Qualifying artifact selections with timing and formality requirements.
      • Preparing project-specific assets, like guidelines and templates, according to the development case.
      • Producing a list of candidate tools to use for development.
    • Prepare environment for Iteration: The purpose of this workflow detail is to ensure that the project environment is ready for the upcoming iteration. This includes process and tools.
      This work is focused mainly on:
      • Complete the Development Case to get ready for the iteration.
      • Prepare and, if necessary, customize tools to use within the iteration.
      • Verify that the tools have been correctly configured and installed.
      • Prepare a set of project-specific templates and guidelines to support the development of project artifacts in the iteration.
      • Make sure that all the changes made to the project environment are properly communicated to the project members.

    • Support environment during Iteration: Support the developers in their use of tools and process during an iteration. This includes installation of required software, ensuring that the hardware is functioning properly and that potential network issues are resolved without delays.