Skip to content

Commit 55676bf

Browse files
Merge pull request #37 from TechnologyEnhancedLearning/chore/add-ux-issue-templates
Chore/add ux issue templates
2 parents b47e273 + 7869e54 commit 55676bf

File tree

7 files changed

+368
-0
lines changed

7 files changed

+368
-0
lines changed

.github/ISSUE_TEMPLATE/README.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Git Issues
2+
3+
The main goal of applying this structure is to capture UX work outside the standard delivery stream. As a UX team, this allows us to group, prioritise, and assign appropriate priority to our work. It enables us to feed into the main work stream while also tracking and planning UX activity independently.
4+
5+
One issue we face is that it’s hard to track changes we’ve established to have a beneficial impact. These are often obscured by the “completion” of a project, which tends to leave valuable UX work in a dark corner gathering dust. This approach aims to increase UX maturity within the team and allow us to refocus on UX work items that don’t always get picked up in initial delivery cycles.
6+
7+
---
8+
9+
## Summary structure
10+
11+
UX activities are broken down using a simple, clear hierarchy with **three levels of issues**:
12+
13+
1. **Top level (Epic / Design Brief)** – the big-picture item that guides the work
14+
- Overarching goal or project
15+
2. **Mid level (Task / Research / Iterative Testing)** – breaks the work into manageable activities
16+
3. **Smaller steps (Actions / Supporting documentation)** – specific, actionable work items
17+
18+
---
19+
20+
## Issue structure
21+
22+
- “Project brief” or “Problem” → “Activity” → “Actions”
23+
- Example labels: `epic`, `task`, `sub-task`
24+
25+
---
26+
27+
### Level 1
28+
**Project brief** – business case, design brief, or epic
29+
- Labels: `["Project", "UX", "Brief"]`
30+
- What
31+
- Why
32+
- Summary goals
33+
- Business need
34+
- MVP
35+
- MVP+
36+
- What success looks like
37+
- Does this tie back to the roadmap? (Y/N)
38+
39+
**Problem** – a level 1 or 2 item; a problem can exist independently of a project brief.
40+
- A simple “what / why” problem statement that also defines users and scope.
41+
- Labels: `["UX", "Problem", "Activity"]`
42+
- Scope
43+
- Users
44+
- Evidence
45+
46+
---
47+
48+
### Level 2
49+
**Problem** – a level 1 or 2 item
50+
**Activity**
51+
- Labels: `["UX", "Activity"]`
52+
53+
---
54+
55+
### Level 3
56+
**Documentation**
57+
- Component
58+
- Findings
59+
- Observation
60+
61+
**UX Action**
62+
- What needs doing?
63+
- Type / category
64+
- Notes (optional)
65+
66+
---
67+
68+
## Notes and follow-up actions
69+
- Consider whether there should be an “activity” type that is not a problem statement or hypothesis.
70+
- Add level 3 “Pain point” and “Step” issue types.
71+
- Add issue types for documentation, including: generic, component, and findings.
72+
- Add a “ux-testing-plan” template to help build consistent testing plans.
73+
- Check whether we should list services as labels and provide them via issues.
74+
- Investigate best practices for design iteration cycles.

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: 🐞 Bug
2+
description: File a bug/issue
3+
title: "[Bug]: <title>"
4+
labels: ["bug 🐞"]
5+
body:
6+
- type: checkboxes
7+
attributes:
8+
label: Is there an existing issue for this?
9+
description: Please search to see if an issue already exists for the bug you encountered.
10+
options:
11+
- label: I have searched the existing issues
12+
required: true
13+
- type: textarea
14+
attributes:
15+
label: Current Behavior
16+
description: A concise description of what you're experiencing.
17+
validations:
18+
required: false
19+
- type: textarea
20+
attributes:
21+
label: Expected Behavior
22+
description: A concise description of what you expected to happen.
23+
validations:
24+
required: false
25+
- type: textarea
26+
attributes:
27+
label: Steps To Reproduce
28+
description: Steps to reproduce the behavior.
29+
placeholder: |
30+
1. In this environment...
31+
1. With this config...
32+
1. Run '...'
33+
1. See error...
34+
validations:
35+
required: false
36+
- type: textarea
37+
attributes:
38+
label: Environment
39+
description: |
40+
examples:
41+
- **OS**: Ubuntu 20.04
42+
- **Node**: 13.14.0
43+
- **npm**: 7.6.3
44+
value: |
45+
- OS:
46+
- Node:
47+
- npm:
48+
render: markdown
49+
validations:
50+
required: false
51+
- type: textarea
52+
attributes:
53+
label: Anything else?
54+
description: |
55+
Links? References? Anything that will give us more context about the issue you are encountering!
56+
57+
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
58+
validations:
59+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: NHSE Technology Enhanced Learning (TEL) Design System
4+
url: https://technologyenhancedlearning.github.io/tel-frontend/
5+
about: The TEL Design system is based on the NHS Design System.
6+
- name: NHS Service manual
7+
url: https://service-manual.nhs.uk/
8+
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: "🐳 UX Project brief"
2+
description: "Capture a problem or opportunity, service gap, wide reaching issue, or UX debt accompanied by supporting information and desired outcomes."
3+
title: "[Project]: <title>
4+
labels: ["ux ✍️", "project 🐳", "brief 🖍️"]
5+
body:
6+
- type: textarea
7+
id: what
8+
attributes:
9+
label: "What is the problem or opportunity?"
10+
description: "Describe from the user's perspective. Focus on what’s happening, not solutions."
11+
placeholder: "Users abandon the appointment form when asked to confirm their NHS number."
12+
validations:
13+
required: true
14+
- type: textarea
15+
id: why
16+
attributes:
17+
label: "Why does this matter?"
18+
description: "Explain the impact on users, staff, or service outcomes."
19+
placeholder: "Confusion at this step increases incomplete submissions and call volume."
20+
validations:
21+
required: true
22+
- type: dropdown
23+
id: scope
24+
attributes:
25+
label: "Scope"
26+
description: "Is this local to one journey or systemic across patterns or services?"
27+
options:
28+
- "Single page"
29+
- "A short multi-step process"
30+
- "A complex multi-step process or transactional journey"
31+
- "Site wide or service level (a large and wide reaching issue, it's big)"
32+
validations:
33+
required: true
34+
- type: checkboxes
35+
id: users
36+
attributes:
37+
label: "Who is affected?"
38+
options:
39+
- label: "Learners"
40+
- label: "Content creators"
41+
- label: "Admins"
42+
- label: "Support"
43+
- label: "Front-line staff"
44+
- label: "First-time, new user"
45+
- label: "Low digital literacy users"
46+
- type: textarea
47+
id: goals
48+
attributes:
49+
label: "Summary goals"
50+
description: "Concisely list out the main goals for this project."
51+
validations:
52+
required: true
53+
- type: textarea
54+
id: business
55+
attributes:
56+
label: "Business needs"
57+
description: ""
58+
validations:
59+
required: false
60+
- type: textarea
61+
id: mvp
62+
attributes:
63+
label: "MVP"
64+
validations:
65+
required: false
66+
- type: textarea
67+
id: mvpplus
68+
attributes:
69+
label: "MVP Plus + 🌟 (feel free to imagine this in chromatic text)"
70+
validations:
71+
required: false
72+
- type: textarea
73+
id: success
74+
attributes:
75+
label: "What does success look like"
76+
validations:
77+
required: false
78+
- type: checkboxes
79+
id: roadmap
80+
attributes:
81+
label: "Does this tie back to the roadmap y/n"
82+
options:
83+
- label: "Yes"
84+
- label: "No"
85+
validations:
86+
required: true
87+
- type: textarea
88+
id: success
89+
attributes:
90+
label: "If yes, how does this tie back to the roadmap?"
91+
validations:
92+
required: false
93+
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: "⚡️ UX Action"
2+
description: "Capture a small, specific UX task linked to a broader brief or task."
3+
title: "[Action]: <title>"
4+
labels: ["ux ✍️", "action ⚡️"]
5+
body:
6+
- type: textarea
7+
id: action
8+
attributes:
9+
label: "What needs doing?"
10+
description: "Keep this concise and actionable — a single piece of work."
11+
validations:
12+
required: true
13+
- type: dropdown
14+
id: category
15+
attributes:
16+
label: "Type"
17+
options:
18+
- "Design"
19+
- "Content"
20+
- "Accessibility"
21+
- "Research"
22+
- "Documentation"
23+
validations:
24+
required: true
25+
- type: textarea
26+
id: notes
27+
attributes:
28+
label: "Notes"
29+
description: "Any context, links, dependencies, etc."
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: "🦩 UX activity"
2+
description: "Capture a specific UX activity — content, design, research, testing or iteration — linked to a project brief or problem."
3+
title: "[Activity]: <title>"
4+
labels: ["ux ✍️", "activity 🦩"]
5+
6+
body:
7+
- type: textarea
8+
id: objective
9+
attributes:
10+
label: "Objective"
11+
description: "What’s the purpose of this task?"
12+
placeholder: "Validate revised confirmation step with low-vision users."
13+
validations:
14+
required: true
15+
16+
- type: textarea
17+
id: details
18+
attributes:
19+
label: "Description / approach"
20+
description: "Describe what will be done, including design or research details as needed."
21+
placeholder: "Update CSS tokens for focus rings. Test using NVDA and keyboard-only navigation."
22+
validations:
23+
required: true
24+
25+
- type: dropdown
26+
id: category
27+
attributes:
28+
label: "Category"
29+
description: "Choose the type of UX work this action represents."
30+
options:
31+
- "Design"
32+
- "Content"
33+
- "Accessibility"
34+
- "Research"
35+
- "Testing"
36+
- "Documentation"
37+
- "Prototype"
38+
- "Frontend component"
39+
- "Other"
40+
validations:
41+
required: true
42+
43+
- type: textarea
44+
id: notes
45+
attributes:
46+
label: "Notes"
47+
description: "Any context, links, dependencies, etc."
48+
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: "🔮 UX Problem / Opportunity"
2+
description: "Capture a problem or opportunity, service gap, wide reaching issue, or UX debt accompanied by supporting information and desired outcomes."
3+
title: "[Problem]: <title>"
4+
labels: ["ux ✍️", "problem 🔮", "activity 🦩"]
5+
body:
6+
- type: textarea
7+
id: what
8+
attributes:
9+
label: "What is the problem or opportunity?"
10+
description: "Describe from the user's perspective. Focus on what’s happening, not solutions."
11+
placeholder: "Users abandon the appointment form when asked to confirm their NHS number."
12+
validations:
13+
required: true
14+
- type: textarea
15+
id: why
16+
attributes:
17+
label: "Why does this matter?"
18+
description: "Explain the impact on users, staff, or service outcomes."
19+
placeholder: "Confusion at this step increases incomplete submissions and call volume."
20+
validations:
21+
required: true
22+
- type: dropdown
23+
id: scope
24+
attributes:
25+
label: "Scope"
26+
description: "Is this local to one journey or systemic across patterns/services?"
27+
options:
28+
- "Single page"
29+
- "A short multi-step process"
30+
- "A complex multi-step process or transactional journey"
31+
- "Site wide or service level (a large and wide reaching issue, it's big)"
32+
validations:
33+
required: false
34+
- type: checkboxes
35+
id: users
36+
attributes:
37+
label: "Who is affected?"
38+
options:
39+
- label: "Learners"
40+
- label: "Content creators"
41+
- label: "Admins"
42+
- label: "Support"
43+
- label: "Front-line staff"
44+
- label: "First-time / new user"
45+
- label: "Low digital literacy users"
46+
- type: textarea
47+
id: supporting
48+
attributes:
49+
label: "Supporting information"
50+
description: "Add any insights, evidence, desktop research or assumptions that help define the problem."
51+
validations:
52+
required: false
53+
- type: textarea
54+
id: notes
55+
attributes:
56+
label: "Notes"
57+
description: "Any context, links, dependencies, etc."

0 commit comments

Comments
 (0)