Introduction
When working with requirements, it is possible to apply various methods of organizing them: from the method of complete chaos, to integrating requirements with program code (article
Five levels of requirements maturity ). Gradually improving the work with the requirements, usually, in the process begin to introduce various new methodologies and tools. One of the classes of tools designed to simplify work with the requirements are the specially trained "animals": Requirements Management Systems (QMS). The main features of such systems are:
- Creating a simpler than the whole document project management units (requirement). Reading and confirming one requirement is much easier than agreeing on an entire Terms of Reference.
- Specifying links between requirements. This feature allows you to track changes in related requirements. Those. if something has changed, then the system can then select all the elements associated with the changed, as suspected of change.
- The choice of representing a set of interrelated requirements. With a large number of requirements, it is sometimes necessary to present the whole picture of their relationship. It is more convenient for someone to view this information in the form of a table (trace matrix), someone in the form of a hierarchical tree, someone in the form of network graphs (article Requirements Management Systems: what and why? ).
Among these programs there are well-known “Monster Animals”, such as:
IBM Rational DOORS ,
Borland Caliber ,
Polarion Requirements , etc. with a large number of functional capabilities. Such systems, as a rule, are well-established, but expensive. However, among this list there are small, free, little-known, but very useful "animals" of the type Axiom.
')
Purpose of the article
As a rule, when a decision is made to introduce a new tool, it is understood that the team members have a list of requirements for a new software that has arisen from the problems they have encountered. Personally, when I was in a similar situation, I really lacked review articles, which described the functionality of the tools and the specific situations of their use. Therefore, the purpose of this article is to describe the basic functionality of the Axiom requirements management system.
The essence of the problem
I was faced with the problem of requirements management when I was collecting needs for off-the-shelf software that could be customized to the needs of customers. The functionality of this program defines a set of requirements for it. I will explain with an abstract example. Suppose there is a ready-made program in which the user can:
- Enter text in the text field;
- Save the entered text in doc, xml and pdf formats;
- Print the entered text.
The first customer, buying this software, stated that he needs all the listed functions, but he does not know the xml and pdf formats, he does not want to pay for this opportunity, therefore he will save the entered text only in the doc format. Based on this, we obtain the following set of requirements for this Customer:
All software features | Customer Requirements 1 |
---|
- Enter text in the text box;
- Saving entered text in doc, xml and pdf formats;
- Print the entered text.
| - Enter text in the text box;
- Saving entered text in doc
, xml and pdf formats; - Print the entered text.
|
The second customer said that he did not need the function of printing text. He has his own software, which perfectly prints documents in doc, xml and pdf formats. For this Customer a list of software requirements contains:
All software features | Customer Requirements 2 |
---|
- Enter text in the text box;
- Saving entered text in doc, xml and pdf formats;
- Print the entered text.
| - Enter text in the text box;
- Saving entered text in doc, xml and pdf formats;
Print the entered text.
|
And the third customer bought the software with a full range of functionality.
All software features | Customer Requirements 3 |
---|
- Enter text in the text box;
- Saving entered text in doc, xml and pdf formats;
- Print the entered text.
| - Enter text in the text box;
- Saving entered text in doc, xml and pdf formats;
- Print the entered text.
|
This means that the number of requirements for the purchased product, which is customized for a specific Customer, is less than or equal to the number of program functionality.
In the process of improving the quality of the program, the amount of functionality has increased significantly. As a consequence, the number of claims has increased. The technical assignment documents (TZ) have become very cumbersome. It has become much more difficult for both technical specialists and customers to delve into them. Plus, it has become harder to keep such a large number of opportunities in my head. Increased probability of missing any implemented function.
Due to the current situation, I decided to try a tool in which it would be possible to describe all the software requirements. From the full list of all possible requirements, for a specific project, those requirements that meet the needs of the Customer should be selected. Based on this set, the tool should also automatically generate documents in doc format in order to simplify the task of creating the Terms of Reference. In addition, it is necessary that it can determine the relationship between the requirement and those actions that need to be done to include or exclude this particular requirement in the software.
Having tried various CMS (mostly free tools were selected from the
List of Requirements Management Tools article), I focused on the
iConcur Axiom tool .
Axiom
Axiom is a free, cross-platform, client-server requirements management application.
It should also be noted that the developer has a paid version of the product, with additional features, but still Axiom is positioned as a free product, since the functionality of the free version is quite enough to simplify work with the requirements.
So why exactly Axiom? I chose this tool for the following reasons:
- Free software;
- The flexibility of the tool (the ability to customize the work with the tool, depending on the characteristics of a particular company or project);
- Simplicity tool;
- The ability to generate documents based on the data stored in the tool.
But let us dwell on the basic functionality of this product.
The first acquaintance with Axiom
After the user is authorized, the main tool window opens.

