Introduction
In a distributed software and systems development project, Requirements Management plays a critical role in ultimate success of the project. For an efficient and optimal management of Requirements, a fully functional Requirements Management tool is not just a necessity; it can be a life saver. Using documents and spreadsheets often is an easy way to start Requirements Management as a practice, but in no time it becomes a liability instead of a reliable tool.
The two aspects of Requirements Management, which can substantially help a distributed project, are Collaboration and Reusability. These two are also the features which force a group using documents for Requirements Management to upgrade to a tool based Requirements Management. This paper describes how Kovair’s Requirements Management tool helps a distributed project in achieving collaborative Requirements Management with high degree of reusability which can substantially reduce the development time and risks.
Collaborative Approach to Managing Requirements
Collaboration is the basis for working together to share information and to accomplish common tasks. In modern software development practices, the “Collaboration” among different groups / roles working from various geographic locations has become a necessity. Out of all phases of software development lifecycle, it is the Requirement Management phase that greatly demands collaboration, especially due to the fact that various globally distributed stakeholders need to be involved in creating, reviewing and approving Requirements.
Kovair application provides a Collaborative Knowledge Management Infrastructure for distributed teams. A single web-based application covers all the features necessary for all asynchronous collaboration. Kovair Requirement Management, a 100% web-based customizable solution, offers multiple avenues to work collaboratively to manage requirements.
Collaboration for all stakeholders, Anytime Anywhere Access – 100% Web-based
Kovair application is 100% web-based, which means any user with identity authentication can access the application over the Internet from any geographic location. The application is supported by most popular browsers like – Internet Explorer, Firefox and others.
The system is designed and architected from the ground-up to be an enterprise class, 100% browser based system. This allows users to access Kovair Requirement Management solution from remote locations and enables collaboration across geographically distributed teams. Maintenance and Upgrades to the software are seamless to the end-user and are of light over-head to the IT departments.
One other important aspect of distributed development often overlooked is the difference in time zones and date/time format. Kovair Global Lifecycle allows personal preference setting to own time zone and date time format so all database date/ time are translated to the correct date/ time and format.
It is a well-known fact that the TCO (Total Cost of Ownership) is substantially lower for a 100% web based software than a similar client-server software with a light web interface offering small subset of functionality.
Collaboration while traveling – Email Notifications and Mobile Email Support
Kovair fully supports email notifications to any email addresses. Notifications can be generated manually on an ad-hoc basis or can be automated by means of Kovair Policies.
Event driven Policies can be created to send notifications based on an event occurring in the Kovair database. Kovair also allows scheduled policies that can send email notifications based on specified frequencies. In the following screenshot the details of a Scheduled Policy.
Email notifications can be associated with a Mail template. A Mail template in Kovair can be of Plain Text and Rich Text. Mail templates can be customized with embedded macro variables corresponding to the field values. Users can include read only fields as well as editable fields in the Mail template, so that users can update editable field values directly from the mail itself. An email enabled mobile phone e.g. Blackberry, iPhone can be used for interacting with these email notifications for both receiving as well as sending information to Kovair application. This allows users to collaborate with the rest of the team even when they are traveling or physically apart.
Collaboration with history – Multi-threaded Discussions
A primary activity of any team is to make a series of decisions based on comments and opinions of its members. These are sometimes done in synchronous meetings (either in-person or using technologies like teleconference or online-meeting). Whereas such meetings have their place, multi-threaded discussions (in the context of each collaboration item) provide a forum to share such comments in a more structured way, reducing the need to have costly meetings. These discussion-threads allow one to capture a complete history (and hence the intellectual property) of the decision making process. For instance, if one were to ask the question ‘Why did we decide to have a mechanical brown-ness control (of a toaster) rather than an electronic one’ a year into the project, it is much easier to query the knowledgebase and get the contextual threaded discussions than by poring over volumes of meeting minutes or email threads (assuming they exist in the first place).
Kovair Application supports multi-threaded discussions in terms of contextual Comments. Kovair has a built-in Comments section that can be exposed to the users via system pre-defined or custom defined forms. The purpose of this section is to enable users to carry out multi-threaded discussions in the context of each Requirement. The discussions are entered either as a New Comment or Reply to an existing comment. Comments can be in the form of rich text with all sorts of formatting and even embedded images. Kovair allows users to include multiple attachments to their comments. The attachments can be – simple Notes, any type of Files (Word document, spreadsheet, image etc.) and URL. These multithreaded discussions are saved in the context of the version of a Requirement.
Collaboration with Developers – Integration with Visual Studio & Eclipse IDEs
Visual Studio Team System (VSTS) and Eclipse are acknowledged as industry’s leading Integrated Development Environments (IDE). These IDEs are mostly used by the developers, and often they need to work together and share information with other stakeholders like – Business Analysts, Architects, Project Managers and Testers. However the developers using these IDEs prefer to collaborate from within their preferred development environments, rather than opening up yet another tool external to the IDE.
‘Kovair plug-in for Visual Studio’ and ‘Kovair plug-in for Eclipse’, the platforms for developers, ensure collaboration among the stakeholders throughout the development lifecycle, and synchronization among disparate tools. By means of Kovair plug-ins for Visual Studio and Eclipse, the access of developers can be extended to all software development artifacts like – Requirements, Designs, Test Cases, Defects and Tasks originating from diverse ALM tools without leaving their preferred IDE. Kovair plug-ins are a much needed functionality for .NET and Java developers who wish to use a single tool environment both for doing their primary development job and collaborating with other teams.
Collaboration with QA group – Integration with HP Quality Center
Kovair offers seamless integration with HP Quality Center. This integration enables the synchronization of real time data between these two tools such that the different stakeholders like Analysts, Development and QA are benefited from it. Cross-tool communications are done through Kovair OMNIBUS – the Integration Bus for IT using API based communication.
Collaborating concurrently with Kovair Tasks
Kovair has built-in Task Management for users to collaborate in the management of Software development in general and Requirements Management in particular. Tasks can be created either manually or automatically using Kovair’s Process Automation or Policy Automation functionality. One or more Tasks can be created for one or more users asking them to do different activities for a single Requirement. This unique Kovair feature allows concurrent operations on a single Requirement by multiple actors.
By focusing on the Tasks assigned to them, users can participate in a complex Requirements Management process without being aware of the process definition. This also reduces the need of extensive training as the process remains transparent to the end users.
In Kovair application, users get a separate page from where they can view the allocated Tasks from multiple Workspaces. This page is user specific, meaning a user can view only those open Tasks which are assigned to him/her from all the accessible Workspaces. Collaboration with tasks allows users to simultaneously contribute to various activities of a single Requirement. With most other Requirements Management tool this is not possible since they are State based (i.e. a Requirement can be in one state alone at any time) and does not have a built-in Task Management functionality. From the list page the user can navigate to the detail page of the task where detailed level information of the task as well as the parent requirement can be made available. Kovair also provides access based flexibility of viewing and modifying the details of the parent requirement.
Customizable Interface
Kovair allows the entry Forms of the different entities to be completely customized. Administrators of the application can define the sections or layouts of the forms; including the grouping of fields in various sections, the placement of fields within each section and the Labels for each field. The customization is easy to perform through the graphical form builder.
In Custom Forms any field can be made Mandatory or Read-only. For a single or multiple section fields the lookup values may be filtered to show only certain values. There can be multiple Custom Forms of the same type, each assigned to different groups of users. E.g. to enter and edit a Business Requirement the users in the Customer Group may use a simpler form than the Project Manager Group users.
Document View
Requirements are mostly gathered in documents with formatted texts and images. Kovair’s built-in Document View is an advantage for the stakeholders who are familiar with document-based Requirement.
The Document View of Kovair application gives the same flavor to those users so that they feel as if they are working in their preferred environment. The Document view lists the requirements with their descriptions (formatted texts and images) as it is found in a normal Word document. A unique feature about this View is that it allows the users to do inplace edits of the descriptions right in the view itself. Often for the sake of various process activities of Requirement Management, the stakeholders (Analyst, Designer, or Project Manager) are forced to manage Requirements in several Word documents. Managing wide range of documents with various versions is quite cumbersome. Instead, the documented Requirements can be managed with ease via a single Document View, and the records can be retrieved by filtering them based on types of Requirements (say, System Requirement, Marketing Requirement, and Customer Requirement).
Traceability View
Traceability is a technique to trace Entity items, according to the relationships with the items of the same or different entities, and to manage dependent items for impact analysis. Traceability relationships allow users to track linked items of different Workspace Entity. For example, Test Cases are derived from Requirements, and Issues are linked against Test Cases. So, relational dependencies exist among cross entity items. Kovair allows users to create 1 Way / 2 Way relations between the entities defined in the workspace. Any impact due to traceability can send notifications to the appropriate people.
Using the built in Traceability View a user can get to see the entire chain of linked entity items of a workspace. The advantages of such a Traceability View are as follows:
- Consolidated Visibility: Linked items are displayed in a hierarchical tree structure – grouped by entity
- Complete Traceability: Chain of linked items for backward and forward traceability
- Wider Coverage: Hierarchical tree structure is available
- Optimum Effort: Easy to track related items, and analyze the impacts on dependent items
Reusing Requirements in Kovair
Requirements reusability allows users to use well defined, reviewed and approved Requirements from one scenario to another. The scenarios may vary in terms of different projects, different customers, different products or even different releases of the same product. Kovair offers a number of tools to manage the reusability. This includes:
- Cloning of one or more Requirements
- Reusing Requirements across various Organizational units like Projects (or Products or Releases…) for Views and Traceability
Reusing by Requirements Cloning
The clone operation allows users to create copy of one or more Requirements. While creating these copies users have some flexibility in defining the type of copy it will make. Optionally the cloned item can be automatically traced to the source item to keep a historical context of its origin.
In addition to the above control over cloning the related items users can also control how the new cloned Requirement will be related to the source item in terms of versioning. By creating a ‘Branch’ while cloning, the cloned item shares the same Id as the source item but with a unique Branch identifier. This allows a cloned item to be viewed as special version (Branched) of the same Requirement. The typical example is when the same Requirement is used for different customers with slight changes. This can be achieved by creating various branches from the same root Requirement and Branches are identified by the Customer names. The following diagram shows that a Requirement at its’ Ver. 6 branched out to customers ‘Atlas’ and ‘Apollo’ who want the same Requirement with slight variations. In addition Apollo’s North American and European divisions want their own versions of the same Requirement. Each branch can be managed independently with their own version controls. In the future, branches can be merged too. For example if customer Apollo decides that all divisions should use the same version then the North America and Europe branches can be merged to a single Apollo branch.
Reusing Requirements with Baselines
With respect to the Requirements Management scenario, versioning of Requirements is a very well-known practice. Conceptually speaking, though the Baseline functionality in Kovair is more or less same as requirement versioning yet, it has a much broader spectrum.
Baseline drawn on a particular date captures a snapshot of included Requirements, Use Cases, and Test Cases and other artifacts. During the course of time, even though any of these items get changed, the baseline would still hold the exact state of the item as it was on the date when the baseline was drawn. In context of Requirement Management, the milestones can be set by creating Baselines on regular interval. The reason being, it archives the history of Requirements so that you can refer to them and compare with their current state on a later date. For instance 6 months down the line, if the management wishes to view the contents of the set of Requirements as it was on the Project kick off date, they can refer to the Baseline drawn on that kick off date. Kovair’s Baseline is very flexible since this kind of report can easily be generated as of any arbitrary point in time to show the status of an ongoing project.
Kovair also provides the functionality to compare two baselines drawn on two different dates so that the management team gets an insight of all the changes occurred in the Project between these two dates.
Reusing Requirements across different Organizational Units
Unlike cloning, sometimes it is required to refer to Requirements from different organizational units (e.g. Projects, Products, Divisions or Releases of the same Product) especially in terms of Traceability relation. Kovair allows managing Requirements for various organizational units within a single Workspace. For example a single Workspace can be used for managing Requirements of multiple Projects, Products, Divisions or Releases of the same Product. By creating Access Groups users can be limited to create, view or edit Requirements of a particular organizational unit. Users who have access to multiple organizational units, can view Requirements from multiple units in a single vie or report. They can also create Traceability relations between Requirements from different organizational units.
Conclusion
In this paper, we have discussed three approaches to Integrated ALM by comparing them for technology, business values and cost. It has been shown that the method of ESB based ALM integration is the most suitable method for implementing Integrated ALM in organizations having or needing multiple vendor tools.