RTC 6.0 Scaled Agile Framework© (SAFe™) Solution
SAFe Concepts supported in RTC
Multiple RTC Project Areas: Portfolio, Program + Teams
Process template for Program + Teams
Project Area Initialization
Program/Team Timeline structure
Roles
Permissions
Project Configuration Permissions
Team Configuration Permissions
Artifacts
Work Item Types
Custom attributes
Program Epic
Feature
Enumerations
Attribute customization
Planning
General
Plan Attributes
Work Environment
Plan Types
Program Backlog (new)
Sprint Backlog
Sprint Kanban Board
Release Backlog
Product Backlog
Cross-Project Plan
Predefined Queries
Program level
Team level
Work Item templates
Reports
Role based dashboard
SAFeConcepts supported in RTC
In RTC 6.0, we provide an out of box process templates that have the necessary SAFe artifacts for Program + Team levels. Figure 1 shows the SAFe V3.0 “big picture”. The SAFe concepts available using these templates are indicated with a green star.
Figure 1: RTC 6.0 SAFe Support - "Big Picture"
SAFe RTC Mapping
SAFe Level / SAFe Concept / RTC Concept / NotesProgram / Roadmap & Vision / Plan View / Vision can be a tab on the plan editor or it can be reflected in an HTML widget on the dashboard
Program Backlog / Plan View
Program Roadmap / Plan View
Architectural Runway / Plan View
Program Epic / Work Item Type / Epic Type (Business/Architectural) attribute on the Program Epic work item type
Feature / Work Item Type / Feature Type (Business/Architectural/NFR*) attribute on Feature work item type
* Non Functional Requirement
Program PI Objective / Work Item Type / PI Objective work item type with Program value for PI Type.
Team / Story / Work Item Type
Task / Work Item Type
Team PI Objective / Work Item Type / PI Objective work item type with Team for PI Type.
Team Backlog / Plan View
QP Planning Views
<All Levels> / Role / Role / Assigned to appropriate Project Area or Team Area
Created in the Project Area for the right level
Multiple RTC Project Areas: Portfolio, Program + Teams
The adoption of agile practices has proven successful in helping teams address the business imperatives to continuously deliver more value quickly, with higher quality and at a lower cost, but agile in isolation does not imply organizational success. The Scaled Agile Framework (SAFe) provides a well-established, industry-standard way to apply lean and agile principles not only at the team level but also across the teams. It takes into consideration the development of code, but also architecture, project funding and governance, and describes the roles and processes applicable at each level. SAFe guidance and best practices enable organizations to improve efficiency and effectiveness by synchronizing the alignment, collaboration and delivery of value to the business driven by portfolio vision and strategy.
Rational Team Concert (RTC) is at the core of IBM’s DevOps solution and the logical starting point for teams looking to get started with SAFe. A single RTC project area can be established to support a small- to mid-sized organization that wants to get up and running quickly when the need for flexibility and scalability is less of a concern. This article provides details of the OOTB SAFe process template provided with RTC 6.0.
A single project for Program and Teams is the officially recommended topology for RTC 6.0 for SAFe. It is a simple topology that offers both scalability and flexibility. There are known limitations in schedule roll-up from Programs to Portfolio with this topology.
Establish new programs with Teams
Establish a new Program that tracks work of existing teams
RTC 6.0 provides the following OOTB process templates
- Process template for Program + Teams
Process template for Program + Teams
A new OOTB process template is provided to support the Scaled Agile Framework (SAFe) 3.0 Program within Rational Team Concert 6.0.
Project Area Initialization
- Team areas - Initializes the project area with default team areas.
- Team 1 (rename)
- Team 2 (rename)
- Work Item Categories - Initializes the project area with default categories. For each of the Teams Areas representing SAFe Teams, create a work item category that enables work to be assigned specifically to that Team.
- Team 1 (rename)
- Team 2 (rename)
- Plans - Initializes the project area with the plans.
- Reports - Deploys the following pre-defined reports to the project area.
- Actual as a Percentage of Estimated Work
- Advanced Release Burndown
- Blocking Work Items
- Build Health
- Build Results
- Burndown
- Burnup
- Closed Work Items Daily
- Code Health
- Cumulative Value Flow
- Defect Backlog
- Defect Backlog by Project Area
- Defect Discovery Rate
- Deferred Work Items
- Estimate Changes
- Estimated vs Actual Work
- Frequent Test Failures
- Frequent Test Regressions
- Micro Advanced Release Burndown
- Micro Blocking Work Items
- Micro Build Duration
- Micro Build Health
- Micro Burndown
- Micro Burnup
- Micro Change Set Activity
- Micro Closed Work Items Daily
- Micro Closed Work Items by Priority
- Micro Compilation Warnings
- Micro Cumulative Value Flow
- Micro Deferred Work Items
- Micro Estimated vs Actual Work
- Micro File Change Activity
- Micro Frequent Test Failures
- Micro Frequent Test Regressions
- Micro New Work Items by Severity
- Micro Open Work Items by Priority
- Micro Open Work Items by Type
- Micro Open vs Closed Story Points by Iteration
- Micro Open vs Closed Work Items
- Micro Release Burndown
- Micro Story Points
- Micro Story Points Remaining
- Micro Story Points by Iteration
- Micro Team Velocity
- Micro Test Failures
- Micro Tests
- Micro Work Item Comparison
- New Work Items by Severity
- Open Work Items
- Micro Open Work Items
- Open Work Items by Type
- Open vs Closed Story Points by Iteration
- Open vs Closed Work Items
- Planning Burndown
- Planning Release Burndown
- Planning Team Velocity
- Project Activity
- Release Burndown
- Story Points
- Story Points Progress
- Micro Story Points Progress
- Story Points Remaining
- Story Points by Iteration
- Team Velocity
- Work Item Comparison
- Work Item Comparison by Project Area
- Work Items by Owner
- Work Items by Priority
- Work Items by Team Area
- Risks by Exposure
- Post project initialization – when the project is instantiated using this template it create a work item with the summary ofPost-Project Initialization Tasksis created. The description in the new work item describes tasks that the program manager or release train engineer should perform to get started working in the new project area.
Note: Users assigned to product manager or release train engineer roles must perform these post-initialization tasks.
1) Add members to the project and assign appropriate process roles:
- Open the Project Area editor.
- In the Members section, click Add.
- Select the users.
- Assign the process roles for the selected users.
- Click Finish.
- Save the project area.
2) Rename the team areas:
- Open the Team Organization view in Eclipse client.
- Double-click the team area that has "rename" in its name , such as "Team 1 (rename)".
- In the Team Area editor, type the team area name.
- Create any other teams as applicable.
- Save the project area.
3) Rename the categories and associate them with project / team areas:
- Open the project area editor.
- Click the Work Item Categories tab.
- In the Categories section, double-click the category names that contain "rename", and replace them with the category names for your organization.
- Add more categories as applicable.
- Map the team areas to work item categories (Filed Against attribute).
- In the left column, select the category for the program. Then, in the right column, select the project. Click Associate.
- Associate any other categories to their respective team areas for one-to-one associations.
- Save the project area.
4) Rename the plans:
- From the web client, click Plans>All Plans.
- Click on the plan to open it and edit the plan name.
- Go back to Plans>All Plans and repeat above step to rename other plans.
5) Optional: Create and assign work items for program initiation activities:
- Click Work Items> Create from Template ...
- Select the Program Initiation template.
- In the Filed Against field, choose the program category for the work items.
- In the Planned For field, choose the first program increment for the work items.
- Click on Create from Template.
6) Create and assign work items for the program increment:
- Click Work Items> Create from Template ...
- Select the Program Increment template.
- In the Filed Against field, choose the program category for the work items.
- In the Planned For field, choose the first program increment for the work items.
- Click Create from Template.
7) The SAFe process template includes calculated scripts for WSJF calculation. To use scripts deployed as process attachments you need to enable this functionality:
- Go to administrative page of your RTC server
- From the left side-bar open Configuration > Advanced Properties
- In the Work Item Component find the Enable Process Attachment Scripts property and set its value to true.
- You may need to restart the server before this takes effect.
For additional guidance on configuring your SAFe environment, refer to the SAFe Template instructions referenced on the IBM SAFe Landing Page .
Program/Team Timeline structure
- Creates aproject timeline, with one top level iteration representing the Agile Release Train, 3 Program Increment – each 10 week long (contains 5 sprints), 5 Sprints per PI – each 2 week long and 1 Backlog iteration
- (Program Name) Timeline [Project Timeline]
- (Program Name) Agile Release Train
- PI1, 10 w duration
- Sprint 1.1, 2 w duration
- Sprint 1.2, 2 w duration
- Sprint 1.3, 2 w duration
- Sprint 1.4, 2 w duration
- Sprint 1.5, 2 w duration
- PI2, 10 w long
- Sprint 2.1, 2 w duration
- Sprint 2.2, 2 w duration
- Sprint 2.3, 2 w duration
- Sprint 2.4, 2 w duration
- Sprint 2.5, 2 w duration
- PI3, 10 w long
- Sprint 3.1, 2 w duration
- Sprint 3.2, 2 w duration
- Sprint 3.3, 2 w duration
- Sprint 3.4, 2 w duration
- Sprint 3.5, 2 w duration
- Backlog
Roles
SAFe Level / SAFe Role / CommentsProgram / Product Manager / The product manager defines and prioritizes the program backlog, develops the vision and roadmap, works with product owners to optimize feature delivery to the customers, and sets PI Objectives. This person has content authority.
Business Analyst / The business analyst defines initiatives (business epics) and determines the impact on the internal and external value streams of the enterprise.
UX Designer / The UX designer works with stakeholders to understand the specific business targets of the user-system interaction. Responsibilities include UI design, UX guidelines, design elements, and the validation of user experience through user-experience testing.
System Architect / The system architect defines a technological vision and implementation scenarios with architectural epics that support the business strategy. This person maintains a high-level understanding of user needs, system requirements, and business benefits for a release train.
Release Train Engineer (Program Manager) / The release train engineer facilitates the agile release train processes and program execution, escalates impediments, manages risk, and drives continuous, program-level improvement. This person also facilitates program events, such as release planning, inspect and adapt, and the scrum of scrums.
Business Owner / The business owner is responsible for the value delivered by a specific ART. This person understands the strategic themes that influence the train, knows about the current business context, has decision-making influence on epics moving through the Kanban systems, is involved in driving or reviewing the program vision and road map, and has a significant role in release planning.
Team
(Scrum based) / Product Owner / The product owner defines and prioritizes the requirements backlog, helps to elaborate those requirements with the team, and accepts completed stories into the baseline. A team has only one product owner, who might be dedicated to one or two teams.
Scrum Master / The scrum master facilitates team interactions and meetings, enforces the rules in a scrum, and helps drive the team's efforts to continuously improve. A team member or a scrum master might have a full- or part-time role that is shared across two or three teams.
Team Member / The team member is usually a developer or tester, but this role might include other roles as well, such as a technical lead, a system architect, or a technical writer. A team normally has five to nine members.
Permissions
Project Configuration Permissions
Activity / Grant PermissionsDashboards >
Save Personal Dashboard / Everyone
Save Project Dashboard / Product Manager
Release Train Engineer
Process>
Save Project Area / Product Manager
Work Items>
Save Attachment > Delete attachment / Product Manager
Release Train Engineer
Save Attachment > Modify attachment / Everyone
Save Category> Modify a work item category / Product Manager
Release Train Engineer
Save Release> Modify release / Product Manager
Release Train Engineer
Team Configuration Permissions
Activity / Grant PermissionsDashboards > Save Team Dashboards / Product Manager
Release Train Engineer
Product Owner
Scrum Master
Team Member
Planning (All) / Product Manager
Release Train Engineer
Scrum Master
Team Member
Process > Generate Team Invitation
Process > Save process Description > Modify process description
Process > Save Team Area
Reports > Deploy Report
Reports > Manage Report Folder
Process > Save process Description > Create process description
Process > Save process Description > Delete process description / Product Manager
Scrum Master
Reports > Display Report / Everyone
Work Items > Delete Query
Work Items > Save Query
Save Work Item
Artifacts
- Program Level
- Program Vision – free format description of the Program Project Area
- Program Backlog / Road map - a new plan type Program Backlog, containing Kanban view, Roadmap, and WSJF Ranked List
- Program PI Objective – PI Objective work item type with a type attribute-indicating itsProgram.
- Program Epic - the “epic type” attribute to indicate whether the Epic work item is Business or Architectural
- Feature – the “feature type” attribute to indicate whether the Feature work item is Business, Architectural or NFR
- Team Level
- Sprint Backlog
- Stories, Tasks, Defects, Risks, Retrospectives
- Team PI Objective – PI Objective work item type with a type attribute indicating its Team.
- Sprint Kanban Board
Work Item Types
SAFe artifacts that require workflow and are used in planning are instantiated as RTC work items. For each SAFe artifact, we have a corresponding work item type which have a set of defined and customized attribute. Each work item type is associated with an Editor Presentation view and a Workflow. Attributes may be re-used across work item types. Descriptions of these artifacts can be found on the Scaled Agile Framework web site.
Work Item Type / RTC ID / NotesPlan Items
Program Epic / com.ibm.team.workitem.workItemType.programEpic / Epics that are constrained to a single train.
Feature / com.ibm.team.workitem.workItemType.feature / Fulfill one or more stakeholder needs. Maintained in the Program Backlog. Can be fit in a Program Increment. Bridge gaps between User Stories (sized to fit in iterations) and Program Epics (which span PIs). Uses Weighted Smallest Job First (WSJF) for continuous prioritization.
Story / com.ibm.team.apt.workItemType.story / Requirements specifications in Agile world. Small, independent behaviors that can be implemented incrementally, each of which provides value to the business. Negotiable and statement of intent rather than a contractually required behavior. Sized to fit in a single iteration.
Execution Items
PI Objective / com.ibm.team.workitem.workItemType.piObjective / Describes the business and technical goals for the upcoming Program Increment of an Agile Release Train. Each team summarizes their specific business and technical objectives for that PI (Team’s PI Objectives), once committed the team’s PI objectives are aggregated into the Program PI Objectives.
Defect / com.ibm.team.workitem.workItemType.defect / A bug, error, flaw in the implementation. Defects related to a Story can be associated with a Story using a parent/child link. Defects and Tasks associated with the Story are shown on the task board.
Task / com.ibm.team.workitem.workItemType.task / Defines a unit of work planned for a sprint and is estimated in hours. Tasks are linked to a Story using a parent/child link.
Retrospective / com.ibm.team.workitem.workItemType.retrospective / Used to capture the findings of the Sprint retrospective meeting.
Risk / com.ibm.team.workitem.workItemType.risk / Identifies an uncertain event, which can negatively affect the project. It includes an assessment of its probability of occurrence and impact.
Custom attributes
Attribute / Data Type / RTC ID / NotesProgram Epic
Epic Type / Epic Type (Enumeration) / com.ibm.team.workitem.attribute.epicType / Architectural, Business
Value Statement / Wiki / com.ibm.team.workitem.attribute.valueStatement / Replaces the Description field in Program Epics
Feature
Feature Type / Feature Type (Enumeration) / com.ibm.team.workitem.attribute.featureType / Architectural, Business, NFR
Program Epic, Feature
Job Size / Job Size (Enumeration) / com.ibm.team.workitem.attribute.jobSize /
- Relative value
- According to SAFe, use a relative scale (like story points): 1, 2, 3, 5, 8, 13, 20
- Could also use “T-Shirt size” (H-M-L, L-M-S)
- Used in WSJF calculation
- Can use the same Data Type for all three but this provides you the flexibility to change the enum values later for each of the WSJF components.
User/Business Value / User/Business Value (Enumeration) / com.ibm.team.workitem.attribute.ubVal
Time Criticality / Time Criticality (Enumeration) / com.ibm.team.workitem.attribute.timeCrit
RR/OE / RROE(Enumeration) / com.ibm.team.workitem.attribute.rroe
WSJF / Integer / com.ibm.team.workitem.attribute.wsjf / Calculated (read-only)
PI Objective
PI Objective Type / PI Objective Tpe (Enumeration) / com.ibm.team.workitem.attribute.piType / Program, Team
Business Value (Planned) / Business Value (Enumeration) / com.ibm.team.workitem.attribute.busValuePlanned / On a scale of 1-10
Business Value (Actual) / com.ibm.team.workitem.attribute.busValueActual
Associated Iteration / Iteration / com.ibm.team.workitem.attribute.associatedIteration
Story
Acceptance Test / Large HTML / com.ibm.team.apt.attribute.acceptance
Story Points / Complexity (Enumeration) / com.ibm.team.apt.attribute.complexity
Risk
Contingency Plan / Large HTML / com.ibm.team.workitem.attribute.contingencyPlan
Exposure(%) / Long / com.ibm.team.workitem.workItemType.risk.exposure
Impact / Impact (Enumeration) / com.ibm.team.workitem.workItemType.risk.impact
Mitigation Plan / Large HTML / com.ibm.team.workitem.attribute.mitigationPlan
Occurrence Date / Timestamp / com.ibm.team.workitem.workItemType.risk.occurrencedate
Probability / Probability (Enumeration) / com.ibm.team.workitem.workItemType.risk.probability
Risk Category / Risk Category (Enumeration) / com.ibm.team.workitem.workItemType.risk.riskcategory
Program Epic
- Value Statement - used to capture, organize and communicate key information about an epic. This is developed in the Kanban Review state and contains enough information to discuss the proposed initiative. Pre-configured with free-form text Value Statement entry field (in place of Description) with text that reminds the creator of what to specify.