It can be divided into the following logical parts:
- Toolbar and menu (above);
- The artifact tree (in the left part of the window; what the artifact will be described below);
- Artifact information editing window (in the middle);
- Auxiliary sections (view), located on the right and below.
So what is an artifact?
An artifact is a product of a project, generated and / or used in it when working on software, for example, a requirement, a test case, etc. In Axiom, this term is used very actively.
All objects created by the user are artifacts, and all of them will be displayed in the artifact tree.
The list of artifacts created and the information that will be collected on them is determined by the users of the tool themselves using artifact templates.
Creating artifact templates
Thanks to this feature, the tool is very flexible and can be customized to suit the different needs of team members.
What is a pattern?
A template is a set of attributes on which the artifact description is executed. For example, to work, we need an artifact Functional requirement. Functionally, the requirement should contain the following information:
- Name (“Save Document”, “Add Button to Interface”, “Data Transfer”);
- Description (for example: the system should save the document when clicking the “OK” button);
- The source of the requirement, i.e. the person who voiced it;
- Questions arising from the discussion of this requirement;
- Requirement status, for example, Approved, Agreed, Reviewed, Rejected, etc.
- Priority, i.e. how important it is to implement this requirement.
- Information on whether this requirement will be implemented in the first version of the product.
The above list is a set of data (attributes), which will be used to describe all the functional requirements of the product.
Attributes in Axiom can be of different types: these are text fields, drop-down lists, user-defined lists of values, and checkbox attributes that can be used to mark whether an artifact has a certain property or not.
It is logical to assume from the Functional Requirement attributes described above that the Source and Questions attributes should be text fields, the Status and Priority drop-down lists, and the information on whether the requirement is included in the first version of the product can be implemented with a flag. The figure below shows an example with the implemented Functional requirements template, which is called “Requirements”.

Based on the created template, you can create an unlimited number of artifacts.
Create artifact
The creation of the artifact itself is as follows:
- In the artifact tree, you select the node (group of artifacts) to which the artifact belongs;
- Then you need to choose a template on the basis of which the artifact will be created;

- Set the name of the artifact (Name);
- And edit its attributes and description.
The figure below shows the result of creating an artifact of the “Text input” functional requirement based on the “Requirements” template.

Similarly, you can create artifacts based on other templates. The figure below created an artifact of the program settings, containing a description of the actions that must be performed in order for certain functionality to be included in the software. This artifact is based on another template and therefore has a different set of attributes.

Artifact Interconnections
To determine the links between artifacts in Axiom there is a special section “Linking Surface”. Axiom implements a standard relationship template based on which you can create various types of connections, for example, “Linked to”, “It is impossible to implement without”, “Parent element for”, etc. The relationships are set manually by the user in the section “Linking Surface”, by connecting artifacts selected communication type. The figure below shows the created relationship of functional requirements and settings using the new type of communication “Required”.

Communication data shows what settings you need to make in order for one or another functionality to work.
In addition, hyperlinks to other artifacts that can be added to the description of the artifact for further explanation can be used as relationships.

MS Word integration
Axiom integrates with MS Word, which allows you to create documents containing information on the artifacts created. This functionality is intended to simplify the formation of such documents as the Terms of Reference (Software Requirements Specification), Vision and other project documents. The necessary information on artifacts is already stored in Axiom, and the user does not need to re-enter this information manually.
After installing Axiom on a computer in MS Word, a special tab “Axiom” appears, with which the user can create a document template. To do this, the user must place in the right places in the document links to the attributes of the selected artifacts. In the figure below, a document template is created containing the following information about the artifacts:
- Name;
- Identification number (ID);
- Description of non-functional requirements (Content).

