2022-01-12 Team Management Concept
Overview
Create a method for teams, eg: programming teams, to self organize in a way that:
- rewards those that perform well by allowing them to take on additional responsibilities
- gives opportunity to all participants to take on more responsibility
- allows team members to move around tasks to keep their positions interesting
- an executive team (or individual) sets task remuneration according to what they see as important for the progress of the project
Distribute remuneration according to:
- How long a team member has been working on the project
- base salary increases periodically by a standard amount
- The responsibilities they currently hold
- during the period they take on that task their salary will increase by a set amount
- (maybe not needed) The responsibilities they have taken in the past can extend into future earnings
- after the task period ends there a fraction of the salary increase remains and tapers off over time
Concepts
management token
Each team member receives an allocation of tokens periodically, some team members may receive more that others depending on factors such as if they are the owner or top level management, or how long a member has been part of the project.
Tokens are spent voting on the performance of other team members.
performance score
When a member takes on a task other members can spend tokens on their performance, supporting or opposing their performance.
task re-organization
Break assignment of tasks into time period blocks, eg 1 month, each task has it's own period, so some tasks might be locked in for 3 months or 6 months.
There might be a cross over time where old team member brings the new member up to speed.
connected tasks
Tasks can link to other tasks with a weight of how connected they are, this indicates how much that tasks interacts or relies on another task. This is used to weigh the cost of spending tokens on other team members.
assigning tokens
At any time a member can assign their tokens to either support or oppose another team member's position, once assigned those tokens are locked.
The amount of tokens need to be spent to affect another members performance score will depend on how connected the token holders task's are to the receiving member's task.
anonymity
Token balances and assignment are anonymous. Amount of tokens distributed to each member can be public.
Tasks can link to other tasks with a weight of how similar the task is, similarity could be type (eg managing a team) or specialized knowledge (eg graph database management) or any other reason why support for those other tasks would pass on to this task.
taking on a task
Any member can request to take any number of positions.
allocation of tasks
At a set time before the task is due to be taken over assignments are calculated, then an allocation period where members must confirm they will take on tasks allocated to them. This allows members to choose which tasks to not take on if they are assigned too many.
A member must lock in each task by the end of the allocation period or it passes down to the next member.
assigning tasks
Consider:
- how long a member has been requesting to take on the task
- the member's performance score previously/currently managing the task (for persistent tasks)
- the member's performance score for related tasks
- each performance score's weight will taper over time
Calculating a members remuneration
- each member has a base salary that increases over time
- many base tasks do not affect salary, these base tasks could be broad, eg backend or frontend development, and the actual work done would be managed by another member taking on a management task
- Each task can set a specific increase in salary that the member receives while performing that task
Executives
Have the power to:
- remove a task at any time
- adjust remunerations