Roles

Purpose: Define team roles and responsibilities for PermaplanT workflows.

Audience: All team members and contributors who need to understand organizational structure.

Role Assignment Guidelines

  • Each role must have a clearly identified primary assignee
  • Backup assignees should be listed when available
  • Role changes require approval from the Product Manager
  • Cross-training between primary and backup assignees is encouraged

Role Definitions

Product Manager

Responsibilities:

  • Set product priorities and roadmap direction
  • Make final decisions on feature requirements
  • Approve release labels
  • Coordinate with contributors

Current Assignment: Markus

Architect

Responsibilities:

  • Define technical architecture and design decisions
  • Review complex technical proposals
  • Ensure system coherence and scalability
  • Guide technology choices and patterns

Current Assignment: Markus

Workflow and Decision Manager

Responsibilities:

  • Create and update decisions and workflows as needed.
  • Monitor and optimize workflows.
  • Check code base for correct implementation of decisions.

Current Assignment: Peter

Project Manager

Responsibilities:

  • Coordinate development activities and timelines
  • Facilitate meetings and communication
  • Track project progress and milestones
  • Manage sprint planning and execution

Current Assignment: Liza Backup: Eszter

Triager

Responsibilities:

  • Perform initial triage on newly created issues
  • Evaluate issue quality and completeness
  • Decide if issue is ready for backlog or needs refinement
  • Route well-formulated issues directly to backlog
  • Assign issues requiring enhancement to Refiner

Current Assignment: Liza

Refiner

Responsibilities:

  • Enhance issues flagged by Triager as needing refinement
  • Add detailed descriptions and context to issues
  • Assign appropriate labels and priorities
  • Add estimates assessments
  • Ensure issues have sufficient information for development
  • Maintain issue queue quality
  • Coordinate refinement work distribution

Current Assignment: everyone, refinement is to be done during issue::issue-review

Review Manager

  • remind others to review and assign for review
  • look if there are gaps in review, e.g., MR not yet tested or not code-reviewed
  • put attention to issues that are important or urgent to be reviewed
  • check quality of reviews for "please merge" MRs and give okay
  • improve reviewer checklists, e.g. verify if e2e tests test what they should
  • (un)tick what was done in checklists

Current Assignment: Mo

Tour Owner

Responsibilities:

  • Reviewing MRs that affect the guided tour (i.e. tagged with affects_guided-tour label)
  • Updating and adapting the guided tour to align with the changes introduced by these MRs, or by any scraper data changes
  • Ensuring the MRs affecting the guided tour include sufficient information on how the guided tour is affected

Current Assignment: Elia

Performance Assurance

  • makes sure performance is according requirements (written in use cases)
  • finds gaps between user expectations and requirements (written in use cases)
  • responsible that OpenTelemetry setup works correctly and everyone can use it
  • checks for any regressions in frontend and backend performance
  • updates research document and creates issues for the most important performance topics to investigate
  • gives update of performance data before releases

Current Assignment: Lukas

Quality Assurance

Responsibilities:

  • Responsible that e2e tests work correctly
  • Ensure code quality standards
  • Verify functionality meets requirements as defined in use cases
  • Manual tests, except of data related

Current Assignment: Chris

Tester

Responsibilities:

  • Execute manual test cases before releases
  • Generate and complete test reports
  • Document test results and link issues for failures
  • Identify and report bugs and regressions
  • Verify fixes and retest problematic areas
  • Maintain and improve test case documentation

Current Assignment: Cycled among team members

  • 1.0.0: Vseslav
  • 1.0.2: Elia Backup: Release Manager

Release Manager

Responsibilities:

  • Manage release cycles and deployments
  • Update affected issues/MRs after merges
  • Coordinate hotfixes and emergency releases
  • Maintain release documentation

Current Assignment: Lukas Backup: Hannes

Developer

Responsibilities:

  • Implement features and bug fixes according to issue specifications
  • Write tests for code changes to ensure quality
  • Follow coding guidelines and best practices
  • Update documentation for code changes
  • Communicate progress and blockers in assigned issues

Assignment: This role represents active code contributors. They are tagged with /Developer in Keycloak and listed in doc/authors.md in the top section.

Contributor

Responsibilities:

  • Contribute to the project in any capacity (code, documentation, testing, issue reporting)
  • Follow project guidelines and workflows
  • Be respectful to each other
  • Participate in reviews and provide constructive feedback
  • Help improve project quality and sustainability

Note: This is the most general role encompassing anyone who contributes to Perma. All other roles are specialized forms of contribution.

Infrastructure

The roles of infrastructure are described in its own repository, but here the most important people to assign for issues:

  • anything related CI/pipeline: Patrick
  • anything related to infrastructure being down: Hannes and Mo
  • anything related to auth: Lukas