A Background Study Importance Of Projects Information Technology Essay

Published: November 30, 2015 Words: 1769

The purpose of this project is very simple, that is, we are to implement a Requirements Management tool that will help companies, mainly Software developing ones to better handle requirements, manage them and hence help in developing satisfactory products.

Introduction to Requirements Management

In this section, we shall discuss Requirement Management in general. Some definitions that concern our topic of discussion are as follows:

A requirement is something which is wanted or needed. From a software engineering perspective, a requirement is a condition or capability needed by a user to solve a problem or to achieve a goal. Requirements can be categorized in two parts, Functional requirements and Non-functional requirements.

Functional requirements are statements of services or functionalities (or options) that the end-system should provide.

Non-functional requirements are the constraints on the services or functions offered by the system, such as performance, usability constraints.

Requirement engineering is a process of finding Stakeholders (including users, developers and customers), understand their needs and goals, and documenting these information in a form that will be used in the development of the product. Requirement engineering can be divided in 2 main activities, namely requirements development and requirements management.

Requirement development is in itself broken in different core activities and they are:

Problem Identification - A process where the customers' problem is identified, analyzed, broken in different parts to get a broader understanding about the matter.

Requirements Elicitation - A process where Stakeholders discover, articulate and understand the user's needs and conditions on the software and the development activity.

Requirements Analysis - A process where customers' needs are analyzed understood and are categorized into software requirements.

Requirements Specification - To create a document that accurately and clearly records each requirements of the software system in an orderly manner.

Requirements Verification and Validation - The process of ensuring that the software requirement specification is in conformance with the customer needs and standards.

Requirement Management concerns activities found the development part, that is, planning and controlling of the requirements elicitation, analysis, and specification and so on.

Overview of RM

The purpose of requirements management is to manage the requirements of the 'to-be developed' product (s) and to identify any possible inconsistencies between those requirements and the project's plan. Furthermore, requirements management has another purpose which is to concretize and establish a mutual understanding between the customer and those who will be developing the product.

In requirements management the main target is to abide by the stakeholders' conditions and requirements, thus the end product will be the desired product.

"Requirements Management involves establishing and maintaining an agreement with the customer on the requirements for the software project. The agreement forms the basis for estimating, planning, performing, and tracking the software project's activities throughout the software life cycle."

(CMM Practices Manual, CMU/SEI-93-TR-25, L2)

The toughest task in requirement management is to make sure that the final result equates to the stakeholders' expectations. In the end product, only required features are to be there and not be a 'feature bloat'. The requirements management handles any modifications to agreed requirements, relationships between requirements, and dependencies between the requirements document and any other documents created in the development of the project. The requirements are like a roadmap to the development of a product. They provide the scope and the direction for the projects. Alas, in practice, requirements management is not given sufficient attention. If requirements are not well managed, then failure awaits the project, and that could be 'suicidal' (in terms of capital) for the company developing it. On the other hand, a project that satisfies the requirements is said to be a successful project.

As said earlier, requirements management is one of the most delicate and critical processes in the software development. It is also said that requirements management is so vital that wrongly written requirements lead to 'severe' consequences. Some are as follows:

The product may well be late in its delivery and that will obviously cost more than predicted before.

The customers and the end users are not happy with the product. Hence they may not use the functionalities of the system.

The product may not be reliable in use, that is, system errors are present.

Maintaining, and upgrading such a system will cost more.

Normally, it will cost more to fix errors in requirements rather than fixing errors during the development process. Since repairing requirements faults may lead to the rework in the development process (design, implementation and testing phase), it is clear that the cost of fixing simple programming errors is lesser than requirement errors.

RM activities

Overview of RM tools

RM tool survey

In this section we shall consider existing solutions and tools which have already been implemented and used by not only software developing but other companies.

Five most common RM tools

Below is a list of the five most common Requirements Management Tools on the market, which have helped many companies from making huge losses.

Polarion Requirements from Polarion Software is the first web based Requirement Management Solution. It offers some key features and they are as follows:

-Document-like authoring

-Database-like authoring

-Web authoring

-Ms Word & Excel as client

-Wiki collaboration and discussion

-Editable traceability matrix

-Impact trees

-Document management

-Requirement workflow

-Requirement templates

-Custom link types

-Requirements change management

-Test case management

-Unlimited querying & reporting

-Cheapest Tool on the market [1]

Figure 1, Polarion Requirements; Database-like authoring feature

CaliberRM from Borland is an enterprise software requirements management tool that facilitates collaboration, impact analysis and communication, enabling software teams to deliver on key project milestones with greater accuracy and predictability. CaliberRM also helps small, large and distributed organizations ensure that applications meet end users' needs by allowing analysts, developers, testers and other project stakeholders to capture and communicate the users' voice throughout the application lifecycle. Below are its basic features:

