templates/plan.erb (59 lines of code) (raw):
This is an asynchronous retrospective for <%= release %>. It's private to the
<%= team.name %> group, plus anyone else that worked with the group during
<%= release %>. This retrospective will be following the process described at
https://about.gitlab.com/handbook/engineering/management/group-retrospectives/
Please feel free to honestly describe your thoughts and feelings about working
on that release below.
Please look at back at your experiences working on this release, ask yourself
**:star2: what praise do you have for the group?**,
**:+1: what went well this release?**, **:-1: what didn’t go well this
release?**, and **:chart_with_upwards_trend: what can we improve going
forward?**, and honestly describe your thoughts and feelings below.
For each point you want to raise, please create a **new discussion** with the
relevant emoji, so that others can weigh in with their perspectives, and so that
we can easily discuss any follow-up action items in-line.
(If there is something you are not comfortable sharing, message your manager
directly. But note that 'Emotions are not only allowed in retrospectives, they
should be encouraged', so we'd love to hear from you here if possible.)
<% if updating_description %>
## Issues we shipped
Deliverables (closed issues with ~Deliverable label for <%= release %> milestone):
<% grouped_deliverables = deliverables.group_by { |i| i['labels'].detect { |l| l =~ /group\:\:/ } || 'No group' } %>
<% grouped_deliverables.each do |group_name, issues| %>
### <%= group_name %>
<% issues.each do |issue| %>
1. <%= issue.dig('references', 'full').to_s + '+' %>
<% end %>
<% end %>
<% if deliverables.empty? %>
No deliverables
<% end %>
[All closed issues] (within <%= release %> milestone)
## [Issues that slipped]
Deliverables (slipped issues with ~Deliverable label for <%= release %> milestone):
<% grouped_slipped_issues = slipped.select { |i| i['labels'].include?('missed-deliverable') }.group_by { |i| i['labels'].detect { |l| l =~ /group\:\:/ } || 'No group' } %>
<% grouped_slipped_issues.each do |group_name, issues| %>
### <%= group_name %>
<% issues.each do |issue| %>
1. <%= issue.dig('references', 'full').to_s + '+' %>
<% end %>
<% end %>
<% if slipped.empty? %>
No missed issues for <%= release %> found; great job!
<% end %>
- Total deliverables closed: <%= deliverables.headers['X-Total'] %>
- Total issues closed: <%= issue_count %>
- Total MRs merged: <%= merge_request_count %>
## Say/Do Ratios
Say/Do Ratio measures how engineering teams perform against their commitments. It compares the number of items committed to during a milestone to the number actually delivered.
It is available in [this dashboard](https://app.periscopedata.com/app/gitlab/658030/Say-Do-Ratios). Ensure you filter it by stage: Plan.
<%= include_template.call('follow_up_issues') %>
[All closed issues]: https://gitlab.com/<%= "#{issue_url_prefix}" %>state=closed&label_name[]=<%= ERB::Util.url_encode(team.label) %>&milestone_title=<%= release %>
[Issues that slipped]: https://gitlab.com/<%= "#{issue_url_prefix}" %>label_name[]=<%= ERB::Util.url_encode(team.label) %>&label_name[]=missed%3A<%= release %>&label_name[]=missed-deliverable
[Open follow-up issues from previous retros]: https://gitlab.com/gl-retrospectives/<%= team.project %>/issues?label_name[]=follow-up
<%= include_template.call('vsa_references') %>
<% else %>
/label ~retrospective
/due <%= due_date %>
/assign <%= mention_owners %>
<% end %>