Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

TeamForm can be used to implement a range of operating models and organisational frameworks as outlined here https://www.teamform.co/solutions-for-teams .

TeamForm has a feature called principles, which can be used as guardrails when transitioning to, or as part of, cross-functional, agile or lean ways of working methods.

Teamform has some predefined principles grouped into principle sets that can be configured to meet a particular use case.

Principle sets can be created to accommodate different team archetypes (e.g. cross-functional, flow-to-work, service, platform, etc).

Examples of principles and principle sets

Individual/Role/General Principle Set

  • X layers from the CEO

  • Role diversity (individual) and total role diversity (organisation)

Team/Squad Principle Set

  • Between X & Y members (e.g. 5-9), full or part-time

  • Location e.g. same city, same building, same floor, timezone, if distributed - no more than X locations

  • Specific and/or dedicated roles included e.g. Scrum Master or Product Owner, etc

  • Number of line managers

Group/Tribe/'Team of Teams' Principle Set

  • Maximum number of individuals e.g. 150

  • Maximum number of teams/squads

  • Specific and/or dedicated roles e.g. Tribe Lead, Group Performance Lead, etc

Domain/Business Unit Principle Set

  • Maximum number of individuals e.g. 500

  • Maximum number of groups/tribes/'teeam of teams' e.g. 7

Configuring Principles

Principles are enabled in a workspace by default, but can also be toggled off via settings / workspace feature toggles

image-20240114-234126.png

Principles sets are defined via Settings / Principle sets using a JSON file.

image-20240114-234529.png

The key fields referenced in a principle set are as follows:

“id” - a unique id string.

”name” - a name for this principle set (string)

“suitableGroupTypes”: a single team type (e.g. “squad” or a list of team types e.g. “squad”, “tribe”, “COE”

Default principle sets can be defined per team type via Settings / Org Structure type config. Select a team type, then choose a preferred principle set for that team type.

image-20240114-234750.png

JSON parameters for Principles:

Member Count

parameter maxMembers(optional), minMembers(optional)

title Should consist of no more than ${maxMembers} direct members.

Should consist of at least ${minMembers} direct members.

Should consist of between ${minMembers} and ${maxMembers} direct members.

           {
                "type": "MEMBER_COUNT",
                "args": {
                    "maxMembers": 10,
                    "minMembers": 5
                }
            }

Total Member Count

parameter maxMembers

title Should consist of no more than ${maxMembers} direct and indirect members.

{
                "type": "TOTAL_MEMBER_COUNT",
                "args": {
                    "maxMembers": 150
                }
            }

Spread

parameter maxTeamsPerMember, teamType

title Each member should be in no more than {maxTeamsPerMember} teams.

{
                "type": "SPREAD",
                "args": {
                    "maxTeamsPerMember": 1,
                    "teamType": "design"
                }
            }

Role Spread

parameter role, roleDisplayName, limit, teamType, teamDisplayname

title ${roleDisplayName} should work in no more than ${limit} {teamTypeDisplayName}

            {
                "type": "ROLE_SPREAD",
                "args": {
                    "role": "(.*product.*owner)",
                    "roleDisplayName": "Product Owner",
                    "limit": 1,
                    "teamTypeDisplayName": "Agile Team",
                    "teamType": "(group|team)"
                }
            }

Ownership

parameter maxTeamsPerMember, teamType

title Should have 1 ${ownershipRoleDisplayName}.

consist of between 1 and ${limit} ${ownershipRoleDisplayName}.

Note- Ownership Role here references both the Job Title attribute and the SPECIALIST Tag value for a person- if either match, it will be seen as meeting the principle

            {
                "type": "OWNERSHIP",
                "args": {
                    "ownershipRoleDisplayName": "Product Owner",
                    "limit": 1,
                    "ownershipRole": "(.*product.*owner)"
                }

Locality

parameter maxLocations

title Where teams are distributed it will be across no more than ${maxLocations} premises

            {
                "type": "LOCALITY",
                "args": {
                    "maxLocations": 1
                }
            }

Line Manager Count

parameter maxManagers

title Team should have no more than ${maxManagers} line managers.

            {
                "type": "LINE_MANAGER_COUNT",
                "args": {
                    "maxManagers": 5
                }
            }

Role Diversity

parameter requiredRoles,

title Each team should have ${minCount}{Role}

Note- requiredRoles here references both the Job Title attribute and the SPECIALIST Tag value for a person- if either match, it will be seen as meeting the principle

           {
                "type": "ROLE_DIVERSITY",
                "args": {
                    "requiredRoles": [
                        {
                            "role": "Product Owner",
                            "minCount": 1
                        },
                        {
                            "role": "Devops Engineer",
                            "minCount": 1
                        },
                        {
                            "role": "UX/Designer",
                            "minCount": 1
                        },
                        {
                            "role": "Senior Software Engineer",
                            "minCount": 1
                        },
                        {
                            "role": "Software Engineer",
                            "minCount": 3
                        }
                    ]
                }
            }

Total Role Diversity

parameter requiredRoles

title Team should be cross-functional and include the following capabilities:${requiredRoles}

            {
                "type": "TOTAL_ROLE_DIVERSITY",
                "args": {
                    "requiredRoles": [
                        {
                            "role": "Data Technician",
                            "minCount": 1
                        },
                        {
                            "role": "Field Technician",
                            "minCount": 1
                        },
                        {
                            "role": "Field Engineer",
                            "minCount": 3
                        },
                        {
                            "role": "Electrical Engineer",
                            "minCount": 3
                        }
                    ]
                }
            }

Same City Co-located

parameter null

title All members in the same city should work at the same address.

 

Child Team Count

parameter maxTeams, minTeams, subGroupName

title Should consist of no more than ${maxTeams} direct ${subGroupName}.

Should consist of at least ${minTeams} direct ${subGroupName}.

Should consist of between ${minTeams} and ${maxTeams} direct ${subGroupName}.

            {
                "type": "CHILD_TEAM_COUNT",
                "args": {
                    "maxTeams": 15,
                    "minTeams": 1
                }
            }

Direct Workforce Count

parameter minCount, companyNames

title Should consist of at least ${minCount} direct workforce members

 

Timezone Overlap

parameter goodOverlap

title Members geographically distributed should have at least <${goodOverlap} overlapped working hours.

 

Bulk assigning principles to teams

You can use the Teams CSV import (Settings → Data Integrations → Create New - > Teams csv file upload

image-20240117-011823.png

Use a csv file format as follows:

Team ID

Principle ID

TEAM1234

111111112

and a field map as follows:

image-20240117-015004.png

Troubleshooting:

Can’t find a team a principle set in the drop down for a team?
image-20240117-012112.png

It is likely you need to ensure a principle set is configured to have a suitableGroupType matching the team type for that team (as defined in Settings → Org Structure → Team Types)
E.g.
suitableGroupTypes:”squad”

Filter by label

There are no items with the selected labels at this time.

  • No labels