
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
Use when implementing any feature or bugfix, before writing implementation code
Clarify requirements before implementing. Use when serious doubts arise.
Use when you have a written implementation plan to execute