-Centralized repository: CaliberRM provides a central, secure repository for all project requirements

-Adaptability: CaliberRM adapts to fit your processes, bringing speed and agility to the software requirements management process

-End-to-end requirements traceability: The open architecture of CaliberRM lets you link software requirements to a variety of artifacts across the lifecycle

-End-to-end impact analysis: Multiple methods for visualizing traceability help users to understand immediately the scope of analysis necessary to gauge the impact of a specific change

-Diverse client set: CaliberRM includes clients for a variety of users, such as Web, Eclipse, Microsoft® Visual Studio® (including Team System) and Windows®

-Integration: Integration with other Borland products enables you to weave software requirements management throughout the product development lifecycle [3]

Figure 2, CaliberRM; Traceability matrix feature

IBM Requisite Pro, from IBM, is a requirement management tool for project teams who want to manage their requirements, write good use cases, improve traceability, reinforce collaboration, reduce project risks, and increase the quality. Below is an overview of the Tool:

-Uses advanced real-time integration with Microsoft Word to provide a common environment for activities such as requirements definition and organization

-Incorporates a powerful database infrastructure to ease requirements organization, integration, traceability and analysis

-Enables detailed attribute customization and filtering to maximize the informative value of each requirement

-Provide a fully functional, scalable web interface optimized for usage in a geographically distributed environment

-Integrates with multiple tools in IBM Software Delivery Platform

-Support Windows as OS [2]

Figure 3, Requisite Pro; Attribute Matrix View feature

IBM DOORS, from IBM is a leading requirements management application that can help you reduce costs, increase efficiency and improve quality by enabling you to optimize requirements communication, collaboration and verification - throughout your organization and across your supply chain. An overview is given below:

-Provides a comprehensive requirements management environment

-Actively engaging all stakeholders in a collaborative requirements process by providing web browser access to the requirements database and integration to requirements definition capabilities

-Manages changes to requirements with either the built-in Change Proposal System or through integration to IBM® Rational® Change â„¢ or IBM® Rational® ClearQuest

-Supports the Requirements Interchange Format, which enables suppliers and development partners to be directly involved in the development process

-Links requirements to design items, test plans, test cases and other requirements for easy and powerful traceability

-Scales to address your changing requirements management needs

-Enables informal requirements discussions with DOORS Discussions

-Includes the Test Tracking Toolkit for manual test environments, so testers can link requirements to test cases [4]

Figure 4, Rational DOORS; Test case Management feature

MKS Integrity, from MKS is the only enterprise requirements management solution offered within a coherent ALM platform. MKS Integrity helps you to drive shorter cycle times, achieving greater quality and traceability. Reuse and requirements change management capabilities are coupled with meaningful (and traceable) relationships to downstream code and testing assets, to ensure communication of change, conformance to requirements and compliance with applicable governance or regulations. [5]

MKS Integrity addresses the common customer problems with managing requirements by providing a platform and capabilities like:

-Requirements change management - Process and workflow, authorization and assignment controls who, what, when and where change happens, and communicates the impact of that change across the lifecycle to all involved.

-Requirements configuration management - Versioning, branching and baselines of requirements and requirements documents enables reuse of requirements assets at any point in the lifecycle and leverages investments across projects.

-Requirements traceability - Artifacts can be linked within the repository to others either up or downstream, across projects or through time facilitating communications, discovery, assessment of the impact of change and the generation of metrics for decision making.

-Requirements authoring - A streamlined user interface captures the rich content of requirements within documents, lists or hierarchical structures. Integrations into productivity tools such as Microsoft Word and Excel streamlines import of rich content.

-Requirements visibility and metrics - Complete visibility across roles, projects and users along with metrics calculated at every stage of the lifecycle and displayed through reports, charts and dashboards enables informed and timely decision-making.

-Architecture and administration - MKS Integrity's enterprise architecture and centralized administration is built by design to support the scalability and performance needs of a highly collaborative, process-central global organization. [6]

Figure 5, MKS Integrity; Trace requirements through the downstream lifecycle to delivery

Architecture comparison

Choice of technologies

Future trends

Comparison table

Features

Polarion Req

IBM DOORS

IBM RequisitePro

Borland CaliberRM

MKS Integrity

Document-like authoring

Database-like authoring

Web authoring

Ms word as client

Ms Excel as client

Wiki collaboration and discussion

Editable traceability matrix

Document management

Requirements workflow

Requirements templates

Requirements change management

Test case management

Unlimited querying and reporting

Commercially supported databases

Real time notification

Baseline creation and comparison

The table below is a comparison of the basic features of the five RM tools viewed above

Ideal tool