Skip to content

Teams

Teams are the organizational backbone of Flowstate. A team represents a group of employees, contractors, and vacancies that work together under a shared structure. Teams determine how costs are grouped, how capacity is allocated to projects, and how the org chart is visualized.

What a Team Represents

A team is any organizational unit where people are grouped for management, cost tracking, or delivery purposes. This could be a full engineering department, a product squad, a platform group, or a temporary task force. The model is intentionally flexible -- Flowstate does not prescribe a specific organizational framework.

Every team has a name and an optional teamType that categorizes the kind of unit it represents. Common team types include engineering, department, squad, chapter, and program, but you can use any string that fits your organization.

FieldTypeDescription
namestringThe display name of the team (e.g., "Platform Engineering")
teamTypestringCategory label (e.g., "engineering", "department", "squad")
descriptionstringOptional free-text description of the team's purpose
parentTeamIdstringID of the parent team, or null for top-level teams

Team Hierarchy

Teams support a single-parent tree structure through the parentTeamId field. A team with parentTeamId: null sits at the top of the hierarchy. Every other team points to exactly one parent, forming a tree you can traverse from any leaf up to the root.

Here is an example of how a typical engineering organization might be structured:

Engineering (parentTeamId: null)
  +-- Platform Engineering
  |     +-- Infrastructure
  |     +-- Developer Experience
  +-- Product Engineering
  |     +-- Payments Team
  |     +-- Growth Team
  |     +-- Search Team
  +-- Data Engineering

This hierarchy is reflected in Flowstate's org chart view and drives roll-up cost calculations. The cost of "Product Engineering" includes the sum of costs for the Payments, Growth, and Search teams beneath it.

TIP

You can nest teams to any depth, but most organizations find that three or four levels are sufficient. Deeper hierarchies can make cost roll-ups harder to interpret.

Team Allocations

People are connected to teams through allocations -- FTE-based assignments that express how much of a person's capacity is dedicated to a given team.

An employee allocated at 1.0 FTE to a team is fully dedicated to that team. An employee allocated at 0.5 FTE contributes half their working time (and half their cost) to that team. An employee can be allocated across multiple teams simultaneously, as long as their total FTE does not exceed 1.0.

The same allocation model applies to contractors and vacancies. This gives you a consistent way to track capacity and cost across all resource types.

Resource TypeAllocation Meaning
EmployeePortion of the employee's time and salary cost assigned to a team
ContractorPortion of the contractor's engagement allocated to a team
VacancyExpected capacity and cost of an unfilled position on a team

WARNING

If an employee's total team allocations exceed 1.0 FTE, Flowstate will flag this as an over-allocation in the UI. The cost calculations still run, but the resulting numbers may overstate your actual capacity.

Team-to-Project Allocations

Beyond grouping people, teams also allocate capacity to projects. A team-to-project allocation expresses what fraction of the team's effort is directed toward a specific project over a given time period.

For example, if the Payments Team allocates 0.5 FTE to the "Billing V2" project, half of that team's cost is attributed to Billing V2 for the duration of the allocation.

This creates a two-level allocation chain that Flowstate uses for cost attribution:

Employee --> Team (via employee-team allocation)
  Team --> Project (via team-project allocation)

The FTE Flow

The real power of the allocation model becomes clear when you trace the effective contribution of a single employee to a project through the chain.

Consider this example:

  • Jane is allocated at 0.6 FTE to the Payments Team
  • The Payments Team allocates 0.5 FTE to Project Billing V2

Jane's effective FTE contribution to Billing V2 is:

0.6 (employee-to-team) x 0.5 (team-to-project) = 0.3 effective FTE

This means 30% of Jane's salary cost (after currency conversion, proration, and overhead) flows through to the Billing V2 project. Flowstate computes this automatically for every employee, contractor, and vacancy in the system.

TIP

Employees can also be allocated directly to projects, bypassing the team-to-project chain. Direct allocations are useful for individual contributors who work on a project outside of their team's normal capacity planning.

Team Cost

A team's total cost is the sum of all resource costs allocated to it:

Team Cost = Sum(employee costs x employee FTE allocation)
          + Sum(contractor costs x contractor FTE allocation)
          + Sum(vacancy projected costs x vacancy FTE allocation)

This cost rolls up through the hierarchy. The cost of a parent team includes its own direct allocations plus the costs of all child teams beneath it.

For a detailed breakdown of how individual costs are calculated before they reach the team level, see the Cost Attribution guide.

Next Steps

Flowstate Documentation