Contact Us

Contact us if you have any questions or suggestions regarding Almware. Use the form or write us a letter.

Core Concepts

Decomposition

Requirements as Artifacts

Almware uses several types of artifacts to describe requirements. An artifact is an object that includes unique number, name, description, and other attributes, depending on its type. For example:

  • Business-level artifacts describe business or user requirements, such as business goals or use cases.
  • Software-level artifacts describe detailed software behaviour requirements.

Low-level software requirements in Almware are managed using "Modules" and "Features" artifacts.

Depending on the project configuration, Almware provides two ways of decomposition:

  • Requirement statements can be described as feature description document. This is a more simple and less formalized pathway.
  • Requirement statements can be described as separate artifacts within the feature artifact. Each statement can be an individual requirement with its own number and other attributes. This approach is suitable for projects where deep formalization is needed.

Benefits of "Requirements as Artifacts"

  • Efficient Organization.
    Classify and structure requirements intuitively.
  • Change Tracking.
    Track changes to individual artifacts with version control.
  • Traceability.
    Link requirements to tasks, test cases, and source code.

This approach ensures visibility and accessibility for every aspect of a requirement. For instance, when a business requirement calls for a new feature, a new function artifact is added. Related tasks for developers, test cases, and test results are linking to this artifact. This makes it easy to track the entire process, from initial business requirements to development, testing, and final release.

Structure of Artifacts

Artifacts in Almware are structured across multiple levels:

Business Requirements Level

Business requirements are used to organize high-level user requirements and business goals and needs. Represented as individual documents for business and user requirements, e.g. business goal or use case.

Business requirement artifacts are optional and can be disabled in project configuration.

Software Requirements Level

Software requirements contain detailed specifications of software functionality and non-functional requirements.

In Almware, software requirements organized into a hierarchical structure:

  • Modules
    Collections of related features, e.g., "Product Catalog."
  • Features
    Specific features and functions within a module, e.g., "View Product List."
  • Requirements
    Specific requirements for each function, e.g., "Display 20 items per page.". Depending on project configuration, can be described as a part of feature description document or by separated artifacts for each statement.

Software Specifications

Additional artifacts that describe aspects of the software, organized into directories:

  • Data Models
    Data entities with attributes and relationships.
  • User Interfaces
    Screens, forms, and other user interaction points.
  • Software Interfaces
    API endpoints or software connectors.
  • Custom Artifacts
    Customizable items that must be traceable like event types, notifications, and configuration variables.

Decomposition Depth

Almware provides two way of software requirement recomposition.

  • Feature Documents
    Each feature is described as an individual document with functional and non-functional requirements. 
  • Individual Requirement Artifacts
    Each requirement is a separate artifact related to feature artifact. This provides more detailed decomposition  but requires more effort to support and manage.

Everything Revolves Around Features

Features are the key artifacts that connect all other elements in Almware. This centralization allows for the integration of various elements, including:

  • Business Requirements
    Define business goals and user requirements tied to features.
  • Software Specifications
    Provide details on data models, user interfaces, and software interfaces linked to features and functions.
  • Tasks and Issues
    Detail developer assignments, issues, and improvements linked to features.
  • QA (Test Cases and Test Runs)
    Define how to test a feature, acceptance criteria, and test status.
  • Software Units
    Link the source code implementing the feature functionality to the feature artifact.

This integration gives teams a comprehensive view of the product, allowing them to see how every piece fits together.

Traceability, Traceability, Traceability

Why Traceability Matters 

Traceability establishes links between related artifacts throughout the development process, connecting requirements, tasks, tests, and code changes.

Key Benefits

  • Implementation Tracking
    Follow the requirement from conception to release.
  • Dependency Awareness
    See how changes affect different system components.
  • Quality Assurance
    Control and verify requirement implementation.