Almost final version

Changelog:

- Added table of contents for easy access to sub-sections
- Updated text to add details
- Corrected typos and errors
- Reviewed all links
This commit is contained in:
Parimal Satyal
2024-01-10 12:29:32 +01:00
committed by as-op
parent 77bc7839a8
commit e2da3eea05
+87 -70
View File
@@ -4,11 +4,25 @@ sidebar_navigation:
priority: 990
description: Understand the principles of the Scaled Agile Framework (SAFe) to manage and organise work in your organisation and see how you can practically implement them in OpenProject.
keywords: safe, scaled agile, release train, program increment, ART backlog, roadmap, portfolio backlog, solution train, script, scrum, roadmap
---
# Configuring SAFe in OpenProject
OpenProject is a powerful project management tool that can adapt to a number of different frameworks and methodologies. Larger organisations who choose to implement the Scaled Agile Framework (SAFe) methodology can leverage the wide range of features and customisability that OpenProject offers to define, plan, organise to deliver value to their end customers.
OpenProject is a powerful project management tool that can adapt to a number of different frameworks and methodologies. Larger organisations who choose to implement the **Scaled Agile Framework (SAFe)** methodology can leverage the wide range of features and customisability that OpenProject offers to define, plan organise to deliver value to their end customers.
This guide contains the following sections:
| Section | Description |
| -------------------------------------------- | ------------------------------------------------------------ |
| [Structure and terminology](#structure-and-terminology) | What concepts in SAFe translate to in OpenProject and how to structure them |
| [Setting up Agile Release Trains](#setting-up-agile-release-trains) | Configuring projects and using project templates to create and administer Agile Release Trains |
| [Using versions to set Program Increments](#using-versions-to-organise-set-increments) | Using versions in OpenProject to define Program Increments (PIs) and Iterations |
| [Working with epics, features and stories](#working-with-epics-features-and-stories) | Configuring and using work packages for Epics, Capabilities, Enablers, Features and User Stories |
| [Organising work using table view, Gantt view](#organising-work-using-table-view-gantt-view) | Using table and Gantt views to visualise, sort, filter and group work packages and save custom views at all levels (agile team, Agile Release Train or Solution Train) |
| [Backlogs, Kanban and Team planner](#backlogs-kanban-and-team-planner) | Organising work and facilitating planning using Backlogs, Kanban boards and Team planner |
## Structure and terminology
@@ -17,11 +31,12 @@ Preparing OpenProject for SAFe involves configuration and access at two levels:
- **Individual projects** are self-contained and consist of a set of modules, members, work packages and project-level settings. Each can further contain sub-projects for additional hierarchy. They represent **Agile Release Trains** in SAFe.
- **Global modules** encompass content from all projects (and sub-projects) and instance-level settings that affect all modules for all users; these settings can sometimes be overridden at a project-level. The global level serves as a **Solution Train-level** view in SAFe.
Individual users will generally work within one or a set of different projects, using a set of modules to help deliver value. SAFe uses terminology that is different from OpenProject:
Individual users will generally work within one or a set of different projects to deliver value.
It is important to note that OpenProject terminology can vary somewhat form SAFe terminology:
| | |
| --- | --- |
| **SAFe terminology** | **OpenProject terminology** |
| --- | --- |
| Agile Release Train | Project |
| Solution train | Project portfolio (in development) |
| Program increment (PI) | Version |
@@ -36,44 +51,46 @@ Individual users will generally work within one or a set of different projects,
## Setting up Agile Release Trains
In OpenProject, each Agile Release Train (ART) is set up as an individual project.
In OpenProject, each **Agile Release Train** (ART) is set up as an individual project.
A project consists of a number of different elements:
- **Members**: individual members can be created at an instance-level and then added to individual projects, or external users can directly be "invited" to a project. Each member can have different roles.
- **Modules** like Work packages, Wiki, Forums, Meetings...
- **Work packages** collectively include epics, features, enablers, user stories, and bugs.
- **Members**: individual members can be created at an instance-level and then added to individual projects, or external users can directly be "invited" to a project. Each member can have different roles in different projects.
- **Modules** like Work packages, Gantt, Backlog, Team planner, Wiki, Forums, Meetings.
- **Work packages** that can be of different types, including epics, features, enablers, user stories, and bugs.
- **Integrations** like external file storages.
Different members groups can also be created at an instance level, and these groups directly added to projects.
Different [members groups](../../system-admin-guide/users-permissions/groups/) can also be created at an instance level and entire groups added to projects as members.
To learn how to use the Work packages module to configure epics, features and user stories, see: [Working with epics, features and stories](#working-with-epics-features-and-stories)
To learn how to use the Work packages module to configure epics, features and user stories, see: [Organising work using table view, Gantt view](#organising-work-using-table-view-gantt-view)
> **Demo:** View an [overview of an ART set up as a project](https://safe.openproject.com/projects/art-0-test-release-train/work_packages?query_id=40 "https://safe.openproject.com/projects/art-0-test-release-train/").
>
> **Note:** You can also use [project templates](https://www.openproject.org/docs/user-guide/projects/project-templates/) and to make it easier to create news ARTs with the same structure, set of enabled modules, project structure or work package templates. Once a new ART is created using a template, it can then be modified in any way.
> **Demo:** View an [overview of an ART set up as a project](https://safe.openproject.com/projects/art-2-design/work_packages?query_id=58).
Agile teams *within* an ART can also be organised using the Team planner or Assignee-based Kanban boards. To learn more, read [Backlogs, Kanban and Team planner](#backlogs-kanban-and-team-planner) below.
### Project templates
## Solution Trains
You can also use [project templates](../../user-guide/projects/project-templates/) and to make it easier to create news ARTs with the same structure, set of enabled modules, project structure or work package templates. Once a new ART is created using a template, it can then be modified in any way.
Project portfolios allow you to view, organise, sort and filter through all projects. Since each project can be an ART, it can also be used to access information at a **Solution train**-level.
**Agile teams** *within* an Agile Release Train (ART) can either be organised as sub-projects of an ART or simply as saved custom views in a Team planner or Assignee-based Kanban board. To learn more, read [Backlogs, Kanban and Team planner](#backlogs-kanban-and-team-planner) below.
### Solution Trains
Project portfolios allow you to view, organise, sort and filter through all projects and their hierarchies. Since individual projects represent Agile Release trains, project porfolios can be used to access information at a **Solution train**-level.
> In a near future release, OpenProject will have dedicated project portfolio features. [View mockups.](https://www.figma.com/file/YCCMdJWkrtP9YSmf49Od0i/Project-lists?type=design&node-id=470%3A13037&mode=design&t=g1EZesuy0Jj0VZFD-1)
>
> For the moment, **global modules** give you an overview of content from all projects, including the ability to view and filter though a **project list**, and view, sort and filter **work packages at a global level**.
> For the moment, **[global modules](../../user-guide/home/global-modules/)** give you an overview of content from all projects, including the ability to view and filter though a **project list**, and view, sort and filter **work packages at a global level**.
> **Demo:** [Solution train (project list)](https://safe.openproject.com/projects)
>
> **Demo:** [Global work package view (epics, features and stories from all ARTs)](https://safe.openproject.com/work_packages?query_id=74)
> **Demo:** [Global work package view (epics, features and stories from all ARTs)](https://safe.openproject.com/projects/safe-demo/work_packages?query_id=77)
## Using versions to program increments (PIs) and iterations
## Using versions to set Program Increments
In OpenProject, a program increment (PI) or iteration corresponds to a version.
In OpenProject, a **program increment (PI)** or **iteration** corresponds to a version.
Like most things in OpenProject, a version is technically contained within a project. As such, a PI or iteration can be contained with in an ART. However, it is possible to *share* versions with sub-projects, other projects or even with the entire instance.
Like most things in OpenProject, a version is technically contained within a project. As such, a PI or iteration can be contained within an ART. However, it is possible to *share* versions with sub-projects, other projects or even with the entire instance.
Versions shared with the entire instance are useful when you need PIs to be shared between multiple ARTs.
Shared versions are especially useful when you need PIs to be shared between multiple ARTs.
> **Demo:** [Versions set up as PIs shared with all ARTs](https://safe.openproject.com/projects/art-0-test-release-train/settings/versions)
@@ -81,11 +98,11 @@ Versions are also tied to the Backlog module. To learn more, read [Backlogs, Ka
## Working with epics, features and stories
Once the instance, individual ARTs and versions are set up, you are ready to move on to the configuration of individual work initiatives or functionalities.
Once the instance, individual ARTs and versions are set up, you are ready to move on to the configuration of individual work initiatives.
In OpenProject, all work is expressed as work packages of various types. In the context of SAFe, it already comes with **Epic**, **Feature**, **User story** and **Milestone** types out of the box. Depending on your needs, **Capability** and **Enabler** types can be easily created and configured.
In OpenProject, all work is expressed as work packages of various types. For SAFe, it already comes with **Epic**, **Feature**, **User story** and **Milestone** types out of the box. Depending on your needs, **Capability** and **Enabler** types can be easily created and configured.
Apart from milestones (which has the particularity of having a single date), all types can be freely configured and new ones freely created.
Apart from milestones (which have the particularity of having a single date), all other types can be freely configured and new ones created.
A work package type is a set of configurations:
@@ -97,7 +114,7 @@ In the context of SAFe, it's best to pre-configure the set of types that are req
### Type template
A [type template (or default text for description)](/Applications/Joplin.app/Contents/Resources/app.asar/type%20template%20%28or%20default%20text%20for%20description%29) can defined for each type. For example a **Feature** can be pre-configured to include:
A [type template (or default text for description)](../../system-admin-guide/manage-work-packages/work-package-types/) can defined for each type. A **Feature**, for example, can be pre-configured to include:
- A short description
- Capability
@@ -116,19 +133,15 @@ Similarly, a template can be defined for **User stories** so that they can be ex
### Custom fields
[Custom fields](https://www.openproject.org/docs/system-admin-guide/custom-fields/) can be added to each type (or even to multiple types) to add additional structured information. The benefit of a custom field over a heading in that custom fields can be used to later filter, search or group work packages. This can be immensely useful to create dashboards or highly-specific queries.
[Custom fields](../../system-admin-guide/custom-fields/) can be added to each type to add additional structured information. The benefit of a custom field over headings in a type template is that custom fields can be used to later filter, search or group work packages. This can be immensely useful for creating dashboards or highly-specific queries.
For a Feature, **Benefit hypothesis** can be expressed as a custom fields.
For example, **Benefit hypothesis** can be expressed as a long-text custom field for Features.
For an Epic, **Business outcome hypothesis**, **Non-functional requirements** and **Target KPIs** can be expressed as custom fields.
Similarly, **Business outcome hypothesis**, **Non-functional requirements** and **Target KPIs** can be expressed as custom fields for Epics.
> **Demo:** [Defining custom fields for different work unit types](https://safe.openproject.com/custom_fields)
Or if you are using Kanban class of service, you can create a "**Class of service**" custom field of type multi-select with these options:
- Standard
- Fixed
- Expedite
Custom fields can also hold different *types* of values, like lists, booleans, dates and even users. If you are using Kanban class of service for example, you can create a **Class of service** custom field of type multi-select with these options: *Standard*, *Fixed*, *Expedite*.
> **Demo**: [Class of service custom field](https://safe.openproject.com/custom_fields/5/edit)
@@ -138,31 +151,55 @@ Or if you are using Kanban class of service, you can create a "**Class of servic
> **Demo:** [Adding story points as a field in a Feature](https://safe.openproject.com/types/4/edit/form_configuration).
Story points are particularly powerful as they are also visible in the Backlog. To learn more, read [Backlogs, Kanban and Team planner](#backlogs-kanban-and-team-planner) below.
Story points are particularly powerful as they are also visible in the Backlog. To learn more, read the [Backlogs, Kanban and Team planner](#backlogs-kanban-and-team-planner) section below.
### Progress
OpenProject allows you to track the progress of each work package (or a set of work packages in a parent-child relationship) using the **Progress** field.
OpenProject allows you to track the progress of each work package (or a set of work packages in a parent-child hierarchy) using the **Progress** field.
Progress can either be manually entered or based on set values tied to statuses. For more information, read the [documentation on progress tracking](https://www.openproject.org/docs/user-guide/time-and-costs/progress-tracking/).
Progress can either be manually entered or based on set values tied to statuses. For more information, read the [documentation on progress tracking](../../user-guide/time-and-costs/progress-tracking/).
Progress can be viewed at a team label, at an ART-level or at a solution train level by creating filtered views showing only the information you need.
> **Demo:** [Progress overview at a PI level](https://safe.openproject.com/projects/art-0-test-release-train/work_packages?query_id=40)
> **Demo:** [Progress overview at a PI level](https://safe.openproject.com/projects/safe-demo/work_packages?query_id=78)
## Organising work using table view, Gantt view
OpenProject is a powerful tool that allows you to view work packages in a variety of different ways.
### Work package table view
The work package table view lets you view and edit work packages of all types (Epic,Capability, Feature, Enabler, User Story) in a tabular format, with one line per work package and different attributes as columns.
These tables are highly customisable and can be [configured](../../user-guide/work-packages/work-package-table-configuration/) to show precisely the information you need. Tables can also be **sorted** (for example by id, name, start dates, project, assignee, priority), **grouped** and **filtered** to create highly precise views. They can also show nested parent-children relations in **hierarchy view**.
> **Demo**: [A table view of all epics, features and stories in an ART](https://safe.openproject.com/projects/art-0-test-release-train/work_packages?query_id=29)
Configured tables can be saved as private (for you only) or public views (for all project members) to easily access them later and share them with other team members.
Additionally, the [**Baseline** **comparison**](../../user-guide/work-packages/baseline-comparison/) feature allow lets you visualise changes to a table (in relation to the filter criteria) over a period of time, affording you yet another way to monitor progress and changes within your ART or agile team.
**Gantt view**
The **[Gantt chart](../../user-guide/gantt-chart/)** module allows you to quickly visualise planning at any level (Solution, ART or agile team) in a calendar view that also displays [work package relations](../../user-guide/work-packages/work-package-relations-hierarchies/). Like table view, it can be filtered to create custom views that can be saved.
> **Demo:** [A Gantt view of a sprint within an ART](https://safe.openproject.com/projects/art-0-test-release-train/work_packages?query_id=39)
## Backlogs, Kanban and Team planner
The Backlog and Kanban are key tools in a scaled agile environment, not only during PI Planning but during the course of the entire project.
The **Backlog** and **Kanban** are key tools in a scaled agile environment, not only during PI Planning but during the course of the entire project.
### Backlog
The Backlog module displays all versions available to a particular project or ART in a two-column format. For each version (representing a Product increment, Iteration or a Feature or Story backlog), the module displays:
The [**Backlog module**](../../user-guide/backlogs-scrum/work-with-backlogs/) displays all versions available to a particular project or ART in a two-column format. For each version (representing a Product increment, Iteration or a Feature or Story backlog), the module displays:
- Version name
- Start and end date
- Start and end dates
- Total story points
It also displays the id, name, status and story points for each work package contained in a version.
It also displays the *id*, *name*, *status* and *story points* for each work package contained in a version.
We recommend organising all relevant sprints on the left column and the backlog on the right column. Any epic, feature, story, enabler or capability can easier be dragged and dropped between versions or to and from the backlog.
@@ -170,7 +207,7 @@ We recommend organising all relevant sprints on the left column and the backlog
### Kanban
Kanban boards allow you to clearly visualise work items in a number of different ways. In OpenProject, dynamic boards can easily be created for a number of different fields.
[**Kanban boards**](../../user-guide/agile-boards/) allow you to clearly visualise work items in a number of different ways. In OpenProject, dynamic boards can easily be created for a number of different fields.
For each ART, we recommend creating these dynamic Kanban boards:
@@ -184,36 +221,16 @@ OpenProject boards are powerful and can be filtered for more control over what i
### Team planner
Team planners allow you to visualise work packages assigned to particular team members in a weekly or two-week calendar view. It is a powerful tool to monitor work on an on-going and day-to-day level.
If you have multiple agile teams under a single ART, it allows you create custom planners for each team.
The [**Team planner module**](../../user-guide/team-planner/) allows you to visualise work packages assigned to particular team members in a week or two-week calendar view. It is a powerful tool to monitor work at a day-to-day level.
../../
If you have multiple agile teams under a single ART, you can create and save custom Team planner views for each team.
> **Demo**: [Team planner for an agile team within an ART](https://safe.openproject.com/projects/art-0-test-release-train/team_planners/75?cdate=2024-01-07&cview=resourceTimelineWorkWeek)
At a solution train level, it allows you to view the work of members across multiple ARTS.
## Organising work using table view, Gantt view
OpenProject is a very powerful tool that allows you to view work packages in a number of different ways.
### Work package table view
The work package table view lets you view work packages of all types (Epic,Capability, Feature, Enabler, User Story) in any number of ways.
It allows you to **sort** or **group** by certain fields, use **filters** to create a highly precise query, and even show nested parent-children relations in **hierarchy view**.
> **Demo**: [An table view of all epics, features and stories in an ART](https://safe.openproject.com/projects/art-0-test-release-train/work_packages?query_id=29)
You can [**configure work package table views**](https://www.openproject.org/docs/user-guide/work-packages/work-package-table-configuration/) using filter queries and save them as views to easily access them later and share them with other team members.
The [**Baseline** **comparison**](https://www.openproject.org/docs/user-guide/work-packages/baseline-comparison/) feature allow lets you view changes to a certain view over a certain period of time, allowing yet another way to monitor progress and changes in your agile team.
**Gantt view**
The Gantt allows you to quickly visualise planning at any level (Solution, ART or agile team) in a calendar view that also displays [work package relations](https://www.openproject.org/docs/user-guide/work-packages/work-package-relations-hierarchies/). Like table view, it can be filtered to create custom views that can be saved.
> **Demo:** [A Gantt view of a sprint within a PI](https://safe.openproject.com/projects/art-0-test-release-train/work_packages?query_id=39)
At a Solution train level, it also allows you to view the work of members across multiple ARTs.
## Here for you
OpenProject is a powerful and highly-configurable tool that can be customised to fit the needs of your scaled agile implementation. Should you have questions about how to use OpenProject for a particular use case, please get in touch. Our custom success are happy to help you figure it out.
OpenProject is a powerful and highly-configurable tool that can be customised to fit the needs of your particular scaled agile implementation. Beyond the basics covered in this guide, OpenProject has many additional features and modules (such as [budgets](https://www.openproject.org/docs/user-guide/budgets/), [time and cost tracking](https://www.openproject.org/docs/user-guide/time-and-costs/), [wiki](https://www.openproject.org/docs/user-guide/wiki/), [meetings](https://www.openproject.org/docs/user-guide/meetings/) and [file storage integrations](https://www.openproject.org/docs/development/file-storage-integration/)) that further enable your agile teams to work efficiently and deliver value.
If you have questions about how to [use](../../getting-started/) and [configure](../../system-admin-guide/) OpenProject to work for you, please [get in touch](https://www.openproject.org/contact/) or [start a free trial](https://start.openproject.com/) to see for yourself.