What are subtasks?
Subtasks break down task requirements into actionable work:- One subtask per work type per requirement
- Assigned to individual team members
- Scheduled with start and end dates
- Tracked through phases
- Linked to time entries
Subtasks are auto-generated when a task is created from a quote. The system creates initial subtasks; fix subtasks are created dynamically when QA fails.
Subtask types
Subtasks are organized by phase:Design Phase
- Design - Creating visual designs, mockups, prototypes
- Client Design Feedback - Incorporating client feedback (created dynamically)
Development Phase
- Development - Writing code, building features
- Internal QA Fixes - Fixing issues from internal QA (created dynamically)
- External QA Fixes - Fixing issues from client QA (created dynamically)
QA Phase
- Internal QA Review - Team testing the work
- External QA Review - Client reviewing the work
Deployment Phase
- Deployment - Deploying to production
Subtask statuses
Subtasks progress through statuses:| Status | Description | Available Actions |
|---|---|---|
| Not Scheduled | Created but no dates assigned | Schedule |
| Scheduled | Has assignee and dates, not started | Start |
| In Progress | Work actively happening | Complete, Log Time |
| Awaiting Review | Completed, waiting for review | Review, Approve |
| Complete | Finished | Log Time (if needed) |
Subtask estimation
T-shirt sizing
Estimates are based on t-shirt sizes:| Size | Time Range | Average | Use For |
|---|---|---|---|
| XS | 0-30 min | 15 min | Tiny fixes, copy changes |
| S | 60-120 min | 90 min | Small features, bug fixes |
| M | 3-6 hours | 4.5 hours | Medium features |
| L | 8-16 hours | 12 hours | Large features |
| XL | 24-40 hours | 32 hours | Very large features |
| XXL | 40-120 hours | 80 hours | Epics, complex projects |
80/20 split
Estimates are split between core work and feedback/QA:- 80% goes to initial core subtask (e.g., “Development”)
- 20% is the feedback budget, split 50/50 between:
- Initial QA review subtask (50% of feedback budget)
- First QA fixes subtask if QA fails (50% of feedback budget)
- XS tasks (≤15 min) have no split - all time goes to core work
- Subsequent QA iterations get 0 min (PM sets manually)
- Requirement: M size Development (270 minutes average)
- Development subtask: 210 minutes (80% core work)
- Initial Internal QA Review: 30 minutes (50% of 60 min feedback budget)
- First Internal QA Fixes (if needed): 30 minutes (50% of 60 min feedback budget)
The feedback budget is split upfront—half for QA review time, half for potential fixes. If QA passes on the first round, the fixes budget isn’t used (good for efficiency). If multiple fix rounds are needed, the PM allocates additional time manually.
Scheduling subtasks
Opening the schedule dialog
Project Managers and CSMs schedule subtasks:- Open the task’s Subtasks tab
- Click Schedule on an unscheduled subtask
- The scheduling dialog opens with two options:
- Block-based scheduling (recommended)
- Direct scheduling
Block-based scheduling
When you open the schedule dialog, you’ll see available blocks for this client:Select a block
The dialog shows blocks matching the subtask’s work type (Design, Development, QA). Each block card shows:
- Month and year
- Assigned developer (or “Unassigned”)
- Block type
Block with assignee
If the block already has an assigned developer, clicking it:
- Auto-selects that developer as the assignee
- Finds their first available date within the block’s scheduled date range (e.g. 11th Feb – 2nd Mar)
- If the developer is fully booked throughout the block period, the block’s start date is selected and a capacity warning is shown
- Shows the timeline panel with their calendar
Block without assignee
If the block is unassigned, clicking it:
- Shows recommended developers for this work type
- Developers are sorted by availability and current allocation
- Clicking a developer auto-selects their next available date
Direct scheduling
If no blocks exist or you need to schedule outside a block:- Click Schedule directly instead below the blocks list
- Select an assignee from the recommendations
- Choose a start date from the timeline
- Click Schedule
Phase developer continuity
When scheduling, the system suggests the “phase developer” - the person who completed other work on this task in the same phase. This ensures continuity and context.End date calculation
End dates are calculated automatically:- Takes estimated minutes
- Divides by assignee’s daily capacity
- Excludes weekends and bank holidays
- Accounts for existing scheduled work
- Rounds up to nearest full day
- Subtask: 390 minutes (6.5 hours)
- Daily capacity: 390 minutes (6.5 hours)
- Start: Monday
- End: Monday (same day)
- Subtask: 780 minutes (13 hours)
- Daily capacity: 390 minutes (6.5 hours)
- Start: Monday
- End: Tuesday (2 days)
Conflict detection and pushing tasks
When scheduling on a date where the developer is already at capacity:- Capacity warning - An amber warning shows the developer is fully booked
- Review Impact - Click to see which tasks would be pushed to later dates
- Push and Schedule - Confirm to push existing tasks and schedule the new one
- Use next available - Or choose an alternative date with capacity
When you push tasks, their end dates are shifted forward while preserving the work duration. The system recalculates all affected timelines.
Editing scheduled subtasks
To modify an already-scheduled subtask:- Click on the scheduled subtask to open the edit dialog
- The dialog shows:
- Current assignee and timeline
- Options to change the date
- Reassign to someone else link
- Remove from Schedule button
- Make changes and click Update
- Click “Reassign to someone else”
- Shows fresh developer recommendations
- Select new assignee and date
- Original developer’s schedule updates automatically
- Click “Remove from Schedule” in the footer
- Confirms which developer and date will be cleared
- Subtask returns to “Not Scheduled” status
Working on subtasks
Starting work
When you’re ready to begin:- Navigate to your assigned subtask
- Click Start
- Subtask status changes to “In Progress”
- Work begins counting against schedule
Use the Active Tasks button in the header to view all your in-progress work at a glance.
During work
While working on a subtask:- Log time incrementally - Add time as you work
- Update handoff info - Add branch name, preview URL
- Add notes - Document progress or blockers
Theme information (Development only)
For development subtasks, record:- Theme name - Which theme you’re working in
- Theme URL - Admin or preview URL
- Theme notes - Technical details
Completing subtasks
When work is finished:Fill details
- Duration: Time spent (if not already logged)
- Handoff URL: Design file, staging URL, or preview link
- Branch name: Git branch (for development)
- Late reason: Required if past scheduled end date
- Subtask marked complete (or awaiting review)
- Time entry created automatically
- Task phase updated if needed
- Notifications sent to reviewers
Logging time on subtasks
During completion
The easiest way is to log time when completing:- Enter duration in the completion dialog
- Time entry created automatically
- Always billable (linked to task)
Separate time entry
You can also log time separately:- Click Log Time on subtask row
- Pre-fills: client, task, subtask, activity type
- Enter: date, duration, notes
- Submit
Time tracking
Time logged on subtasks:- Counts toward task budget
- Used in billing formula
- Tracks actual vs estimated
- Links to specific work
Handoff information
Different subtask types require different handoff info:Design subtasks
- Handoff URL: Figma/design file link
- Notes: Design decisions, component details
Development subtasks
- Branch name: Git branch for code review
- Handoff URL: Preview/staging URL
- Theme info: Theme name and URL
QA subtasks
- BugHerd points: Number of issues found (if using BugHerd)
- Notes: Testing notes, edge cases found
Deployment subtasks
- Handoff URL: Production URL
- Notes: Deployment notes, any issues
Reviewable subtasks
Some subtasks require review before completion:- Design
- Client Design Feedback
- Internal QA Review
- External QA Review
- Deployment
- Assignee completes subtask
- Status becomes “Awaiting Review”
- Reviewer approves or requests changes
- If approved: subtask marked complete
- If changes: fix subtask created
QA subtasks
Internal QA Review
When QA testing internal work:- QA person clicks Complete on QA subtask
- Marks as Passed or Failed
- If Passed:
- QA subtask marked complete
- Task moves to External QA (or Deployment)
- Notifications sent to CSM/PM
- If Failed:
- Creates “Internal QA Fixes” subtask
- Auto-assigned to original developer
- Task returns to Development phase
- Iteration count increments
The first QA fixes subtask uses half the feedback budget (10% of total). If the task fails QA again, subsequent fix subtasks get 0 min allocation—the PM sets the estimate manually based on the scope of fixes needed.
External QA Review
When client tests work:- CSM/PM sends work to client via portal
- Client reviews and provides feedback
- If Approved:
- External QA subtask marked complete
- Task moves to Deployment phase
- If Changes Requested:
- Creates “External QA Fixes” subtask
- Auto-assigned to original developer
- Task returns to Development phase
- Goes through Internal QA again
Iterations
Subtasks track iterations for feedback loops:- Iteration 1: Initial work
- Iteration 2: First round of fixes
- Iteration 3+: Additional fix rounds
- Unclear requirements
- Communication issues
- Estimation problems
- Scope creep
Priority and ordering
Display order
Subtasks can be reordered within each phase:- PM and CSM can drag-and-drop to reorder
- Determines display sequence
- Helps organize work logically
Scheduling priority
The scheduling system uses priority to determine order:- Lower priority number = scheduled first
- Help desk tickets always highest priority
- Affects automated scheduling recommendations
Subtask permissions
Who can do what
| Action | Delivery Team | PM | CSM | Manager |
|---|---|---|---|---|
| View | Assigned only | All | All | All |
| Schedule | ❌ No | ✅ Yes | ✅ Yes | ✅ Yes |
| Start | ✅ Assignee | ✅ Yes | ✅ Yes | ✅ Yes |
| Complete | ✅ Assignee | ✅ Override | ✅ Override | ✅ Yes |
| Review | ❌ No | ✅ Yes | ✅ Yes | ✅ Yes |
| Log Time | ✅ Assignee | ✅ Override | ✅ Override | ✅ Yes |
Assignees cannot review their own work. Reviews must be done by someone else (typically PM, CSM, or another team member).
Best practices
Log time daily
Log time as you work or at end of day while it’s fresh
Provide handoff info
Always include URLs and notes for the next person
Start on time
Begin work on scheduled start date to maintain schedule
Communicate delays
If running late, update PM/CSM immediately
Complete subtasks fully
Don’t mark complete if work isn’t done - it blocks others
Test before handoff
Self-test your work before handing to QA
Next steps
Task Phases
Understand how subtasks fit into task phases
Reviews & Sign-offs
Learn the review and approval process
Time Tracking
Detailed guide to logging time
Schedule
View your scheduled subtasks