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 %>