What?
- What does this add or solve?
Why?
- Why is it necessary to add this?
- Why is its absence an issue?
- How cool is it (for feature addition)?
How?
- How does this work?
- What part of the existing code base could it possibly break?
- How much more complex does it make the code base?
- What dependencies does it bring?