After that, the user can create a finished document containing all the necessary data.

It should be noted that I have verified Axiom integration only with
MS Word 2007, 2010 . The 2013 version was also tested, but integration does not work with it.
Artifact table
The Artifact Table is a special Axiom section for presenting a set of artifacts in a convenient tabular format.

One of the convenient functionality of this section, I consider changing the attribute of several artifacts at once. For example, you need to change the status of several requirements at once to “Complete”.

In my opinion, this feature greatly speeds up editing artifacts.
Besides
Above, I listed the main Axiom functionality that I used and found very convenient at the current stage of implementing the tool in the work process. But in addition, the following convenient features are implemented in the free version of Axiom:
- Discussions. Users can discuss artifacts and get feedback using a special Discussion section;
- Administer users. This feature allows you to create a new user and determine his username and password. Unfortunately, in the current version of the product, there are only 2 user roles: an administrator who can do everything, and a simple “mortal” user, who can only view artifacts.
- View the version history of artifacts and attributes of different versions using the History section.

- Export generated data to xml, xls format.
For the paid version also available:
- Axiom Rules Language. A feature that I personally would be interested to try. What is its essence? IConcur has created its own language for describing requirements to eliminate the ambiguity of their understanding. In addition, an editor was created that checks the correctness of the written requirement. The figure below shows a clear example of a requirement written in this language.

- Prototyping interface. The paid version of Axiom has a built-in prototype editor. Created interfaces are also considered artifacts and can be associated with other artifacts.

- View the requirements trace matrix using the special Linking Matrix section. This section allows you to view the relationships between artifacts in tabular form, as shown in the figure below.

- View a hierarchical artifact linking tree.

Note: The functionality of the paid version of the tool is described based on the Axiom User Guide and has not been tested by me.
Total
Summing up, I would like to list the identified advantages and disadvantages of this product.
pros
FREE. Of the free tools I have tested, this system is the most “decent”. Pleasant website of the developer, easy installation, user-friendly interface. Plus, for the free tool, the program has a sufficient amount of functionality, at least to solve my problem.
Tool flexibility Due to the ability of users themselves to create templates of those artifacts that they use when working, this tool can be used in various projects.
Ease of work. First, it is an intuitive interface. Secondly, the tool has no sophisticated work settings and some additional parameters, such as, for example, in MS Word, the “Parameters” section of the menu that defines important, but sometimes unobvious aspects of working with software. Additionally, Axiom has a set of free
video tutorials that in an accessible way teach (teach, rather than explain) the user the main features of the tool and additional features that can greatly simplify the work with the tool.
Cross platform Version 4.0 was available for installation only for Windows OS and Linux. In the new version 4.1, the installation of the product on Mac OS has become available.
Minuses
Strange company. I first met the mention of this program on
Stack Overflow , where the “CEO of iConcur Software” Brent Wilson advertised this product. Comments to Brent's answer, especially this one: “I tried this product recently. I tried calling, emailing, and opening a support ticket but no response after a week. Is iConcur still alive? ”They surprised me. Well, plus to everything, technical support works really strange: sometimes it answers on the same day, sometimes it doesn’t answer for weeks, but it happens that it is completely silent. In justification of the company, I can note that a new version of the software has recently been released, so that “the patient is more likely alive than dead”.
Software bugs. Such errors that would make it impossible to work with the product or, for example, deleted the results of hourly work, I did not find. There were bugs related to installing software, launching the client part (before that you need to restart the server) or the icons in the interface were not displayed ... But still this is not very pleasant. On the other hand, many of us work with MS Word ...
The lack of integration with MS Word 2013. This is really a shame. Because I find this functionality very convenient, but it limits me in choosing the version of other software. But maybe everything will be fixed in the next versions.
PS
Personally, I really like this tool. Unfortunately, I cannot describe the final results of its implementation, since this, for various reasons, is not a quick process. In any case, I believe that the Axiom can be useful even for simple familiarization with such "animals" as requirements management systems.