Thank you! We will contact you shortly.
Contact Us
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.