Sunday, March 1, 2009

The requirements specification

I have a completed requirements specification of which I will provide a brief part of it. The main task here is to determine the best way to break the components down into N3/triple terminology. This can then be graphed and evaluated further to try and simplify the presentation of the requirements in terms of evaluating them for each tool vendor.

Requirements are important to be able to document the customer's needs. They also form the basis for measuring the success of the implementation of the project and are used to confirm that what was agreed up was delivered. In creating requirements for a large, enterprise level tool there are many areas to discuss with the vendor. A proof of concept can then be conducted to validate the requirements against the actual tool.

So let's look at the categories of the requirements in detail.
Any comments on how I can begin creating a table for N3 notation will be appreciated.

Impact Areas:
Admin – this area contains tasks that apply to or are completed by the CM tools administrator.
Build and deploy – tasks where a full or partial compilation is done of the code base at any given time. Normally done with code from a specific code base version or branch
Defect tracking – allows users from any functional team on the project to enter a defect or issue against a current build or release of the system. This can also be listed as an enhancement if the tool allows for tracking of new requirements. A key component here is for the tool to have traceability or integration back to the source code base at the module level.
Global – these are tasks spread across many functional areas such as admin, pricing, engineering, setup, analyst, etc.
Sales – tasks that apply to pricing or cost of the product, usually determined by license types and scenarios. The licenses are broken into user types (QA, engineering, help desk, and analyst) and can be either named (assigned to a specific user), or floating (shared by multiple users).
Source control – tasks that allow the source code to be changed, managed, and reported on. A key component of this is integration with third party code development tools.

…….. So how to combine all of this into N3/triples notation?