# What is question-driven development?
Wed Apr 14 2021
Question-driven development is a technique I use to manage context-switching and getting "unstuck" in software development tasks.
It consists of a list of questions I have about a task which I tick off when I find the answers to them.
Here is an example for a task I recently did:
- [x] How do Twitter handles get saved?
- Also as a `Contact`, but with the `Twitter` type.
- [x] What other contact types are there?
- youtube: 1
- linkedin: 3
- facebook: 4
- [x] Types to add:
- [x] twitter
- [x] facebook
- [x] linkedin
- [x] Add `voice` to `cell` and `phone` numbers
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Usually it ends up being a combination of a list of questions and a to do list.
It serves the purpose of:
- Breaking a task down into manageable steps.
- Identifying what uncertainties I have about a task.
- Making progress with a task even when I don't have the full solution yet.
- Keeping track of what I've investigated so far (especially useful when doing bug investigations!).
- Reminding me where I was after context-switching.
- Reminding me why I made certain decisions.
Newsletter
If you'd like to subscribe to my blog, please enter your details below. You can unsubscribe at any time.