Files

5.3 KiB
Raw Permalink Blame History

ADDED Requirements

Requirement: Allocate hours to project

The system SHALL allow authorized users to allocate hours for a team member to a project for a specific month.

Scenario: Successful allocation

  • WHEN a manager allocates 40 hours for "John Doe" to "Project X" for February 2026
  • THEN the system creates the allocation record
  • AND the system returns the allocation details including project, team member, month, and hours

Scenario: Allocate zero hours

  • WHEN a manager allocates 0 hours for a team member to a project
  • THEN the system accepts the allocation (useful for placeholder or removing allocation)

Scenario: Cannot allocate negative hours

  • WHEN attempting to allocate -10 hours
  • THEN the system rejects the request with validation error "Allocated hours must be greater than or equal to 0"

Requirement: View allocation matrix

The system SHALL display allocations in a matrix format showing projects vs team members for a selected month.

Scenario: View monthly allocation matrix

  • WHEN a manager views the allocation matrix for February 2026
  • THEN the system displays all projects as rows
  • AND the system displays all team members as columns
  • AND each cell shows the allocated hours for that project-person combination

Scenario: Show allocation totals

  • WHEN viewing the allocation matrix
  • THEN the system displays total allocated hours per team member (column totals)
  • AND the system displays total allocated hours per project (row totals)

Scenario: Show utilization percentage

  • WHEN viewing the allocation matrix
  • THEN the system displays utilization percentage per team member (allocated / capacity × 100%)

Requirement: Update allocation

The system SHALL allow authorized users to modify existing allocations.

Scenario: Update allocated hours

  • WHEN a manager updates an allocation from 40 hours to 60 hours
  • THEN the system updates the allocation record
  • AND the system re-validates against capacity and approved estimate

Scenario: Cannot update non-existent allocation

  • WHEN attempting to update an allocation that does not exist
  • THEN the system returns a 404 Not Found error

Requirement: Delete allocation

The system SHALL allow authorized users to remove allocations.

Scenario: Delete allocation

  • WHEN a manager deletes an allocation
  • THEN the system removes the allocation record
  • AND the system recalculates project and team member totals

Requirement: Bulk allocation operations

The system SHALL allow creating or updating multiple allocations in a single operation.

Scenario: Bulk create allocations

  • WHEN a manager submits 10 allocations for a project across multiple team members
  • THEN the system creates all allocations
  • AND the system validates each allocation individually
  • AND the system returns results indicating success or failure for each

Scenario: Partial bulk failure

  • WHEN submitting bulk allocations where 2 out of 10 fail validation
  • THEN the system creates the 8 valid allocations
  • AND the system returns error details for the 2 failed allocations

Requirement: Track untracked resource allocations

The system SHALL allow allocating hours to an "untracked" resource bucket for external team time.

Scenario: Allocate to untracked resource

  • WHEN a manager allocates 10 hours to "Untracked" for a project
  • THEN the system creates the allocation without associating it to a specific team member
  • AND the allocation counts toward project total but not toward any team member's capacity

Scenario: Untracked resource has no capacity limit

  • WHEN viewing utilization for the untracked resource
  • THEN the system displays "N/A" or infinite symbol for capacity
  • AND no over-capacity warnings are shown for untracked allocations

Requirement: Validate allocation against capacity

The system SHALL warn when a team member's total monthly allocation exceeds their capacity.

Scenario: Allocation within capacity

  • WHEN a team member with 160 hours capacity has 140 hours total allocated
  • THEN the system accepts the allocation
  • AND the system displays utilization as 88% with no warning

Scenario: Allocation exceeds capacity

  • WHEN a team member with 160 hours capacity has 180 hours total allocated
  • THEN the system displays a WARNING "Team member over-allocated by 20 hours (113% utilization)"
  • AND the allocation is still allowed but flagged

Requirement: Validate allocation against approved estimate

The system SHALL validate that project allocations do not exceed the approved estimate.

Scenario: Allocation matches approved estimate

  • WHEN a project with approved estimate of 100 hours has exactly 100 hours allocated
  • THEN the system displays GREEN indicator "100% allocated"

Scenario: Under-allocation

  • WHEN a project with approved estimate of 100 hours has 80 hours allocated
  • THEN the system displays YELLOW indicator "80% allocated (under by 20 hours)"

Scenario: Over-allocation

  • WHEN a project with approved estimate of 100 hours has 120 hours allocated
  • THEN the system displays RED indicator "120% allocated (over by 20 hours)"
  • AND the system warns "Project will be over-charged by 20 hours"