Skip to content

Commit e0422ed

Browse files
authored
Project planning 2025-2026 (#47)
* WIP - 2025-2026 project planning * 2025-2026 project planning
1 parent c4ca3ce commit e0422ed

File tree

1 file changed

+101
-0
lines changed

1 file changed

+101
-0
lines changed
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# The Basics of Software Project Planning
2+
3+
Why are we planning at all?
4+
5+
- Helps break down a large project into manageable pieces
6+
- Helps prioritise important features (and deprioritise unnecessary ones)
7+
- Enables your team to complete work in parallel
8+
9+
## Approach
10+
11+
Top-down approach:
12+
13+
1. Goals
14+
2. Personas
15+
3. User journey
16+
4. Writing tickets
17+
1. Features
18+
2. Sub-tasks
19+
3. Bugs
20+
21+
Not strictly linear.
22+
23+
## Goals
24+
25+
What are you trying to achieve?
26+
27+
- Portfolio projects: want to showcase skills (needs to look good)
28+
- Solving a problem: want to help users in some way
29+
30+
What is out of scope?
31+
32+
(Hint: For an MVP, don't worry about cybersecurity, performance, accessibility, etc.)
33+
34+
## Personas
35+
36+
Who are you building this for?
37+
38+
Common personas:
39+
40+
- Users
41+
- Client (if applicable)
42+
- Developers (you and your team)
43+
44+
## User Journey
45+
46+
Once you've identified personas, features naturally take a user story format:
47+
48+
> "As a [persona], I want [feature], so that [benefit]."
49+
50+
You should do some research here - look at similar applications.
51+
52+
Good to do some light wireframing here - sketch out the pages of your application.
53+
54+
## Writing Tickets
55+
56+
Recommend breaking down work into vertical slices (as explained below).
57+
58+
Alternatively, can break down tasks into horizontal layers first (frontend/backend/database), but this can lead to bottlenecks.
59+
60+
### Features
61+
62+
Normally 1 user story per feature ticket, but may occasionally have a few user stories per feature.
63+
64+
Define "Acceptance Criteria" for each ticket. Example format:
65+
66+
> - MUST be able to [action]
67+
> - MUST NOT be able to [action]
68+
> - SHOULD have tests
69+
70+
### Sub-tasks
71+
72+
- UX/UI Design (Figma, etc)
73+
- Frontend Implementation
74+
- Backend APIs
75+
- Database Modelling
76+
- Deployment
77+
78+
### Bugs
79+
80+
Take the format:
81+
82+
> Steps to reproduce:
83+
> 1. [Step one]
84+
> 2. [Step two]
85+
> ...
86+
>
87+
> Expected result:
88+
> [What you expected to happen]
89+
>
90+
> Actual result:
91+
> [What actually happened]
92+
>
93+
> Extra info:
94+
> [Browser, error logs, etc]
95+
96+
## Some parting advice
97+
98+
- Everything that I've said is advice, not rules
99+
- Revisit your goals often
100+
- Done is better than perfect
101+
- AI is a trap for defining goals & requirements

0 commit comments

Comments
 (0)